Siemens 4 View Model props to MyAn Nguyen

  • Slides: 17
Download presentation
Siemens’ 4 View Model (props to My-An Nguyen for giving me her 344 notes

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,

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. •

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. –

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

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

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

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

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

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

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!

IS 2000 (look familiar? )

IS 2000 (look familiar? )

Case study (1) IS 2000 Execution and Code View – Global Analysis • The

Case study (1) IS 2000 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) IS 2000 Execution and Code View – Global Analysis • Introduce

Case study (2) IS 2000 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.