Data Flow Diagram" Answering many of these questions can be facilitated by allowing hierarchical decomposition"

Size: px
Start display at page:

Download "Data Flow Diagram" Answering many of these questions can be facilitated by allowing hierarchical decomposition""

Transcription

1 Computer Science 520/620 Spring 2011 Prof. L. Osterweil" Software Models and Representations" Part 2" Consistency is a principal concern" Are the diagrams consistent with each other?" Top view consistent with elaborations?" Arrows consistent" Data flows consistent" Other semantics?" Invitation to subtle errors" An Example: Elevator Software Representation" Modern elevators are controlled using software" Software is usually complex" Some issues the software must deal with:" Functionality"» Respond to all calls"» Coordination of multiple elevators"» Treat all calls fairly; donʼt make anyone wait too long" Speed"» Donʼt spend too much time optimizing"» Donʼt send people in the wrong direction" Safety"» Donʼt move elevator with doors open" What Representations Support Answering These Stakeholder Concerns" Buyer (Elevator Company)" Before development: What should it do?"» What does it mean to be fair to all riders?" During development: What will it do?"» What scheduling algorithm to use?"» How to coordinate multiple elevators?"» Is the project on time?" After development, before delivery: What does it do?"» Does it do what it was intended to do?" Software developer: How should it be developed?"» What is the system architecture?"» What scheduling algorithm to use?" User (rider): Why does it take so long? act so weird?" Safety Inspector: Is it safe?" Data Flow Diagram" Answering many of these questions can be facilitated by allowing hierarchical decomposition" Current Select New New Move Elevator New Get copy of Request List Request List Delete Request Just Satisfied Light New Request date Request List Button Press Turn on Light

2 Current Direction Hierarchical Elaboration (of Select New )" s in the right direction Process Request List Find Nearest New Rejection Consider Other Cars Request List Delete Selected Do dates to Move to New Status height" width" Simplified Case" height" width" width" >0" Check" args." Check args." valid" width" " args OK" valid" height" height" >0" " args t OK" height" > width" " valid pair" args OK" args t OK" Consistency is a principal concern" Are the diagrams consistent with each other?" Top view consistent with elaborations?" Arrows consistent" Data flows consistent" Other semantics?" Invitation to subtle errors" Service *" Service Oriented Software " Service Science" Service-based Development" ----" Service *" Service *" Service Oriented Software " Service Science" Service-based Development" ----" Service Oriented Software " Service Science" Service-based Development" ----" What do these things mean?" What do these things mean?" What are the problems in doing them?"

3 Consistency definitions" Data Flow Diagram" Let NodeAntation(n, somede) for some n N, where ParentGraph = (N, E)" Let somede = (Nʼ, Eʼ) " This is the DFG elaborating on somede " Some consistency properties" If {(mi, n)}, mi, n N, "then INPUT(somede) 0" If {(n, mi)}, mi, n N, "then OUTPUT(somede) 0" Maybe some others(?)" If {(mi, n)} = k, mi, n N, "then INPUT(somede) = k" If {(n, mi)} = k, mi, n N, "then OUTPUT(somede) = k" Current Button Press Select New Get copy of Request List New Request New Request List date Request List Move Elevator Delete Request Just Satisfied Turn on Light New Light Elaboration of Select New Suggests Artifact Issues" Current Direction Process Request List Find Nearest s in the right direction New Rejection Consider Other Cars Request List Delete Selected Do dates to Move to New Status Data needs precise specification too" DFD's focus on functionality, using data as a vehicle" Data shown as unstructured atomic units--usually unrealistic Complex functions cant be adequately defined without" delving into the details of how they handle structured data" Sub-DFD's can show how the high level data that high " level DFD's deal with is decomposed" --But this is implicit data definition" --Can be hard to read/inconsistent" Data specification is worth doing explicitly, carefully" Usually using Disciplined Natural Language--eg. templates" --Hierarchical relations" --Function(s) creating and using data" --Possible other attributes: " " "persistent? where? encoding?... " IDEF0" Commercial DFD formalism" Some formality and rigor behind it" Primarily pictorial" In wide use" Additional semantics in IDEF1, IDEF2, etc."

4 Note: The edges here do t comprise a set They comprise a collection." Broadening DFG Semantics" Node cant begin until data arrives along all in-edges" DFGNODE is set of des, {dfgdei} such that dfgdei is a function defined on the set of all artifacts IAi = {iai}, such that iai is an antation on an edge (dfgdej, dfgdei)" How to adapt this for " any semantics? " for output semantics?" exactly one Output de " Etc." More Broadening" Use of "open boxes" to indicate data store" --A different set, with different semantics" --Not a computation function" --Methods are: put, get, search(?)" Buy" LIBRARY" new" book" books" new " books" Borrow" a" book" These sorts of constraints can support additional types of reasoning: Eg. about parallelism

