Lecture 08: Scenarios and Use Cases

Size: px
Start display at page:

Download "Lecture 08: Scenarios and Use Cases"

Transcription

1 Introduction evelopment Process, Metrics Requirements ngineering rchitecture & esign onstructive Models Testing, Formal Verification Invited Talks Wrap-Up L 1: 20.4., Mo T 1: 23.4., o L 2: 27.4., Mo L 3: 30.4., o L 4: 4.5., Mo T 2: 7.5., o L 5: 11.5., Mo , o L 6: 18.5., Mo L 7: 21.5., o , Mo , o T 3: 1.6., Mo , o L 8: 8.6., Mo L 9: 11.6., o L10: 15.6., Mo T 4: 18.6., o L11: 22.6., Mo L12: 25.6., o L13: 29.6., Mo T 5: 2.7., o L14: 6.7., Mo L15: 9.7., o L16: 13.7., Mo L17: 16.7., o T 6: 20.7., Mo L18: 23.7., o lbert-ludwigs-universität Freiburg, Germany Prof. r. ndreas Podelski, r. ernd Westphal Lecture 08: Scenarios and Use ases Softwaretechnik / Software-ngineering 4/ Sprelim ontents & Goals Last Lecture: onsistency, ompleteness, etc. for ecision Tables. This Lecture: ducational Objectives: apabilities for following tasks/questions. What is a scenario/an anti-scenario? What is included in a use case? In a use case diagram? What is the abstract syntax of this Live Sequence hart (LS)? Which are the cuts and firedsets of this LS? onstruct the T of a given LS body. Given a set of LSs, which scenario/anti-scenario/requirement is formalised by them? Formalise this positive scenario/anti-scenario/requirement using LSs. ontent: Scenarios in Requirements ngineering User Stories; Use ases and iagrams Live Sequence harts Scenarios 2/78 5/78 You re Here 3/78

2 Suserstories 10/78 back side of file card: (acceptance) test case(s) how to tell whether the user story has been realised. effort, estimated by developers, priority (from 1 (highest) to 10 (lowest)) assigned by customer, unique identifier (e.g. unique number), and in addition: s a [role] I want [something] so that [benefit]. Per user story, one file card with the user story, e.g. following the pattern: User Story is a concise, written description of a piece of functionality that will be valuable to a user (or owner) of the software. User Stories (eck, 1999) Sscen 7/78 (i) fter switching on, insert no money. (ii) Press the tea button. (iii) Get a tea. (iv) Get 100e change. Negative scenario: (iv) Get 50 cent change. (iii) Get a softdrink. (ii) Press the softdrink button. (i) Insert one 1 euro and one 50 cent coin. Positive scenario: xample: Vending Machine Suserstories Sscen Notations for Scenarios The idea of scenarios (sometimes without negative or anti-scenarios) (re-)occurs in many process models or software development approaches. First prominent recognition: OOS (Jacobson, 1992) In the following, we will discuss two and a half notations (in increasing formality): User Stories (part of xtreme Programming) Use ases and Use ase iagrams (OOS) Sequence iagrams (here: Live Sequence harts (amm and Harel, 2001)) 8/78 User Stories: iscussion Proposed card layout (front side): priority unique identifier, name estimation s a [role] I want [something] so that [benefit]. risk real effort easy to create close contact to customer customers are usually not trained in writing requirements may get difficult to keep overview over whole system to be developed strong dependency on competent developers estimation of effort may be difficult not easy to cover non-functional requirements and restrictions (alzert, 2009) 11/ Suserstories Sspeclang Recall: User Stories Natural Language Patterns Natural language requirements can be written using,,,,, F where clarifies when and under what conditions the activity takes place is MUST (obligation), SHOUL (wish), or WILL (intention); also: MUST NOT (forbidden) is either the system or the concrete name of a (sub-)system one of three possibilities: does, description of a system activity, offers, description of a function offered by the system to somebody, is able if, usage of a function offered by a third party, under certain conditions extensions, in particular an object F the actual process word (what happens) (Rupp and die SOPHISTen, 2009) xample: fter office hours (= ), the system (= ) should (= ) offer to the operator (= ) a backup (= F) of all new registrations to an external medium (= ). 37/90 9/78 12/78

