Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Quality and Safety Pascal Mbayiha.  software engineering  large, complex systems  functionality, changing requirements  development difficult.

Similar presentations


Presentation on theme: "Software Quality and Safety Pascal Mbayiha.  software engineering  large, complex systems  functionality, changing requirements  development difficult."— Presentation transcript:

1 Software Quality and Safety Pascal Mbayiha

2  software engineering  large, complex systems  functionality, changing requirements  development difficult task  structures, interactions, dependencies...  fighting complexity  principle of separation of concerns 18.07.20082 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

3 Pascal Mbayiha  general idea  component-based system  consider different views isolated first  local solution, complete system understandable  compose parts  overall system design or implementation 18.07.20083 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

4 Pascal Mbayiha  component  elemental building block  communication via contracts (interfaces)  behavior-related 18.07.20084 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

5 Pascal Mbayiha  contract  assumed and guaranteed characteristics  available operations  valid interaction sequences 18.07.20085 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

6 Pascal Mbayiha 18.07.20086 separation of non-orthogonal concerns in software architecture and design  composition of concerns (structural) Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

7 Pascal Mbayiha 18.07.20087 separation of non-orthogonal concerns in software architecture and design  composition of concerns (behavioural) Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

8 Pascal Mbayiha  Floor Plan of an assembly line 18.07.20088 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

9 Pascal Mbayiha  Production chain view and contract SimpleProcess 18.07.20089 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

10 Pascal Mbayiha  machine control view and contract Control 18.07.200810 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

11 Pascal Mbayiha  Monitoring view and contract Monitor 18.07.200811 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

12 Pascal Mbayiha  composition rules: 1. component in one particular architectural view  sufficient to add it to the composite structure  update dependency relations 2. component in multiple views with distinct contracts  set of contracts is the union of all original  rearrange dependencies if interaction partner has changed 18.07.2008 separation of non-orthogonal concerns in software architecture and design12 Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

13 Pascal Mbayiha  Structural composition Machine 18.07.200813 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

14 Pascal Mbayiha  easy if contracts are orthogonal  the usage of a contract provided by a given component will never effect clients which uses other contracts of the same component 18.07.200814 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

15 Pascal Mbayiha  Restriction := ¬([StandBy] ∃ ∧ [Work ∩ Control] ∃ )  for the Control contract – in stand-by, no other contracts should offer substantial work operations 18.07.200815 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

16 Pascal Mbayiha  Behavior has to be: 1.contract conform  fulfils all contracts 2.restriction conform  no states witch violates restrictions 3.protocol conform  desirable behavior still available  deleted states and transitions  Otherwise:  resolve detected conflict  redesign 18.07.200816 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

17 Pascal Mbayiha  needed Input:  restrictions and two transition systems  composition of SimpleProcess and Control  restriction:  in Control state Off only provide the transition warmUp within the category Modifier  a machine in state StandBy is designed to allow no activity classified as Work 18.07.200817 separation of non-orthogonal concerns in software architecture and design R C := ¬ (([Off] ∃ ∧ [Modifier ∩ Control] ∃ ) ∨ ([StandBy] ∃ ∧ [Work ∩ Control] ∃ )) Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

18 Pascal Mbayiha 18.07.200818 separation of non-orthogonal concerns in software architecture and design Free P rocessing Stand By Off Running register deRegister warmUp start stop shutDown F+O P+O F+S F+R P+S P+R R C := ¬ (([Off] ∃ ∧ [Modifier ∩ Control] ∃ ) ∨ ([StandBy] ∃ ∧ [Work ∩ Control] ∃ )) putPart // compute the complete parallel product S // test all states for compliance with Restrictions // remove s from S if the restrictions are violated // repeat until S has stabilized or Q becomes empty // remove all non protocol-conform (s1, s2) from S Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

19 Pascal Mbayiha 18.07.200819 separation of non-orthogonal concerns in software architecture and design  redesign Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective R P := ¬ (([Halted] ∃ ∧ [Regular ∩ Process] ∃ ) ∨ ([Processing] ∃ ∧ [Regular ∩ Process] ∃ ))

20 Pascal Mbayiha 18.07.200820 separation of non-orthogonal concerns in software architecture and design Free P rocessing Stand By Off Running register deRegister warmUp start stop shutDown H+O H+S F+O P+O F+S F+R R P := ¬ (([Halted] ∃ ∧ [Regular ∩ Process] ∃ ) ∨ ([Processing] ∃ ∧ [Regular ∩ Process] ∃ )) putPart Halted Stopped H+R S+O S+S P+S P+R S+R deRegister // compute the complete parallel product S // test all states for compliance with both Restrictions // remove s from S if the restrictions are violated // repeat until S has stabilized or Q becomes empty // remove all non protocol-conform (s1, s2) from S R C := ¬ (([Off] ∃ ∧ [Modifier ∩ Control] ∃ ) ∨ ([StandBy] ∃ ∧ [Work ∩ Control] ∃ )) Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

21 Pascal Mbayiha  check state by state  combine multiple contracts simultaneous  symbolic representation of labeled transitions  efficient encoding of state space, transitions  efficient reachability analysis with symbolic techniques  handle more complex composition problems with multiple, moderately large architectural views 18.07.200821 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

22 Pascal Mbayiha  specification without real-time  in reality real-time behavior  every thing need time  expand the approach 18.07.200822 separation of non-orthogonal concerns in software architecture and design Introduction | basic concepts | structural composition | behavioral composition | synthesis algorithm | perspective

23 Pascal Mbayiha 18.07.2008 separation of non-orthogonal concerns in software architecture and design23

24 Pascal Mbayiha  A Methodology for Specifying and Analyzing Consistency of Object-Oriented Behavioral Models  consistency for each protocol and components  specify all statecharts completely before a consistency check  Presented approach:  the connection between components to be consistent  test all protocols and additional restrictions 18.07.200824 separation of non-orthogonal concerns in software architecture and design

25 Pascal Mbayiha  a set offers(s) := {a ∈ A|∃s’ ∈ S : s[a>s} denotes the labels of all available steps from a given state s.  For a general composition of multiple contracts, it is required to respect the two different forms of contract transitions.  The regular behavior of one contract, as specified by its labelled transitions, has to be combined with the reflexive and transitive closure of the τ steps of the other ones. 18.07.200825 separation of non-orthogonal concerns in software architecture and design

26 Pascal Mbayiha  Symbolic encoding 18.07.200826 separation of non-orthogonal concerns in software architecture and design


Download ppt "Software Quality and Safety Pascal Mbayiha.  software engineering  large, complex systems  functionality, changing requirements  development difficult."

Similar presentations


Ads by Google