5 Still More Broadening" Kepler--Ather DFG Techlogy" Different shapes of boxes" Different pictures instead of boxes" Different colors" Different lines"." Central questions: What are the semantics? Does this really help? Or confuse? Data Flow diagram tation" Has hierarchical decomposition" Capability for specifying DFD semantics" For each diagram" Can be different at each level of hierarchy (!)" Based on Ptolemy II system" P. Baldwin, S. Kohli, E.A. Lee, X. Liu, and Y. Zhao. Modeling of Sensor Nets in Ptolemy II. in Proc. of Information Processing in Sensor Networks, (IPSN), April 26-27, 2004, pp What kinds of questions are well addressed by DFGs?" Overall structure of functional capabilities" What does this piece do?" System outputs and inputs" How might changes be made?" What functions create what data entities" Given that Precision is essential" What about the other three dimensions?" Detail" Gained from hierarchical elaboration" Breadth" Comes from different (sub)types of DFG" Clarity" Seems to be reduced by increased Detail and Breadth" With the need for Precision" Clarity helps appeal to diverse stakeholders" Users" Developers" Managers" Evolvers" Bystanders (?)" Final observations" Very primitive representation" "--very limited semantics" But actually more a family of model types" "--different sets of semantics" The actual relation(s) are rarely made clear and precise" Powerful aid to intuition and efficiency of communication" --Clear advantages over natural language" But is intuition misled by ambiguity, misinterpretation?" Does t help explain HOW things get done"

