siemens’ 4 view model

17
Siemens’ 4 View Model (props to My-An Nguyen for giving me her 344 notes on which this lecture is based)

Upload: varden

Post on 11-Feb-2016

75 views

Category:

Documents


0 download

DESCRIPTION

Siemens’ 4 View Model. (props to My-An Nguyen for giving me her 344 notes on which this lecture is based). Conceptual View Activities. Central design tasks. Create conceptual… components, connectors, ports, roles, protocols. configuration. Global evaluation. Final design task. - PowerPoint PPT Presentation

TRANSCRIPT

Siemens’ 4 View Model

(props to My-An Nguyen for giving me her 344 notes on which this

lecture is based)

Conceptual View Activities

• Central design tasks. – Create conceptual…

• components, connectors, ports, roles, protocols. • configuration.

– Global evaluation. • Final design task.

– Software resource budgeting (memory, CPU time, …).

What is a Module Definition

• Think of it as a UML package. • Does not imply that code will be non-

Object-Oriented.

• In execution view, will eventually “hold” either Object-Oriented (classes, …) or non-Object-Oriented code.

Module View Activities

• Central design tasks. – Definition of subsystems, layers, modules. – Allocation of conceptual elements to the

above. – Global evaluation.

• Final design task. – Design of (key) module interfaces – Operations (name, signature

Execution View Definition• Define / perform …

– Mapping of conceptual components and modules to run-time entities.

– Run-time entities: e.g. tasks, processes, threads. – o Communication paths & mechanisms. – o Configuration. – o Resource allocation.

• We are concerned with non-trivial views – Trivial Execution View = software that uses a single

thread and process.

Execution View Activities

• Central design tasks. – Define run-time entities, communication

paths, execution configuration. – (Global evaluation)

• Final design task. – Resource allocation.

Code View Definition (1)

• Define / perform … – Mapping of modules from the Module View to

source components – Mapping of run-time entities from the

Execution View to deployment components – Define intermediate components;

dependencies. – Organization of these components. – Build and Configuration Management.

Code View Definition (2)

• Key words: – Source components. – Intermediate components. – Deployment components. – Dependencies between components.

• We are concerned with non-trivial views – Trivial Code View = software with a single executable

and a small development team. The Code View will then mimic the Module View.

Code View Activities

• Central design tasks. Define & organize … – Source Components (& dependencies). – Intermediate Components (& dependencies). – Deployment Components (& dependencies). – (Global evaluation)

• Final design task: – Build procedure. – Configuration management.

Code View (common complaints)

• Consider what if… – Customer X has a problem with their release

that was last built in October, then patched in December and January. You need to run tests to confirm the problem.

– The Probe S/W team has just issued a new release, you need to integrate and test …

• The Code View contains architectural decisions concerning the code!

IS2000 (look familiar?)

Case study (1)IS2000 Execution and Code View – Global Analysis

• The few strategies applicable to the Execution View:

• Issue: Skill Deficiencies – Strategy: Avoid use of multiple threads. – Strategy: Encapsulate multiprocess support

facilities. • Key concern for view: performance.

Case study (2)IS2000 Execution and Code View – Global Analysis

• Introduce new issue: High Throughput – Probe has higher data rate than previous

products. – Image processing must keep up with probe. – Solutions/Strategies:

• Map independent threads of control to processes. However, there was only one developer with experience in multithreading and the cost of creating/destroying processes is low.

• Use an additional CPU. • Avoid the use of multiple threads.