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

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

Embed Size (px)

Citation preview

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

Siemens’ 4 View Model

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

lecture is based)

Page 2: Siemens’ 4 View Model (props to My-An Nguyen for giving me her 344 notes on which this lecture is based)
Page 3: Siemens’ 4 View Model (props to My-An Nguyen for giving me her 344 notes on which this lecture is based)
Page 4: 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, …).

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

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.

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

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

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

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.

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

Execution View Activities

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

paths, execution configuration. – (Global evaluation)

• Final design task. – Resource allocation.

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

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.

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

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.

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

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.

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

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!

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

IS2000 (look familiar?)

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

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.

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

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.