Siemens’ 4 View Model
description
Transcript of Siemens’ 4 View Model
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!
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.