lecture 10 req eng wrap up
play

Lecture 10: Req. Eng. Wrap-Up / . Requirements Engineering with - PowerPoint PPT Presentation

Topic Area Requirements Engineering: Content Content VL 6 Introduction LSCs: Automaton Construction Requirements Specification Excursion: Symbolic Bchi Automata Softwaretechnik / Software-Engineering Desired Properties


  1. 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

  2. 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend