Siemens' 4 View Model

advertisement
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 nonObject-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.
Download