6 Control Flow Diagrams" Semantics are different from DFD's semantics" --Arrows represent flow of control, rather than flow of data" --Different shapes/types of boxes with different semantics" Basic control flow graph:" --Boxes represent functions" --Some other shape represents control flow alternation" --Arrows represent control flow: " If there is an arrow from circle A to circle B, it means" ImmFol: "the execution of B can immediately follow " the execution of A for some execution " --Different semantics for arrows between different shapes" --Still other shapes represent Start and Stop" --Use of hierarchy for elaborating boxes" Usual enhancements:" --Antate edges with predicates" --Special symbols for branching, concurrency control..." Control Flow Diagrams" Semantics are different from DFD's semantics" --Arrows represent flow of control, rather than flow of data" --Different shapes/types of boxes with different semantics" Basic control flow graph:" --Boxes represent functions" --Some other shape represents control flow alternation" --Arrows represent control flow: " If there is an arrow from circle A to circle B, it means" ImmFol: "the execution of B can immediately follow " the execution of A for some execution " --Different semantics for arrows between different shapes" --Still other shapes represent Start and Stop" --Use of hierarchy for elaborating boxes" Usual enhancements:" --Antate edges with predicates" --Special symbols for branching, concurrency control..." Control flow graphs also address questions like what does " " "this do and how does this do it " Example Control Flow Graph Semantics" Square boxes: Functions" Any number of inedges" One outedge" Edges: ImmFol relation" Function at head executes immediately after function at tail concludes" Round ovals: Branches/decisions" Each oval represents a Boolean function" For each oval there are exactly two outedges, labeled True and False" Example Control Flow Graph Semantics" FG = (FN, FE), where FN = OPS TEST and "OPS = {ops i } des where computation is done "TEST = {test i } des where tests are done" Edges: ImmFol relation "if (fe i, fe k ) FE then there is an execution path for which the execution of fe k immediately follows the execution of fe i " {(fe i, fe k } where fe i TEST = 2" {(fe i, fe k } where fe i OPS = 1" FG is a directed, connected graph" Maybe(?): FN = OPS TEST INPUT OUTPUT where" fn i OUTPUT ( fn i, fn k ) FE" fn i INPUT ( fn k, fn i, ) FE" Other semantics?" Read, Direction Control Flow Graph" DB_Read: curr-length, s(.), Directions(.) More Detail through Hierarchical Elaboration" incr <-- 1 Direction = N <-- ; increment N Directions[N] = incr? incr <-- -1 Complement Direction (Incr <-- -Incr) N out of bounds The challenges and solutions here are similar to those for DFGs" Need for consistency between levels" Semantics can be hard to define, stick to" other car is nearer? output new floor

7 More Breadth from more (sub)types of CFG" Concurrency graph with fork and join " T1" T2 Concurrency" Timing" 1" Data flow augmentations" Etc." 2" 3" call a" 4" 9 accept a Ra 5" Rendezvous Graph" Trace Flow Graph" T1! T2! " 8 3 Ra" 5 10" Rendezvous graph: RG = (N, E), where N = COMP SYNC" S SYNC S executes only after the execution of all C COMP such that (C, S) E" If (S, C) E, where S SYNC, then C cant execute until S has executed " T1! T2! " 8 3 Ra" 5 10" Explicitly represents interleaved execution " The green edges are the ImmFol relation" Double-headed arrows represent one arrow in each direction" Sync des are filled in black" Synch edges are blue Different variations to address different stakeholders and their needs" Focus on Clarity" More semantic issues" Different graph types for different issues " More detail" Hierarchy helps here" More clarity" Does more elaboration and more graph types help clarity or impede it?" CFG has more procedural detail" Does this help?" What about combining DFG and CFG?" Icography must be clear (?)"

8 Read, Direction Control Flow Graph" DB_Read: curr-length, s(.), Directions(.) Control Flow Graph with Data Flow" Read, Direction DB_Read: curr-length, s(.), Directions(.) Direction = Direction = incr <-- 1 N <-- ; incr <-- -1 incr <-- 1 N <-- ; incr <-- -1 increment N Complement Direction (Incr <-- -Incr) increment N Complement Direction (Incr <-- -Incr) Directions[N] = incr? N out of bounds Directions[N] = incr? N out of bounds other car is nearer? other car is nearer? output new floor output new floor Control Flow Graph with Data Flow" Read, Direction incr <-- 1 DB_Read: curr-length, s(.), Directions(.) Direction = N <-- ; increment N Directions[N] = incr? other car is nearer? incr <-- -1 Complement Direction (Incr <-- -Incr) N out of bounds What is Control Flow good/t good for?" Sense of what algorithms to use" Constraints on data appearing" eg. Assuming that the Request List is maintained in sorted order" Can estimate running speed" Can reason about functionality" Possible to strand requesters" Possible to take riders in the wrong direction" Drawbacks:" What about safety?" What about data?" output new floor Control Flow vs. Data Flow Graphs" What Stakeholders does this address?" Developers"???" Both shed light on similar questions" One focuses on data evolution, the other on functional development" Both are useful, neither removes the need for the other" Control flow graphs map closely to implementation code written in procedural languages. " Good basis for determining consistency of code with ideas exed as data flow" Data flow graphs focus more on the product itself, seem better at helping understand if and how it gets evolved" Seem better adapted to studying earlier formulations of the problem to be solved, and ways of solving it"

9 Finite State Machines (FSM's)" Finite State Machines (FSM's)" FSM = (Q, I, ), where" "Q = {qi}, the set of all possible system states" "I = {ij}, the set of all events that can affect the " " " "state of the system" " is a function, : Q x I Q such that if the system" " "is in state q and event i occurs, then the system" " "transitions to state (q, i)" Use of hierarchy can help add detail" "- But presents familiar consistency problems" Other definitions:" "Start state" "Accepting state" "Trap state" Why FSM's?" Primary appeal is visualizability--clarity" --Circles represent states" --(Curved) arrows represent transitions" --Arrows are antated with inputs" Intuitively: Can "watch" a stream of inputs "drive"" the behavior of the system as a sequence of movements" from state to state" Kinds of Questions FSMs seem adept at helping answer: What is a good way to think about the problem to be solved? What is the solution approach? How does this program work? No new request timeout Doors open, Elevator Stopped Finite State Machine" Doors Closed, Elevator Idle Request to Move to new floor Queue empty Request to Move to new floor Arrival at New Getting new floor request Doors closed Elevator in Motion Request to Move to new floor Doors open Elevator in Motion Request to Move to new floor Queueing new floor request Arrival at New Request to Move to new floor Finite State Machine for Digital Watch" Time display mode A Alarm display" mode" A A Datebook" mode" A Phone book" mode" Time set mode More Finite State Machine Details" B B Alarm set mode B B Time display mode A Alarm display" mode" A A Datebook" mode" A B Phone book" mode" Datebook set mode B C C B Phone book B C B Datebook query mode set mode B C Phone book query mode

10 More Complex FSMs" Statecharts: More Complex FSMs" State also specifies activities" Leans towards a CFG" Transition may involve computation" Considered to be instantaneous " Transition may be conditional" Event as well as a condition" Transition may emit events" To drive other FSMs" FSMs may be hierarchical" What exactly are semantics?" addstudent addstudent/ Initialize Open Unassigned numstudents = 0 do: Initialize course do: Assign professor entry: Register a object to course student registration closed[ registration closed[ numstudents < 3 ] Canceled numstudents > = 3 ] do: Send cancellation tices [ numstudents = 10 ] Closed do: Report RegistrationComplete course is full do: Generate class roster Statecharts: More Complex FSMs" Statecharts: More Complex FSMs" addstudent addstudent condition" on this" transition" Initialize do: Initialize course object Unassigned do: Assign professor to course addstudent/ numstudents = 0 Open entry: Register a student Initialize do: Initialize course object Unassigned do: Assign professor to course addstudent/ numstudents = 0 Open entry: Register a student Activity to be" performed in" this state" Canceled do: Send cancellation tices registration closed[ numstudents < 3 ] registration closed[ numstudents > = 3 ] Canceled do: Send cancellation tices registration closed[ numstudents < 3 ] registration closed[ numstudents > = 3 ] Closed do: Report course is full [ numstudents = 10 ] RegistrationComplete do: Generate class roster Closed do: Report course is full [ numstudents = 10 ] RegistrationComplete do: Generate class roster Statecharts: More Complex FSMs" Initialize do: Initialize course object Unassigned activity" on this" transition" do: Assign professor to course addstudent/ numstudents = 0 addstudent Open entry: Register a student Statechart with Nested States" superstate Initialize Register substate RegistrationComplete registration closed do: Generate class roster [ numstudents > = 3 ] Unassigned do: Assign professor to course Add student / numstudents = 0 Canceled registration closed[ numstudents < 3 ] registration closed[ numstudents > = 3 ] registration closed [ numstudents < 3 ] Open entry: Register a student addstudent do: Send cancellation tices [ numstudents = 10 ] Canceled Closed Closed do: Report course is full [ numstudents = 10 ] RegistrationComplete do: Generate class roster do: Report course is closed

11 What is FSM good/t good for?" Focus on specific issue: safety concern" Model unsafe state" Model state transitions" Can unsafe state be reached?" Drawbacks" No sense of functionality"» Unless additional semantics" No sense of how functionality achieved"» Except perhaps hierarchy" Hard to deal with concurrency"» Without additional semantics" Impossible to reason about timing" Petri Nets" More powerful and intuitive depiction of control flow strong on depiction of parallelism and concurrency" A Petri Net structurally consists of" A finite number of places" A finite number of transitions" A finite set of arrows that connect places to transitions (or vice versa)" If an arrow goes from a place to a transition, then place is said to be an input place of the transition." If an arrow goes from a transition to a place, then place is said to be an output place of the transition." Marking and Firing Petri Nets" A Petri Net place can be marked by the presence of a token" Any collection of places can be marked. " Any such marking is said to define a state of the Petri Net" Petri Nets proceed from one state to ather by means of a firing" Occurs only when every input place of a transition is marked with a token." The effect of the firing of a transition is to" Remove all of the tokens from the transition's input places" Put tokens in all of the transition's output places " Pressed Unmarked Petri Net" Not ed Pressed Petri Net Marked " With ed" Not ed Pressed Petri Net Marked " With ed" Not ed

12 Pressed Petri Net Marked " With ed" Not ed Unmarked n, going up Button n n, going up Car 1 Wins Race" n, going up Button n n, going up Car 1 Wins Race" n, going up Button n n, going up Car 1 Wins Race" n, going up Button n n, going up Car 1 Wins Race" n, going up Button n n, going up

13 Car 1 Wins Race" n, going up Button n n, going up Car 2 Wins Race" n, going up Button n n, going up Car 2 Wins Race" n, going up Button n n, going up Car 2 Wins Race" n, going up Button n n, going up Car 2 Wins Race" n, going up Button n n, going up Car 2 Wins Race" n, going up Button n n, going up

14 Petri Net for a Different Elevator" Marking for moving up to pick up a passenger" No Button No Button Move up to Nearest Button Move up to Nearest Button Down Down Marking for moving up to pick up a passenger" Marking for moving up to pick up a passenger" No Button No Button Move up to Nearest Button Move up to Nearest Button Down Down Marking for moving up to pick up a passenger" Marking for moving up to pick up a passenger" No Button Queues at places? No Button Move up to Nearest Button Move up to Nearest Button Down Down

15 Marking when passengers, but passenger " Marking when passengers, but passenger " No Button No Button Move up to Nearest Button Move up to Nearest Button Down Down Marking when passengers, but passenger " Marking for both up and down s" No Button No Button Move up to Nearest Button Move up to Nearest Button Down Visit floor Down Visit floor Marking for neither up r down s" Move up to Nearest Button Visit floor Down Visit floor No Button Evaluation of Petri Nets" What are Petri Net representations good for?: How do things get done?" Especially parallelism and ndeterminism" Helps spot races and deadlocks" What kinds of things are Petri Nets t good for? Too little focus on product (tokens represent it)" Many extensions:" --Hierarchical Petri Nets" --Colored tokens" --"Or" transitions" --Queues at places" Too many extensions confuse the picture? "

16 Combinations of Representations" Different representations give different views, support providing answers to different questions" But different views must all be consistent with each other" One way to assure this: superimpose different views atop each other" Control/Data flow diagrams" Call/control flow charts" FSMs with activities too" Diagrams augmented with natural language"» Example: RSL" Risk of too much clutter, Can be self defeating" Ather way: Coordinated sets of representations" Need to assure that all the different representations are consistent with each other--represent the same thing " Kepler--Ather DFG Techlogy" Data Flow diagram tation" Has hierarchical decomposition" Capability for specifying DFD semantics" For each diagram" Can be different at each level of hierarchy (!)" Based on Ptolemy II system" P. Baldwin, S. Kohli, E.A. Lee, X. Liu, and Y. Zhao. Modeling of Sensor Nets in Ptolemy II. in Proc. of Information Processing in Sensor Networks, (IPSN), April 26-27, 2004, pp A Kepler Example" Kepler Elaboration" Multirepresentation Systems" Have seen that different representations are of different uses" One diagram may be useful in different ways to different stakeholders" But most stakeholders require a variety of diagrams" Several different diagrams can be expected to be needed to satisfy the different stakeholders" Problems with different views/diagrams" Are they all representing the same software product?" How to assure that they are all consistent with each other?" If the product changes, then ALL views must change correspondingly" Multiple Views"

17 Platoʼs Cave" RSL/REVS" Reference: Bell, Bixler, Dyer, IEEE TSE SE-3 #1 pp " Enhanced DFD's (called RNET's)" --Functions called ALPHA's" --ALPHA's can be defined hierarchically" --Structured English as well as pictorial diagrams" --Diverse set of attributes used to enhance ALPHA defs." --Logical connectives on arrows" Balanced by facilities for defining data (called DATA's)" --Defined hierarchically" --Output from/input to specs are dual of ALPHA info." Supports consistency checking through redundancy" --Redundancy to check for consistency and quality" Designed to help specify reactive systems" --Dataflow diagrams are particularly good at that (?)" Other Features (more peripheral to this discussion)" --I/O specifications" --Requirements tracing (why is that requirement here?)" STATEMATE" Elaborate enhancement of FSM's" Augmented by other views (e.g. activity Diagrams)" Key feature is maintenance of consistency among views" Done by projecting views of text (language)-based model" References" Harel et al., "STATEMATE: A Working Environment for the Development of Complex Reactive Systems" Proc. 10th Int'l. Conf. on Software Engineering, Singapore, 1988, pp " Harel et al., STATEMATE: A Working Environment for the Development of Complex Reactive Systems:, IEEE Trans. On Software Engineering (IEEE TSE), v. 16, #4, April 1990, pp " Harel and Naamad, The STATEMATE Semantics of Statecharts, ACM Trans. On Software Engineering Methodology (TOSEM), v.5 #4, Oct " Commercially available software system" " Multiple Views in Statemate" Rationale for multiple views: Too much information in a" single diagram creates clutter, confusion, defeats clarity" Advantage of multiple views: Each represents a different" viewpoint, different model, with a different diagram--easier" to grasp the model" Disadvantage: Reader needs to synthesize views, assure" that they are really consistent with each other" Three views in Statemate:" --Module Charts (a hierarchy representing capabilities)" --Activity Charts (hierarchical dataflow charts)" --Statecharts (hierarchical finite state machines)" All charts are derived from textual input, facilitated by use of" tools prompting user via forms" Three Statemate views depict some different views, but also" overlap with each other: facilitates cross-checking for " consistency and easier comprehension" Multiple Views in Statemate" Activity view Multiple Views in Statemate" Module view Statechart view Module view Activity view Statechart view Textual view Textual view

Petri Nets" Computer Science 520/620 Spring 2011 Prof. L. Osterweil" Software Models and Representations" Part 3" Some Semantics"

Petri Nets Computer Science 520/620 Spring 2011 Prof. L. Osterweil Software Models and Representations Part 3 Some Semantics Computer Science 520/620 Spring 2011 Prof. L. Osterweil" Software Models and Representations" Part 3" Petri Nets" More powerful and intuitive depiction of control flow strong on depiction of parallelism

More information

Computer Science 520/620 Spring 2011 Prof. L. Osterweil" Software Models and Representations" Part 3" Petri Nets"

Computer Science 520/620 Spring 2011 Prof. L. Osterweil Software Models and Representations Part 3 Petri Nets Computer Science 520/620 Spring 2011 Prof. L. Osterweil" Software Models and Representations" Part 3" Petri Nets" More powerful and intuitive depiction of control flow strong on depiction of parallelism

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Use Cases Software Models and Representations Part 4 More, and Multiple Models Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 4" More, and Multiple Models" Use Cases"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

Computer Science 520/620 Spring 2014 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2014 Prof. L. Osterweil Use Cases Software Models and Representations Part 4 More, and Multiple Models Computer Science 520/620 Spring 2014 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM)

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM) ECE 474A/57A Computer-Aided Logic Design Outline Models vs. Languages Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM) State Machine Model FSM/FSMD HCFSM and Statecharts Language Program-State

