How are the different activities related?

3 downloads 3609 Views 277KB Size Report
Email: [email protected]. WS05/06 – Software Engineering for Software-Intensive Systems – VIII Summary and Outlook ... Medicine technique, Industrial automation,.
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