Topic Area Requirements Engineering: Content Content VL 6 • Introduction • LSCs: Automaton Construction • Requirements Specification • Excursion: Symbolic Büchi Automata Softwaretechnik / Software-Engineering • Desired Properties • LSCs vs. Software • Kinds of Requirements • Methodology • Analysis Techniques Lecture 10: Req. Eng. Wrap-Up / . • Requirements Engineering with scenarios . . • Documents • Strengthening scenarions into requirements Architecture & Design • Dictionary, Specification • Requirements Engineering Wrap-Up • Specification Languages • Natural Language Topic Area Architecture & Design 2017-06-22 • Decision Tables VL 7 • Syntax, Semantics . . • Vocabulary . • Completeness, Consistency, ... • (software) system, component, module, interface Prof. Dr. Andreas Podelski, Dr. Bernd Westphal • Scenarios VL 8 • design, architecture . • User Stories, Use Cases . . • Software Modelling • Live Sequence Charts Albert-Ludwigs-Universität Freiburg, Germany – 10 – 2017-06-22 – Sblockcontent – VL 9 – 10 – 2017-06-22 – Scontent – • Syntax, Semantics • model – 10 – 2017-06-22 – main – . . • views & viewpoints, the 4+1 view . • Definition: Software & SW Specification VL 10 • model-driven software engineering . . • Wrap-Up . 2 /60 3 /60 TBA Construction Principle Loop Condition Progress Condition “Only” construct the transitions’ labels: � loop ( q ) = � Msg ( q ) � � LocInv ( q ) � � LocInv hot ( q, q n ) � � LocInv , • ( q ) � hot prog ( q, q i ) = � Msg ( q, q n ) � � Cond ( q n ) hot cold hot � = { ( q, � loop ( q ) , q ) | q � Q } � { ( q, � prog ( q, q � ) , q � ) | q � F q � } � { ( q, � exit ( q ) , L ) | q � Q } � • � Msg ( q ) = ¬ � � � • � Msg ( q, q i ) = � � � Msg ( q i \ q ) � � � � 1 � i � n � Msg ( q, q i ) � strict = ¬ � � � ( Msg ( q j \ q ) \ Msg ( q i \ q )) ¬ � =: � hot � loop ( q ) j 6 = i � � �� � � � E !? � Msg ( L ) � � � strict = � ¬ � � loop ( q ) = � Msg ( q ) � � LocInv ( q ) � � LocInv ( q ) � �� � hot cold =: � strict ( q ) � � ( E !? � Msg ( L )) \ Msg ( F i ) � �� � • � LocInv ( q ) = � =: � strict ( q,q i ) � =( l, � , � ,l � , � � ) � LocInv , � ( � )= � , � active at q � � � exit ( q ) = � prog ( q, q n ) = =: � hot ( q, q i ) = � prog ( q,qn ) A location l is called front location of cut C if and only if � l � � L • l � l � . • � Cond � =( L, � ) � Cond , � ( � )= � , L � ( q i \ q ) 6 = � � � � � � hot loop ( q ) � ¬ � LocInv q ( q ) � �� � cold � Msg ( q, q n ) � � Cond hot ( q, q n ) � � LocInv , • Local invariant ( l o , � 0 , � , l 1 , � 1 ) is active at cut (!) q ( q, q n ) � hot • � LocInv , • ( q, q i ) = � � � � hot prog ( q, q i ) if and only if l 0 � l � l 1 for some front location l of cut q or l = l 1 � � 1 = • . � =( l, � , � ,l � , � � ) � LocInv , � ( � )= � , � • -active at q i � 1 � i � n � � Cond cold ( q, q n ) � � LocInv , • � ( q, q n ) cold � ¬ � LocInv , • ( q, q i ) � ¬ � Cond �� � cold ( q, q i ) • Msg ( F ) = { E ! | ( l, E, l � ) � Msg , l � F} � { E ? | ( l, E, l � ) � Msg , l � � F} Local invariant ( l 0 , � 0 , � , l 1 , � 1 ) is • -active at q if and only if cold q 1 ... q n • l 0 � l � l 1 , or • Msg ( F 1 , . . . , F n ) = � 1 � i � n Msg ( F i ) I 1 I 2 I 3 I 1 I 2 I 3 • l = l 0 � � 0 = • , or I 1 I 2 I 3 true • l = l 1 � � 1 = • A A A for some front location l of cut (!) q . c 2 � c 3 c 2 � c 3 c 2 � c 3 C C C B B B c 1 c 1 c 1 – 9 – 2017-06-19 – Slscsem – – 9 – 2017-06-19 – Slscsem – – 9 – 2017-06-19 – Slscsem – D E D D E E – 10 – 2017-06-22 – main – – 10 – 2017-06-22 – main – – 10 – 2017-06-22 – main – 26 /54 27 /54 28 /54 4 /60 5 /60 6 /60
Content • LSCs: Automaton Construction • Excursion: Symbolic Büchi Automata • LSCs vs. Software • Methodology • Requirements Engineering with scenarios Excursion: Symbolic Büchi Automata • Strengthening scenarions into requirements • Requirements Engineering Wrap-Up Topic Area Architecture & Design • Vocabulary • (software) system, component, module, interface • design, architecture • Software Modelling – 10 – 2017-06-22 – Scontent – • model – 10 – 2017-06-22 – main – • views & viewpoints, the 4+1 view • model-driven software engineering 8 /60 9 /60 From Finite Automata to Symbolic Büchi Automata Symbolic Büchi Automata Run of TBA A : Σ = { 0 , 1 } B : Σ = { 0 , 1 } Definition. A Symbolic Büchi Automaton (TBA) is a tuple Definition. Let B = ( C B , Q, q ini , → , Q F ) be a TBA and 0 Büchi 0 q 1 q 2 q 1 q 2 w = σ 1 , σ 2 , σ 3 , · · · ∈ (Φ( C B ) → B ) ω B = ( C B , Q, q ini , → , Q F ) infinite words 1 1 where an infinite word, each letter is a valuation of Φ( C B ) . B ′ : 0 Σ = { 0 , 1 } • C B is a set of atomic propositions, An infinite sequence 1 q 1 q 2 ̺ = q 0 , q 1 , q 2 , . . . ∈ Q ω • Q is a finite set of states , 1 0 of states is called run of B over w if and only if • q ini ∈ Q is the initial state, symbolic • q 0 = q ini , • → ⊆ Q × Φ( C B ) × Q is the finite transition relation . • for each i ∈ N 0 there is a transition ( q i , ψ i , q i +1 ) ∈→ s.t. σ i | = ψ i . symbolic Each transitions ( q, ψ, q ′ ) ∈ → from state q to state q ′ is labelled with a formula ψ ∈ Φ( C B ) . • Q F ⊆ Q is the set of fair (or accepting) states. A sym : Σ = ( { x } → N ) B sym : Σ = ( { x } → N ) B sym : Σ = ( { x } → N ) even ( x ) even ( x ) Büchi even ( x ) q 1 q 2 q 1 q 2 Example : q 1 q 2 infinite words odd ( x ) odd ( x ) – 10 – 2017-06-22 – Stba – – 10 – 2017-06-22 – Stba – – 10 – 2017-06-22 – Stba – odd ( x ) 10 /60 11 /60 12 /60
Recommend
More recommend