More information

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs Administrivia Requirements and Specification CS169 Lecture 4 Wednesday: Groups and one-sentence idea(s) due at class One per group If you have a small group, still submit so that you will be kept together.

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

CA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16

CA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16 CA314 Object Oriented Analysis & Design - 7 File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16 Table of Contents 7. UML State & Activity Diagrams (see ref 1, Chap. 11, 12)...3 7.1 Introduction...3

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

Finite State Machines and Statecharts

Finite State Machines and Statecharts Finite State Machines and Statecharts Hassan Gomaa Dept of Information & Software Engineering George Mason University Reference: H. Gomaa, Chapter 10 - Designing Concurrent, Distributed, and Real-Time

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends! Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science

More information

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications.

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications. Petri Nets 2. Applications Y Narahari Y Narahari is currently an Associate Professor of Computer Science and Automation at the Indian Institute of Science, Bangalore. His research interests are broadly

More information

Computer Science 520/620 Spring 2014 Prof. L. Osterweil" Modeling Data and Types" Software Models and Representations" Part 5"

Computer Science 520/620 Spring 2014 Prof. L. Osterweil Modeling Data and Types Software Models and Representations Part 5 Computer Science 520/620 Spring 2014 Prof. L. Osterweil Modeling Data and Types Software Models and Representations Part 5 Modeling Data and Types Representation of Data/Objects Complement to emphasis

