University of Paderborn Software Engineering Group
University of Paderborn Software Engineering Group
Outline
Software Engineering for Software-Intensive Systems: VIII Summary and Outlook Assistant Professor Dr. Holger Giese Software Engineering Group Room E 3.165 Tel. 6060-3321 Email:
[email protected]
I Introduction II Foundations III The Development Life Cycle IV Requirements V Analysis & Design VI Implementation VII Verification & Validation VIIISummary and Outlook Holger Giese
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
University of Paderborn Software Engineering Group
VIII-2
University of Paderborn Software Engineering Group
VIII Summary and Outlook
Who is involved in SIS?
VIII.1 Summary VIII.2 Outlook VIII.3 Bibliography
Application Domains : Automotive, Transportation, Avionics, Space missions, Medicine technique, Industrial automation, Telecommunication, … System Characteristics: Reactive systems, Real-time systems, Continuous/discrete/hybrid systems, Embedded systems, Dependable systems, Distributed systems Involved disciplines (need for integration): System Engineering, Control Engineering, Software Engineering, Other Relevant Disciplines
Holger Giese
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
VIII-3
Holger Giese
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
University of Paderborn Software Engineering Group
University of Paderborn Software Engineering Group
How are the different activities related?
How can we model SIS?
[Cooling2002]
Structure: Block Diagrams, Class Diagrams, Component Diagrams, … Real world model
Properties: Safety (nothing bad happens), liveness (something good happens), stability (small initial differences small differences over time), controlability (ability to move a system to a required state), observability (can the internal state be inferred by knowledge of its external outputs) WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
user requirements
VIII-5
computational model
Behavior: Automata/State Machine, Timed Automata, Continuous Behavior, Hybrid Automata, Hybrid Reconfiguration Automata, Petri Nets, Graph Transformation Systems
Holger Giese
VIII-4
textual requirements analysis
V&V
descriptive model
design + construction
[Cooling2002]
constructive model implementation V & V implementation deploy
V&V
deployment
Holger Giese
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
VIII-6
1
University of Paderborn Software Engineering Group
University of Paderborn Software Engineering Group
How does the process look like?
What can be used for Requirement?
Current Proposals:
Platform Independent Model (PIM)
Application Space
Application Instance
Platform Mapping
Platform Specific Model (PSM)
System Platform Design-Space Export
Platform
Code (+ Platform, …)
MDA Holger Giese
Platform Instance Architectural Space
Y-Model
Textual Document Requirement Diagrams (SysML) Use Case Diagrams (UML/SysML) Scenarios: SD or AD (UML/SysML) Hierarchies of goals …
Platform-Based Design
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
VIII-7
Holger Giese
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
University of Paderborn Software Engineering Group
What can be used for Analysis/Design? Analysis: Functional structuring Data flow structuring Object structuring input
desired value
output
Process
Control
control
application framework
How can we implement it?
Discrete behavior (untimed): trivial Discrete behavior (timed): either synchronous hypothesis or synthesis problem (period) Continuous behavior: approximation via Euler, Heun, Runge-Kutta, … x’(t+∆) error
Reference Data Pattern
Shuttle1:
libraries Shuttle 1
operating system
Holger Giese
University of Paderborn Software Engineering Group
Advanced Design Concepts Software Pattern Software Architectures Toolkits & Frameworks Mechatronic UML
:Registry
Application code
Design: Functional structuring Data flow structuring Object structuring Components (explicit interfaces & independent deployable) Agents (autonomous, situated in context, reactive, proactive)
x’(t)
x(t)
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
VIII-9
Holger Giese
x(t+∆)
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
University of Paderborn Software Engineering Group
Requirements Top-level design Detailed design Implementation Integration testing System validation
Dynamic analysis
X X X
VIII-10
University of Paderborn Software Engineering Group
VIII Summary and Outlook
How can we guarantee Quality (V & V)? Life cycle phase
VIII-8
VIII.1 Summary VIII.2 Outlook VIII.3 Bibliography
Static Modelling analysis X X X X X X X X X X [Storey1996]
Holger Giese
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
VIII-11
Holger Giese
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
VIII-12
2
University of Paderborn Software Engineering Group
Outlook
VIII.2 Outlook
Software is today the bottleneck in productivity (especially for embedded systems) Model-driven development and improved automation Complex supply chains have to be supported Standardization and more powerful notions of interfaces (timing, safety, resource usage, …)
Holger Giese
University of Paderborn Software Engineering Group
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
Act in highly dynamic environments adaptive and anticipatory behavior; change their structure dynamically. Networking with other systems and serviceoriented and pervasive computing Concepts for the integration of local and distributed processing are required! Hybrid Behavior is often not robust Improved analysis techniques are required!
Finally: Many competent SWE people are required! VIII-13
Holger Giese
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
VIII-14
University of Paderborn Software Engineering Group
VIII.3 Bibliography [Cooling2002] Jim Cooling, Software Engineering for Real-time Systems. Addison Wesley, November 2002 [Storey1996] N. Storey. Safety-Critical Computer Systems. AddisonWesley, 1996.
Holger Giese
WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook
VIII-15
3