3 Suc Use ases Use ase xample name uthentication goal the client wants access to the TM pre-condition the TM is operational, the welcome screen is displayed, card and PIN of client are available post-condition client accepted, services of TM are offered post-cond. in exceptional case access denied, card returned or withheld, welcome screen displayed actors client (main actor), bank system open questions none normal case 1. client inserts card 2. TM read card, sends data to bank system 3. bank system checks validity 4. TM shows PIN screen 5. client enters PIN 6. TM reads PIN, sends to bank system 7. bank system checks PIN 8. TM accepts and shows main menu exception case 2a card not readable 2a.1 TM displays card not readable 2a.2 TM returns card 2a.3 TM shows welcome screen 13/78 16/78 (-by-sa 4.0, irk Ingo Franke) Suc Suc open questions none normal case 1. client inserts card 2. TM read card, sends data to bank system 3. bank system checks validity 4. TM shows PIN screen 5. client enters PIN 6. TM reads PIN, sends to bank system 7. bank system checks PIN 8. TM accepts and shows main menu exception case 2a card not readable 2a.1 TM displays card not readable 2a.2 TM returns card 2a.3 TM shows welcome screen exception case 2b card readable, but not TM card exception case 2c no connection to bank system exception case 3a card not valid or disabled exception case 5a client cancels exception case 5b client doesn t react within 5s exception case 6a no connection to bank system exception case 7a first or second PIN wrong exception case 7b third PIN wrong (Ludewig and Lichter, 2013; V-Modell XT, 2006) 14/78 17/78 (-by-sa 4.0, irk Ingo Franke) Suc Use ase: efinition use case sequence of interactions between an actor (or actors) and a system triggered by a specific actor, which produces a result for an actor. (Jacobson, 1992) participants: the system and at least one actor, actor: an actor represents what interacts with the system. n actor is a role, which a user or an external system may assume when interacting with the system under design. ctors are not part of the system, thus they are not described in detail. ctions of actors are non-deterministic (possibly constrained by domain model). use case is triggered by a stimulus as input by the main actor. use case is goal oriented, i.e. the main actor wants to reach a particular goal. use case describes all interactions between the system and the participating actors that are needed to achieve the goal (or fail to achieve the goal for reasons). use case ends when the desired goal is achieved, or when it is clear that the desired goal cannot be achieved. 15/78 Use ase iagrams 18/78

4 Sequence iagrams Sucd use case use case extends uses or include use case use case More notation: client bank system uthenticate Use ase iagrams 19/78 22/ Ssd Sucd Use ase iagram: igger xamples TM info services extend print statement [not auth.] query balance [print statement] include transactions get cash include basic services extend define standing order include authentication (Ludewig and Lichter, 2013) Recall: Vending Machine xample Positive scenario: (i) Insert one 1 euro and one 50 cent coin. (ii) Press the softdrink button. (iii) Get a softdrink. (iv) Get 50 cent change. Negative scenario: (i) fter switching on, insert no money. (ii) Press the tea button. (iii) Get a tea. (iv) Get 100e change. notation understandable by customer precision complexity of definition natural language feels like visual formalism (temporal) logic /78 23/ Ssd Sucd Use ase iagram: igger xamples (V-Modell XT, 2006) 21/78 History Most Prominent: Sequence iagrams with long history: Message Sequence harts, standardized by the ITU in different versions (ITU Z.120, 1st edition: 1993), often accused to lack a formal semantics. Sequence iagrams of UML 1.x (one of three main authors: I. Jacobson) Most severe drawbacks of these formalisms: unclear interpretation: example scenario or invariant? unclear activation: what triggers the requirement? unclear progress requirement: must all messages be observed? conditions merely comments no means (in language) to express forbidden scenarios msc (ITU-T, 2011) 24/78

5 Msg L L is a set of messages with (l,,l ) Msg only if (l,l ) ; message (l,,l ) is called instantaneous iff l l and asynchronous otherwise, ond (2 L \ ) Φ() is a set of conditions with (L,φ) ond only if l l for all l l L, LocInv L {, } Φ() L {, } is a set of local invariants with (l,ι,φ,l,ι ) LocInv only if l l, : exclusive, : inclusive, Θ : L Msg ond LocInv {hot,cold} assigns to each location and each element a temperature. I = {I1,...,In} is a partitioning of L; elements of I are called instance line, a partial order L L, a symmetric simultaneity relation L L disjoint with, i.e. =, L is a finite, non-empty of locations with where ((L,, ),I,Msg,ond,LocInv,Θ) efinition. [LS ody] Let be a set of events and a set of atomic propositions. n LS body over and is a tuple LS ody: bstract Syntax Ssd ation aint servation nstraint :User :System ode d=duration {d..3*d} ardout {0..13} t=now OK {t..t+3} Unlock (OMG, 2007) sd Userccepted LS: L M: invariant I: strict Ss of UML 2.x address some issues, yet the standard exhibits unclarities and even contradictions (Harel and Maoz, 2007; Störrle, 2003) For the lecture, we consider Live Sequence harts (LSs) (amm and Harel, 2001; Klose, 2003; Harel and Marelly, 2003), who have a common fragment with UML 2.x Ss (Harel and Maoz, 2007) Modelling guideline: stick to that fragment. Thus: Live Sequence harts 25/78 28/ Ssd The Plan LSs as another formal software specification: LS body abstract and concrete syntax, xcursion: üchi automata (T), T construction: uts, Firedsets, Transitions, Language of an LS body, Putting it all together: ctivation modes, Pre-charts, xistential and universal LSs, Some bigger LS examples, iscussion of MS issues named on previous slide. Some concluding notes on the block Requirements ngineering. Next block: design, architecture... LS ody xample L : l1,0 l1,1 l1,2 l1,3, l1,2 l1,4, l2,0 l2,1 l2,2 l2,3, l3,0 l3,1 l3,2, l1,1 l2,1, l2,2 l1,2, l2,3 l1,3, l3,2 l1,4, l2,2 l3,1, I = {{l1,0,l1,1,l1,2,l1,3,l1,4},{l2,0,l2,1,l2,2,l2,3},{l3,0,l3,1,l3,2}}, Msg = {(l1,1,,l2,1),(l2,2,,l1,2),(l2,2,,l3,1),(l2,3,,l1,3),(l3,2,,l1,4)} ond = {({l2,2},)}, LocInv = {(l1,1,,,l1,2, )} 26/78 29/78 Live Sequence harts: Syntax (ody) LS ody xample L : l1,0 l1,1 l1,2 l1,3, l1,2 l1,4, l2,0 l2,1 l2,2 l2,3, l3,0 l3,1 l3,2, l1,1 l2,1, l2,2 l1,2, l2,3 l1,3, l3,2 l1,4, l2,2 l3,1, I = {{l1,0,l1,1,l1,2,l1,3,l1,4},{l2,0,l2,1,l2,2,l2,3},{l3,0,l3,1,l3,2}}, Msg = {(l1,1,,l2,1),(l2,2,,l1,2),(l2,2,,l3,1),(l2,3,,l1,3),(l3,2,,l1,4)} ond = {({l2,2},)}, LocInv = {(l1,1,,,l1,2, )} l1,0 l2,0 l3,0 l1,1 l2,1 l1,2 l2,2 l3,1 l1,3 l1,4 l2,3 l3,2 27/78 29/78

6

7 I1 nd The Other Way Round L : I = Msg = ond = LocInv = 30/78 oncrete vs. bstract Syntax L : l1,0 l1,1 l1,2 l1,3, l1,2 l1,4, l2,0 l2,1 l2,2 l2,3, l3,0 l3,1 l3,2, l1,1 l2,1, l2,2 l1,2, l2,3 l1,3, l3,2 l1,4, l2,2 l3,1, I = {{l1,0,l1,1,l1,2,l1,3,l1,4},{l2,0,l2,1,l2,2,l2,3},{l3,0,l3,1,l3,2}}, Msg = {(l1,1,,l2,1),(l2,2,,l1,2),(l2,2,,l3,1),(l2,3,,l1,3),(l3,2,,l1,4)} ond = {({l2,2},)}, LocInv = {(l1,1,,,l1,2, )} I2 31/78 Note: if messages in a chart are cyclic, then there doesn t exist a partial order (so such charts don t even have an abstract syntax). (l1,,l2) Msg : l {l1,l2}. an instance head, i.e. l is minimal wrt., or a message, i.e. then there is a location l simultaneous to l, i.e. l l, which is the location of a local invariant, i.e. (l1,ι1,φ,l2,ι2) LocInv : l {l1,l2}, or a condition, i.e. (L,φ) ond : l L, or For each location l L, if l is the location of ondedness/no floating conditions: (could be relaxed a little if we wanted to) Well-Formedness LocInv = {(l1,1,,,l1,2, )} ond = {({l2,2},)}, Msg = {(l1,1,,l2,1),(l2,2,,l1,2),(l2,2,,l3,1),(l2,3,,l1,3),(l3,2,,l1,4)} L : l1,0 l1,1 l1,2 l1,3, l1,2 l1,4, l2,0 l2,1 l2,2 l2,3, l3,0 l3,1 l3,2, l1,1 l2,1, l2,2 l1,2, l2,3 l1,3, l3,2 l1,4, l2,2 l3,1, I = {{l1,0,l1,1,l1,2,l1,3,l1,4},{l2,0,l2,1,l2,2,l2,3},{l3,0,l3,1,l3,2}}, LS ody xample 29/78 32/78

8 References 77/78 References alzert, H. (2009). Lehrbuch der Softwaretechnik: asiskonzepte und Requirements ngineering. Spektrum, 3rd edition. eck, K. (1999). xtreme Programming xplained mbrace hange. ddison-wesley. amm, W. and Harel,. (2001). LSs: reathing life into Message Sequence harts. Formal Methods in System esign, 19(1): Harel,. and Maoz, S. (2007). ssert and negate revisited: Modal semantics for UML sequence diagrams. Software and System Modeling (SoSyM). To appear. (arly version in SSM 06, 2006, pp ). Harel,. and Marelly, R. (2003). ome, Let s Play: Scenario-ased Programming Using LSs and the Play-ngine. Springer-Verlag. ITU-T (2011). ITU-T Recommendation Z.120: Message Sequence hart (MS), 5 edition. Jacobson, I. (1992). Object Oriented Software ngineering Use ase riven pproach. M Press. Klose, J. (2003). LSs: Graphical Formalism for the Specification of ommunication ehavior. Ph thesis, arl von Ossietzky Universität Oldenburg. Ludewig, J. and Lichter, H. (2013). Software ngineering. dpunkt.verlag, 3. edition. OMG (2007). Unified modeling language: Superstructure, version Technical Report formal/ Rupp,. and die SOPHISTen (2014). Requirements-ngineering und -Management. Hanser, 6th edition. Störrle, H. (2003). ssert, negate and refinement in UML-2 interactions. Technical Report TUM-I0323, Technische Universität München. V-Modell XT (2006). V-Modell XT. Version /78

Lecture 8: Use Cases and Scenarios

Lecture 8: Use Cases and Scenarios Softwaretechnik / Software-Engineering Lecture 8: Use Cases and Scenarios 2016-06-02 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 8 2016-06-02 main Topic

More information

Lecture 8: Use Cases and Scenarios

Lecture 8: Use Cases and Scenarios Softwaretechnik / Software-Engineering Lecture 8: Use Cases and Scenarios 2017-06-01 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 8 2017-06-01 main Topic

More information

Lecture 02: Semantical Model

Lecture 02: Semantical Model Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2014-10-23 02 2014-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2013-10-23 02 2013-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

Lecture 07: Class Diagrams II

Lecture 07: Class Diagrams II Software Design, Modelling and Analysis in UML Lecture 07: lass Diagrams II 2014-11-13 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany ontents & Goals Last Lecture:

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 06: Class Diagrams I 2013-11-11 06 2013-11-11 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Course

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 06: Class Diagrams I 2013-11-11 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Course Map UML W N E Model

More information

Lecture 15: Hierarchical State Machines I

Lecture 15: Hierarchical State Machines I Software Design, Modelling and Analysis in UML Lecture 15: Hierarchical State Machines I 2015-01-08 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal 15 2015-01-08 main Albert-Ludwigs-Universität Freiburg,

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML ourse Map ontents & Goals UML W N E Last Lecture: OL Semantics Software Design, Modelling and Analysis in UML Lecture 05: lass Diagrams I 2011-11-15 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität

More information

Lecture 10: State Machines Overview

Lecture 10: State Machines Overview Software Design, Modelling and Analysis in UML Lecture 10: State Machines Overview 2015-12-03 10 2015-12-03 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

More information

Lecture 16: Hierarchical State Machines II

Lecture 16: Hierarchical State Machines II Software Design, Modelling and Analysis in UML Lecture 6: Hierarchical State Machines II 206-0-9 6 206-0-9 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2013-10-28 03 2013-10-28 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2013-10-28 03 2013-10-28 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

Lecture 6: Requirements Engineering

Lecture 6: Requirements Engineering Softwaretechnik / Software-Engineering Lecture 6: Requirements Engineering 2018-05-07 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 6 2018-05-07 main 6 2018-05-07

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2012-10-30 03 2012-10-30 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 07: A Type System for Visibility 2013-11-18 07 2013-11-18 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

The learning objectives of this chapter are the followings. At the end of this chapter, you shall

The learning objectives of this chapter are the followings. At the end of this chapter, you shall Chapter 5 Sequence diagrams In the previous chapters, we have seen different diagrams. Use case diagrams describe tasks that a system is supposed to perform. It gives high-level information about how a

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2011-11-02 03 2011-11-02 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

Assert and Negate Revisited: Modal Semantics for UML Sequence Diagrams

Assert and Negate Revisited: Modal Semantics for UML Sequence Diagrams Assert and Negate Revisited: Modal Semantics for UML Sequence Diagrams David Harel dharel@weizmann.ac.il (preliminary version) The Weizmann Institute of Science, Rehovot, Israel Shahar Maoz shahar.maoz@weizmann.ac.il

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

Formal Methods for Software Development

Formal Methods for Software Development Formal Methods for Software Development Model Checking with Temporal Logic Wolfgang Ahrendt 21st September 2018 FMSD: Model Checking with Temporal Logic /GU 180921 1 / 37 Model Checking Check whether a

More information

Refinement Using µ-charts: The Compaq Grand Slam Cup Case Study Revisited

Refinement Using µ-charts: The Compaq Grand Slam Cup Case Study Revisited Refinement Using µ-charts: The Compaq Grand Slam Cup Case udy Revisited Hubert Baumeister Institut für Informatik Universität München Oettingenstr. 67 80538 München, Germany Christoph Maier FAST e.v. Arabellastr.

More information

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

Page 1. Dynamic Modeling. How do you find classes? Dynamic Modeling with UML. UML Interaction Diagrams. UML State Chart Diagram.

Page 1. Dynamic Modeling. How do you find classes? Dynamic Modeling with UML. UML Interaction Diagrams. UML State Chart Diagram. Dynamic Modeling How do you find classes? We have already established several sources for class identification: Application domain analysis: We find classes by talking to the client and identify abstractions

More information

Timo Latvala. January 28, 2004

Timo Latvala. January 28, 2004 Reactive Systems: Kripke Structures and Automata Timo Latvala January 28, 2004 Reactive Systems: Kripke Structures and Automata 3-1 Properties of systems invariants: the system never reaches a bad state

More information

T Reactive Systems: Kripke Structures and Automata

T Reactive Systems: Kripke Structures and Automata Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Kripke Structures and Automata Spring 2005, Lecture 3 January 31, 2005 Tik-79.186 Reactive Systems 2 Properties of systems invariants: the system

More information

The Esterel Language. The Esterel Version. Basic Ideas of Esterel

The Esterel Language. The Esterel Version. Basic Ideas of Esterel The Synchronous Language Esterel OMS W4995-02 Prof. Stephen. Edwards Fall 2002 olumbia University epartment of omputer Science The Esterel Language eveloped by Gérard erry starting 1983 Originally for

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

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 08: Class Diagrams II 2013-11-20 08 2013-11-20 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

TERMOS: a Formal Language for Scenarios in Mobile Computing Systems

TERMOS: a Formal Language for Scenarios in Mobile Computing Systems TERMOS: a Formal Language for Scenarios in Mobile Computing Systems Hélène Waeselynck 1,2, Zoltán Micskei 3, Nicolas Rivière 1,2, Áron Hamvas 3, Irina Nitu 1,2 1 CNRS; LAAS 7 av. Colonel Roche F-31077

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 07: Class Diagrams II 2009-11-12 07 2009-11-12 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

CS 115 Data Types and Arithmetic; Testing. Taken from notes by Dr. Neil Moore

CS 115 Data Types and Arithmetic; Testing. Taken from notes by Dr. Neil Moore CS 115 Data Types and Arithmetic; Testing Taken from notes by Dr. Neil Moore Statements A statement is the smallest unit of code that can be executed on its own. So far we ve seen simple statements: Assignment:

More information

INCONSISTENT DATABASES

INCONSISTENT DATABASES INCONSISTENT DATABASES Leopoldo Bertossi Carleton University, http://www.scs.carleton.ca/ bertossi SYNONYMS None DEFINITION An inconsistent database is a database instance that does not satisfy those integrity

More information

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative

More information

Natural Language Requirements

Natural Language Requirements Natural Language Requirements Software Verification and Validation Laboratory Requirement Elaboration Heuristic Domain Model» Requirement Relationship Natural Language is elaborated via Requirement application

More information

Chapter 5, Analysis: Dynamic Modeling

Chapter 5, Analysis: Dynamic Modeling Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 5, Analysis: Dynamic Modeling ü Requirements Elicitation (Ch.4) ü Introduction (Ch 1-3) OOSE- Galaxy ü Nonfunctional Requirements

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction We hardly need to point out the importance of business process modelling and of respective automation in this place (see, e.g. [39, 45, 58, 110, 141]). Also the advantages and shortcomings

More information

Introduction to Unified Modelling Language (UML)

Introduction to Unified Modelling Language (UML) IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Introduction to Unified

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

15-819M: Data, Code, Decisions

15-819M: Data, Code, Decisions 15-819M: Data, Code, Decisions 08: First-Order Logic André Platzer aplatzer@cs.cmu.edu Carnegie Mellon University, Pittsburgh, PA André Platzer (CMU) 15-819M/08: Data, Code, Decisions 1 / 40 Outline 1

More information

Assert and negate revisited: Modal semantics for UML sequence diagrams

Assert and negate revisited: Modal semantics for UML sequence diagrams Softw Syst Model (2008) 7:237 252 DOI 10.1007/s10270-007-0054-z REGULAR PAPER Assert and negate revisited: Modal semantics for UML sequence diagrams David Harel Shahar Maoz Received: 26 August 2006 / Revised:

More information

Multi-event IDS Categories. Introduction to Misuse Intrusion Detection Systems (IDS) Formal Specification of Intrusion Signatures and Detection Rules

Multi-event IDS Categories. Introduction to Misuse Intrusion Detection Systems (IDS) Formal Specification of Intrusion Signatures and Detection Rules Formal Specification of Intrusion Signatures and Detection Rules By Jean-Philippe Pouzol and Mireille Ducassé 15 th IEEE Computer Security Foundations Workshop 2002 Presented by Brian Kellogg CSE914: Formal

More information

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model.

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model. Chapter 6: Entity-Relationship Model The Next Step: Designing DB Schema Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software

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

CS 115 Lecture 4. More Python; testing software. Neil Moore

CS 115 Lecture 4. More Python; testing software. Neil Moore CS 115 Lecture 4 More Python; testing software Neil Moore Department of Computer Science University of Kentucky Lexington, Kentucky 40506 neil@cs.uky.edu 8 September 2015 Syntax: Statements A statement

More information

Material: Specification and Reasoning. Book: Logic in Computer Science, M.Huth, M.Ryan, Cambridge University Press. Lectures mondays here,

Material: Specification and Reasoning. Book: Logic in Computer Science, M.Huth, M.Ryan, Cambridge University Press. Lectures mondays here, Material: Specification and Reasoning Lectures mondays here, Lecturer Pasquale Malacaria CS/428 Labs thursdays with Dino DiStefano Book: Logic in Computer Science, M.Huth, M.Ryan, Cambridge University

More information

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes. Chapter 6: Entity-Relationship Model Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common data organization model The Relational

More information

XIV. The Requirements Specification Document (RSD)

XIV. The Requirements Specification Document (RSD) XIV. The Requirements Specification Document (RSD) What is a RSD? What to include/not include in a RSD? Attributes of a Well-Written RSD Organization of a RSD Sample Table of Contents An Example 2002 John

More information

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc. UML Modeling UML diagrams UML (Unified Modeling Language) is a general purpose visual modeling language that provides different types of diagrammatic techniques and notations to specify, visualize, analyze,

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Overview. Discrete Event Systems - Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. Discrete Event Systems - Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for? Computer Engineering and Networks Overview Discrete Event Systems - Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two

More information

Efficient Synthesis of Production Schedules by Optimization of Timed Automata

Efficient Synthesis of Production Schedules by Optimization of Timed Automata Efficient Synthesis of Production Schedules by Optimization of Timed Automata Inga Krause Institute of Automatic Control Engineering Technische Universität München inga.krause@mytum.de Joint Advanced Student

More information

System Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes

System Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes System Sequence Diagrams Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes Dynamic behaviors Class diagrams represent static relationships. Why? What about modeling dynamic behavior? Interaction

More information

Practical UML : A Hands-On Introduction for Developers

Practical UML : A Hands-On Introduction for Developers Borland.com Borland Developer Network Borland Support Center Borland University Worldwide Sites Login My Account Help Search Practical UML : A Hands-On Introduction for Developers - by Randy Miller Rating:

More information

Formal Specification of Software Systems

Formal Specification of Software Systems Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software

More information

Lecture 03: Object Constraint Language

Lecture 03: Object Constraint Language Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language 2016-10-27 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 03 2016-10-27

More information

/50 5/50 2/50 3/50 6/50. UML-Notationsübersicht. Teil 1/4. Figure Examples of navigable ends. enda. endb main

/50 5/50 2/50 3/50 6/50. UML-Notationsübersicht. Teil 1/4. Figure Examples of navigable ends. enda. endb main a c e g i b d f h j * * Software Design, Modelling and Analysis in UML Lecture 07: Class Diagrams II 20--30 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany UML

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 1: Introduction 2011-10-25 1 2011-10-25 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

Variables and Data Representation

Variables and Data Representation You will recall that a computer program is a set of instructions that tell a computer how to transform a given set of input into a specific output. Any program, procedural, event driven or object oriented

More information

Time Exceptions in Sequence Diagrams

Time Exceptions in Sequence Diagrams in Sequence Diagrams Oddleif Halvorsen, Ragnhild Kobro Runde, Øystein Haugen 02-Oct-2006 MARTES 2006 at MoDELS 2006 1 Summary Introducing time exceptions improve the completeness of sequence diagram descriptions

More information

Transformational Design with

Transformational Design with Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität

More information

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions

More information

Refinement and Formalization of Semi-Formal Use Case Descriptions

Refinement and Formalization of Semi-Formal Use Case Descriptions Refinement and Formalization of Semi-Formal Use Case Descriptions Matthias Riebisch, Michael Hübner Ilmenau Technical University Max-Planck-Ring 14; 98684 Ilmenau; Germany {matthias.riebisch michael.huebner}@tu-ilmenau.de

More information

1: Specifying Requirements with Use Case Diagrams

1: Specifying Requirements with Use Case Diagrams Outline UML Design Supplement 1: Specifying Requirements with Use Case Diagrams Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases Slide adapted from Eran Toch s lecture

More information

Engineering Design w/embedded Systems

Engineering Design w/embedded Systems 1 / 40 Engineering Design w/embedded Systems Lecture 33 UML Patrick Lam University of Waterloo April 4, 2013 2 / 40 What is UML? Unified Modelling Language (UML): specify and document architecture of large

More information

Lecture 6: Requirements Engineering

Lecture 6: Requirements Engineering Lecture 6: Requirements Engineering Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte

More information

MA 1128: Lecture 02 1/22/2018

MA 1128: Lecture 02 1/22/2018 MA 1128: Lecture 02 1/22/2018 Exponents Scientific Notation 1 Exponents Exponents are used to indicate how many copies of a number are to be multiplied together. For example, I like to deal with the signs

More information

From Task Graphs to Petri Nets

From Task Graphs to Petri Nets From Task Graphs to Petri Nets Anthony Spiteri Staines Department of Computer Inf. Systems, Faculty of ICT, University of Malta Abstract This paper describes the similarities between task graphs and Petri

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

Development of Integrated Hard- and Software Systems: Tasks and Processes

Development of Integrated Hard- and Software Systems: Tasks and Processes TECHNISCHE UNIVERSITÄT ILMENAU Development of Integrated Hard- and Software Systems: Tasks and Processes Integrated Communication Systems http://www.tu-ilmenau.de/iks General Development Tasks Analysis

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

Lecture 3: Recursion; Structural Induction