More information

EE414 Embedded Systems Ch 9. State Machines

EE414 Embedded Systems Ch 9. State Machines EE414 Embedded Systems Ch 9. State Machines Byung Kook Kim School of Electrical Engineering Korea Advanced Institute of Science and Technology Outline State Machine Model 9.1 Introduction 9.2 Models vs.

More information

Specifications Part 1

Specifications Part 1 pm3 12 Specifications Part 1 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Introduction 12, 2008-2 - 1 Specification

More information

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example. SE Assignment III 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example. There are essentially 5 different types of symbols used

More information

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION Statecharts INDEX 1.- Introduction 2.- When to use Statecharts 3.- Basic components 4.- Connectors and compound transitions Mª Ángeles Martínez Ibáñez University of Bergen Selected topics in programming

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

6.001 Notes: Section 17.5

6.001 Notes: Section 17.5 6.001 Notes: Section 17.5 Slide 17.5.1 Now, let's look at one example in which changing the evaluation model allows us to explore a very different kind of computational problem. Our goal is to show how

More information

Module 5. Function-Oriented Software Design. Version 2 CSE IIT, Kharagpur

Module 5. Function-Oriented Software Design. Version 2 CSE IIT, Kharagpur Module 5 Function-Oriented Software Design Lesson 12 Structured Design Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the aim of structured design. Explain

More information

Dynamic Modeling - Finite State Machines

Dynamic Modeling - Finite State Machines Dynamic Modeling - Finite State Machines SWE 321 Fall 2014 Rob Pettit 1 Finite State Machines Finite number of states Only in one state at a time Transition Change of state Caused by event Transition to

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

An Agent Modeling Language Implementing Protocols through Capabilities

An Agent Modeling Language Implementing Protocols through Capabilities An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,

More information

Software Architectures. Lecture 6 (part 1)

Software Architectures. Lecture 6 (part 1) Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements

More information

Petri Nets ee249 Fall 2000

Petri Nets ee249 Fall 2000 Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

More information

Steps in Using COMET/UML

Steps in Using COMET/UML SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 5- Finite State Machines and Statecharts Hassan Gomaa Dept of Computer Science George Mason University it Fairfax,

More information

Business Process Modelling

Business Process Modelling CS565 - Business Process & Workflow Management Systems Business Process Modelling CS 565 - Lecture 2 20/2/17 1 Business Process Lifecycle Enactment: Operation Monitoring Maintenance Evaluation: Process

More information

6.001 Notes: Section 8.1

6.001 Notes: Section 8.1 6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything

More information

Structured Analysis and Structured Design

Structured Analysis and Structured Design Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr References Modern

More information

Object Oriented Modeling

Object Oriented Modeling Overview UML Unified Modeling Language What is Modeling? What is UML? A brief history of UML Understanding the basics of UML UML diagrams UML Modeling tools 2 Modeling Object Oriented Modeling Describing

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

Business Process Modeling. Version /10/2017

Business Process Modeling. Version /10/2017 Business Process Modeling Version 1.2.1-16/10/2017 Maurizio Morisio, Marco Torchiano, 2012-2017 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML

More information

Software Architecture. Lecture 4

Software Architecture. Lecture 4 Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check

More information

UML- a Brief Look UML and the Process

UML- a Brief Look UML and the Process UML- a Brief Look UML grew out of great variety of ways Design and develop object-oriented models and designs By mid 1990s Number of credible approaches reduced to three Work further developed and refined

More information

CS 310 Embedded Computer Systems DESIGN

CS 310 Embedded Computer Systems DESIGN 1 EMBEDDED SYSTEM DESIGN Embedded System Design 2 3 Specification Introduction 4 Describing embedded d system s processing behavior Can be extremely difficult Complexity increasing with increasing IC capacity

More information

System Analysis & design

System Analysis & design Assiut University Faculty of Computers and Information System Analysis & design Year 2 Academic Year 2014/ 2015 Term (2) 5 A PICTURE IS WORTH A 1,000 WORDS A process model is a graphical way of representing

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence

More information

Finite State Machine Modeling for Software Product Lines. Finite State Machines and Statecharts

Finite State Machine Modeling for Software Product Lines. Finite State Machines and Statecharts SWE 721 / IT 821 Advanced Software Design: Reusable Software Architectures Finite State Machine Modeling for Software Product Lines Hassan Gomaa Department of Information and Software Engineering George

More information

CITS5501 Software Testing and Quality Assurance Formal methods

CITS5501 Software Testing and Quality Assurance Formal methods CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005

More information

Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications

Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/softwa retest/ Design Specifications A design specification

More information

(Refer Slide Time: 1:27)

(Refer Slide Time: 1:27) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 1 Introduction to Data Structures and Algorithms Welcome to data

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

20b -Advanced-DFA. J. L. Peterson, "Petri Nets," Computing Surveys, 9 (3), September 1977, pp

20b -Advanced-DFA. J. L. Peterson, Petri Nets, Computing Surveys, 9 (3), September 1977, pp State Propagation Reading assignment J. L. Peterson, "Petri Nets," Computing Surveys, 9 (3), September 1977, pp. 223-252. Sections 1-4 For reference only M. Pezzè, R. N. Taylor and M. Young, Graph Models

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More information

Page # 20b -Advanced-DFA. Reading assignment. State Propagation. GEN and KILL sets. Data Flow Analysis

Page # 20b -Advanced-DFA. Reading assignment. State Propagation. GEN and KILL sets. Data Flow Analysis b -Advanced-DFA Reading assignment J. L. Peterson, "Petri Nets," Computing Surveys, 9 (3), September 977, pp. 3-5. Sections -4 State Propagation For reference only M. Pezzè, R. N. Taylor and M. Young,

More information

Process Modeling. Wei-Tsong Wang 1 IIM, NCKU

Process Modeling. Wei-Tsong Wang 1 IIM, NCKU Process Modeling Based on Chapter 9 of Whitten, Bentley, and Dittman: Systems Analysis and Design for the Global Enterprise (7th Ed). McGraw Hill. 2007 Wei-Tsong Wang 1 IIM, NCKU 2 Models: Logical and

More information

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system. Introduction to Formal Methods 1 Introduction to Formal Methods 2 Formal Specification Requirements specification R notational statement of system services Software specification R formal abstract depiction

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 17 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Hypothetical design

More information

Business Process Modeling. Version 25/10/2012

Business Process Modeling. Version 25/10/2012 Business Process Modeling Version 25/10/2012 Maurizio Morisio, Marco Torchiano, 2012, 2013 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML Class

More information

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) Software Engineering Prof.N.L.Sarda IIT Bombay Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue our discussion on process modeling. In the previous lecture

More information

Seamless design methodology of manufacturing cell-control software based on activity-control-condition and object diagram

Seamless design methodology of manufacturing cell-control software based on activity-control-condition and object diagram Seamless design methodology of manufacturing cell-control software based on activity-control-condition and object diagram TOYOAKI TOMURA, SATOSHI KANAI and TAKESHI KISHINAMI Abstract. A manufacturing cell

More information

State Machine Diagrams

State Machine Diagrams State Machine Diagrams Introduction A state machine diagram, models the dynamic aspects of the system by showing the flow of control from state to state for a particular class. 2 Introduction Whereas an

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 16.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 16 Slide 16.2 MORE ON UML 1 Chapter Overview Slide

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Course Housekeeping" Software Models and Representations" Part 5" Modeling Data and Types"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Course Housekeeping Software Models and Representations Part 5 Modeling Data and Types Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 5 Modeling Data and Types Course Housekeeping Class meeting schedule: Tuesday, Feb. 19 Thursday, Feb. 21

More information

SOME TYPES AND USES OF DATA MODELS

SOME TYPES AND USES OF DATA MODELS 3 SOME TYPES AND USES OF DATA MODELS CHAPTER OUTLINE 3.1 Different Types of Data Models 23 3.1.1 Physical Data Model 24 3.1.2 Logical Data Model 24 3.1.3 Conceptual Data Model 25 3.1.4 Canonical Data Model

More information

Interacting Process Classes

Interacting Process Classes The problem addressed Interacting Process Classes Abhik Roychoudhury National University of Singapore Joint work with Ankit Goel and P.S. Thiagarajan Visit to UNU-IIST May 29/30 2006 Reactive systems with

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

SMV Project. Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena. April 28, 2009

SMV Project. Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena. April 28, 2009 SMV Project Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena April 28, 2009 Indiana University - Department of Computer Science P515 Specification and Verification For: Dr. Steven Johnson Table

More information

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 5" Modeling Data and Types" Course Housekeeping"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 5 Modeling Data and Types Course Housekeeping Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 5 Modeling Data and Types Course Housekeeping Class meeting schedule: Tuesday, Feb. 19 Thursday, Feb. 21

More information

Introduction to Modeling

Introduction to Modeling Introduction to Modeling Software Architecture Lecture 9 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Objectives Concepts What is modeling? How do we choose

More information

OPTIMIZING PRODUCTION WORK FLOW USING OPEMCSS. John R. Clymer

OPTIMIZING PRODUCTION WORK FLOW USING OPEMCSS. John R. Clymer Proceedings of the 2000 Winter Simulation Conference J. A. Joines, R. R. Barton, K. Kang, and P. A. Fishwick, eds. OPTIMIZING PRODUCTION WORK FLOW USING OPEMCSS John R. Clymer Applied Research Center for

More information

Chapter 5, Analysis: Dynamic Modeling

Chapter 5, Analysis: Dynamic Modeling Chapter 5, Analysis: Dynamic Modeling Using UML, Patterns, and Java Object-Oriented Software Engineering Dynamic Modeling with UML Diagrams for dynamic modeling Interaction diagrams describe the dynamic

More information

CS-XXX: Graduate Programming Languages. Lecture 9 Simply Typed Lambda Calculus. Dan Grossman 2012

CS-XXX: Graduate Programming Languages. Lecture 9 Simply Typed Lambda Calculus. Dan Grossman 2012 CS-XXX: Graduate Programming Languages Lecture 9 Simply Typed Lambda Calculus Dan Grossman 2012 Types Major new topic worthy of several lectures: Type systems Continue to use (CBV) Lambda Caluclus as our

More information

Introduction To Systems Engineering CSC 595_495 Spring 2018 Professor Rosenthal Midterm Exam Answer Key

Introduction To Systems Engineering CSC 595_495 Spring 2018 Professor Rosenthal Midterm Exam Answer Key Part 1. Each question is worth 4 points. 1. Define what a system is. Introduction To Systems Engineering CSC 595_495 Spring 2018 Professor Rosenthal Midterm Exam Answer Key A system is a construct or collection

More information

Integrated HW/SW Systems: Requirements

Integrated HW/SW Systems: Requirements TECHNISCHE UNIVERSITÄT ILMENAU Integrated HW/SW Systems: Requirements Integrated Communication Systems http://www.tu-ilmenau.de/iks Analysis process Functional requirements Performance requirements Real-time

More information

Combined Modeling and Programming with State Machines

Combined Modeling and Programming with State Machines Combined Modeling and Programming with State Machines Kjetil Andresen Master s Thesis Spring 2014 Combined Modeling and Programming with State Machines Kjetil Andresen 1st May 2014 ii Abstract As part

More information

Chapter 5 Concurrency: Mutual Exclusion and Synchronization

Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles Chapter 5 Concurrency: Mutual Exclusion and Synchronization Seventh Edition By William Stallings Designing correct routines for controlling concurrent

More information

Protocols and Finite State Machines

Protocols and Finite State Machines Lecture1-intro+PMM.nb 1 Slide 1 of 75 Protocols and Finite State Machines Dr. Yehuda Ben-Shimol 2 Course Overview Slide 2 of 75 Ê Major topics Ë Formal methods for describing communication protocols -

More information

6.001 Notes: Section 15.1

6.001 Notes: Section 15.1 6.001 Notes: Section 15.1 Slide 15.1.1 Our goal over the next few lectures is to build an interpreter, which in a very basic sense is the ultimate in programming, since doing so will allow us to define

More information

High Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

High Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur High Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 18 Dynamic Instruction Scheduling with Branch Prediction

More information

By: Chaitanya Settaluri Devendra Kalia

