Download presentation
Presentation is loading. Please wait.
Published byMae Randall Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.