Lecture 3: Recursion; Structural Induction 15-150 Lecture 3: Recursion; Structural Induction Lecture by Dan Licata January 24, 2012 Today, we are going to talk about one of the most important ideas in functional programming, structural recursion

More information

Compiler Construction I

Compiler Construction I TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Compiler Construction I Dr. Michael Petter SoSe 2015 1 / 58 Organizing Master or Bachelor in the 6th Semester with 5 ECTS Prerequisites Informatik

More information

STEPWISE DESIGN WITH MESSAGE SEQUENCE CHARTS *

STEPWISE DESIGN WITH MESSAGE SEQUENCE CHARTS * STEPWISE DESIGN WITH MESSAGE SEQUENCE CHARTS * Ferhat Khendek¹, Stephan Bourduas¹, Daniel Vincent² ¹Department of Electrical and Computer Engineering, Concordia University 1455, de Maisonnneuve W., Montréal

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

Advanced Class Diagrams and Intro to Interaction Modeling

Advanced Class Diagrams and Intro to Interaction Modeling Advanced Class Diagrams and Intro to Interaction Modeling Or: Advance to Illinois Avenue. Do not pass Go. Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO

More information

Lecture 6: Requirements Engineering

Lecture 6: Requirements Engineering Softwaretechnik / Software-Engineering Lecture 6: Requirements Engineering 2016-05-12 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 6 2016-05-12 main 6 2016-05-12

More information

4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271

4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271 Mel Checking LTL Property System Mel Mel Checking CS 4271 Mel Checking OR Abhik Roychoudhury http://www.comp.nus.edu.sg/~abhik Yes No, with Counter-example trace 2 Recap: Mel Checking for mel-based testing

More information

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks OMP/ELE 49/6 Introduction to omputer Networks Intra-domain routing Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

Hoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré

Hoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré Hoare Logic COMP2600 Formal Methods for Software Engineering Rajeev Goré Australian National University Semester 2, 2016 (Slides courtesy of Ranald Clouston) COMP 2600 Hoare Logic 1 Australian Capital

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

Implementation of Lexical Analysis

Implementation of Lexical Analysis Written ssignments W assigned today Implementation of Lexical nalysis Lecture 4 Due in one week y 5pm Turn in In class In box outside 4 Gates Electronically Prof. iken CS 43 Lecture 4 Prof. iken CS 43

More information

Implementation of Lexical Analysis

Implementation of Lexical Analysis Written ssignments W assigned today Implementation of Lexical nalysis Lecture 4 Due in one week :59pm Electronic hand-in Prof. iken CS 43 Lecture 4 Prof. iken CS 43 Lecture 4 2 Tips on uilding Large Systems

More information

A Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version

A Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version The Synchronous Language Prof. Stephen. Edwards Simple Example The specification: The output O should occur when inputs and have both arrived. The R input should restart this behavior. First Try: n FSM

More information

Compiler Construction I

Compiler Construction I TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Compiler Construction I Dr. Michael Petter, Dr. Axel Simon SoSe 2014 1 / 59 Organizing Master or Bachelor in the 6th Semester with 5 ECTS Prerequisites

More information

Using Choice and Junction Points in RSARTE vs RoseRT

Using Choice and Junction Points in RSARTE vs RoseRT Using Choice and Junction Points in RSARTE vs RoseRT CHOICE POINTS IN ROSE RT AND RSARTE...2 CHOICE POINTS VS JUNCTION POINTS...5 HOW CHOICE POINTS ARE IMPORTED FROM ROSERT...8 This document discusses

More information

UML Views of a System

UML Views of a System UML Views of a System The architecture of a system is the fundamental organization of the system as a whole. The five UML Views: Use Case View: focuses on scenarios Design View: focuses on the vocabulary

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

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis. SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented

More information

Formal Specification and Verification

Formal Specification and Verification Formal Specification and Verification Model Checking with Temporal Logic Bernhard Beckert Based on a lecture by Wolfgang Ahrendt and Reiner Hähnle at Chalmers University, Göteborg Formal Specification

More information

Requirements Elicitation

Requirements Elicitation Requirements Elicitation Introduction into Software Engineering Lecture 4 25. April 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation: Software Lifecycle

More information

Models of computation

Models of computation 12 Models of computation Peter Marwedel TU Dortmund Informatik 12 Springer, 2010 2012 年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models of computation What

More information