By: Chaitanya Settaluri Devendra Kalia By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Introduction to Linear-Time Temporal Logic. CSE 814 Introduction to LTL

Introduction to Linear-Time Temporal Logic. CSE 814 Introduction to LTL Introduction to Linear-Time Temporal Logic CSE 814 Introduction to LTL 1 Outline Motivation for TL in general Types of properties to be expressed in TL Structures on which LTL formulas are evaluated Syntax

More information

Concurrent Models of Computation

Concurrent Models of Computation Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D Concurrent Models of Computation Fall 2011 Copyright 2009-2011, Edward A. Lee, All rights

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

Formal modelling and verification in UPPAAL

Formal modelling and verification in UPPAAL Budapest University of Technology and Economics Department of Measurement and Information Systems Fault Tolerant Systems Research Group Critical Embedded Systems Formal modelling and verification in UPPAAL

More information

TDDD04 Software Testing

TDDD04 Software Testing TDDD04 Software Testing Lecture Notes 7 March June 2010 Mohsen Torabzadeh-Tari (presenter), (originator) Department of Computer and Information Science Linköping University, Sweden Outline of the Lecture

More information

STATE MACHINES. Figure 1: State Machines

STATE MACHINES. Figure 1: State Machines STATE MACHINES Figure 1: State Machines state machine A state machine is a behavior that specifies the sequences of states an object goes through during its lifetime in response to events. Graphically,

More information

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 2.3 Timed Automata and Real-Time Statecharts

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 2.3 Timed Automata and Real-Time Statecharts 2.3 Timed Automata and Real-Time Statecharts Develop a BOOK RATING APP and win awesome prizes! The creators of the best submissions will be invited to an exclusive party in February

More information

A Small Interpreted Language

A Small Interpreted Language A Small Interpreted Language What would you need to build a small computing language based on mathematical principles? The language should be simple, Turing equivalent (i.e.: it can compute anything that

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering (CS350) Lecture 17 Jongmoon Baik Testing Conventional Applications 2 Testability Operability it operates cleanly Observability the results of each test case are readily

More information

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES 49. Internationales Wissenschaftliches Kolloquium Technische Universität Ilmenau 27.-30. September 2004 Holger Rath / Horst Salzwedel ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES Abstract

More information

SOFTWARE ANALYSIS & DESIGN TOOLS

SOFTWARE ANALYSIS & DESIGN TOOLS SOFTWARE ANALYSIS & DESIGN TOOLS http://www.tutorialspoint.com/software_engineering/software_analysis_design_tools.htm Copyright tutorialspoint.com Software analysis and design includes all activities,

More information

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL 5.1 INTRODUCTION The survey presented in Chapter 1 has shown that Model based testing approach for automatic generation of test

More information

Motivation State Machines

Motivation State Machines Motivation State Machines Generating test cases for complex behaviour Textbook Reading: Chapter 7 We are interested in testing the behaviour of object-oriented software systems Behaviour: Interactions

More information

Practical UML - A Hands-On Introduction for Developers

Practical UML - A Hands-On Introduction for Developers Practical UML - A Hands-On Introduction for Developers By: Randy Miller (http://gp.codegear.com/authors/edit/661.aspx) Abstract: This tutorial provides a quick introduction to the Unified Modeling Language

More information

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State 24 Petri Nets Author: College. Robert A. McGuigan, Department of Mathematics, Westfield State Prerequisites: The prerequisites for this chapter are graphs and digraphs. See Sections 9.1, 9.2, and 10.1

More information

Embedded Systems 7. Models of computation for embedded systems

Embedded Systems 7. Models of computation for embedded systems Embedded Systems 7 - - Models of computation for embedded systems Communication/ local computations Communicating finite state machines Data flow model Computational graphs Von Neumann model Discrete event

More information

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 06 Object-Oriented Analysis and Design Welcome

More information

An Introduction to Modular Process Nets

An Introduction to Modular Process Nets An Introduction to Modular Process Nets Dietmar Wikarski 1 TR-96-019 April 1996 1. On leave from Fraunhofer Institute for Software Engineering and Systems Engineering (ISST) Berlin, Germany An Introduction

More information

Process and data flow modeling

Process and data flow modeling Process and data flow modeling Vince Molnár Informatikai Rendszertervezés BMEVIMIAC01 Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology

More information

1 Statecharts language and Statemate Magnum

1 Statecharts language and Statemate Magnum 1 Statecharts language and Statemate Magnum 1. 1 Introduction The language of Statecharts has been developed to deal with the problems of specification and design of large reactive systems. The basic foundation

More information

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity Vragen Intra-modular complexity measures Wat wordt bedoeld met het ontwerpsprincipe: Anticipate obsolence? Wat is het voordeel van strong cohesion en weak coupling? Wat is het gevolg van hoge complexiteit

More information

The Ptolemy II Framework for Visual Languages

The Ptolemy II Framework for Visual Languages The Ptolemy II Framework for Visual Languages Xiaojun Liu Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University of California at Berkeley Ptolemy II - Heterogeneous

More information

Introduction to Software Engineering. 6. Modeling Behaviour

Introduction to Software Engineering. 6. Modeling Behaviour Introduction to Software Engineering 6. Modeling Behaviour Roadmap > Use Case Diagrams > Sequence Diagrams > Collaboration (Communication) Diagrams > Activity Diagrams > Statechart Diagrams Nested statecharts

More information