Introduction Events States Transition State Diagrams State Diagram Behavior Advanced State Modeling In-Class Exercises.

Size: px
Start display at page:

Download "Introduction Events States Transition State Diagrams State Diagram Behavior Advanced State Modeling In-Class Exercises."

Transcription

1 State Models Or: Frenemies of the state: BYOB.... Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box , Tucson, AZ 85721, USA August 27, 2012 Jonathan Sprinkle State Models 1

2 Abstract Abstract This lecture introduces state modeling and state diagrams. Specifically it introduces the modeling of states from the perspective of object-oriented software. Jonathan Sprinkle State Models 2

3 Previously, on ECE Class and Object diagrams are used to define and show the static structure and snapshot (respectively) of program objects Inheritance permits IS-A relationships Any subclass can be substituted for a superclass, since it IS-A superclass Object diagrams show the state of the system at any given time, rather than the state being made up of a block of memory (as in the old days). Jonathan Sprinkle State Models 3

4 Outline 1 Introduction Statics... Dynamics Discrete Event Semantics 2 Events Signal Event Change Event Time Event 3 States Events vs. States 4 Transition 5 State Diagrams 6 State Diagram Behavior Activity Effects Do activities Entry and Exit Activities Completion Transition Sending Signals 7 Advanced State Modeling Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 8 In-Class Exercises Jonathan Sprinkle State Models 4

5 Statics... The class and object diagrams help us to understand the static structure of a program. That is, the structure at any instant in execution (i.e., the state) of the system/program is the static structure of the objects (rewritten as an object diagram). When we consider the statics of a physical system, the relevant concepts which allow us to design, evaluate, and otherwise examine a physical system include Free-body diagrams Algebraic composition Geometric multiplication and proofs Newtonian statics Jonathan Sprinkle State Models 5

6 Statics... Ring any bells? In short, the statics of a physical system is generally represented by diagrams, and the system is considered in a steady state of static equilibrium like Stonehenge (as opposed to a steady state of dynamic equilibrium, such as a pendulum). This is generally summed up by the classic statics equation of F = 0 (1) Jonathan Sprinkle State Models 6

7 Statics... On the other hand... Of course, most advanced statics projects also take into account physical dynamics (wind, resonance, earthquakes, motion stress, etc.) but for the purposes of this lecture the elementary and introductory mathematics is as described. It may be interesting for the reader to note that the design of a sufficiently large software system also takes into account the dynamical behavior when designing the static structure. So, although the design may take such advanced concepts into account, the documentation and modeling concepts still address only their static behavior, just as is the case for free body diagrams, etc., in civil engineering. Jonathan Sprinkle State Models 7

8 Dynamics The dynamics of a program is a different story. In physical systems, the dynamics is the change of the system with respect to time. The modeling concepts that enable the evaluation, design, and other aspects of a representative physical system include differential equations Newtonian dynamics Euler s equations of motion Moments of inertia Jonathan Sprinkle State Models 8

9 Dynamics Again... aside... In short, the dynamics of the physical system is approximated by the classical dynamics equation 1. F = d(mv) dt (2) 1 You may recall that you memorized F = ma, which is not the way that Newton phrased his second law. It was actually phrased as F = d(p), where p dt represents the momentum. For classical physics, m is constant for all momenta; however, as exemplified by Einstein s Special Theory of Relativity, this is not always true, though it is interesting to note that Newtonian theory is generally correct in its expression, if not its common practice. Jonathan Sprinkle State Models 9

10 Dynamics Context All this is well-and-good, but d for the majority of programming languages, dt does not make sense, since time is not of fundamental impact to programs written in these languages consider that the execution of your programs is independent of what kind of machines it is run on while there are differences in state, for most computational projects that difference does not impact the functional output of the program Jonathan Sprinkle State Models 10

11 Discrete Event Semantics Discrete not discreet The most common way to refer to the rate-of-change of state in a computer program is through discrete event semantics. In this semantics, events which are received or processed by the system determine the next course of action for the system. For procedural languages, the discrete event semantics (on a gross scale) are very simple: while PC!= EOF do do execute(pc.value) PC++ end Jonathan Sprinkle State Models 11

12 Discrete Event Semantics Is it really that easy? Although this is a generalization, it s not too far from the truth. In fact, a procedural language merely always executes the next thing in its list; but, it s important to note that it can also modify its own list, making for very advanced programs (if not easy to understand). This brings us back to the idea of how OO programs are generally considered to execute. They are also best characterized as discrete event systems; that is, the receipt of an expected (or unexpected) event causes behavior change for the program. We will now discuss the formalisms that allow this, and how they are described graphically. Jonathan Sprinkle State Models 12

13 Outline 1 Introduction Statics... Dynamics Discrete Event Semantics 2 Events Signal Event Change Event Time Event 3 States Events vs. States 4 Transition 5 State Diagrams 6 State Diagram Behavior Activity Effects Do activities Entry and Exit Activities Completion Transition Sending Signals 7 Advanced State Modeling Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 8 In-Class Exercises Jonathan Sprinkle State Models 13

14 Events are a special kind of message which indicate state change. Definition An event is an instantaneous behavior with regard to the behavioral scale of an application. For the purposes of this discussion, we consider that all events occur atomically. Jonathan Sprinkle State Models 14

15 Definition An event is considered atomic if it cannot be interrupted during its formulation, delivery, and receipt. It is not always valid to consider that an event is atomic. Classic examples are on a distributed system, where the delivery of an event may be bounded by network latency and other physical limitations. For an introduction we ignore such advanced possibilities. Events may logically precede or follow one another. For example, a flight must take off before it lands. These events are said to be causally related of course this depends on a notion of before and after, without making explicit notions of how long, or even of time in general. Jonathan Sprinkle State Models 15

16 Definition Two events that are causally unrelated are said to be concurrent. Corollary Concurrent events have no effect on each other. We will now discuss the kinds of events which are commonly accepted in OO concepts. The term event is overloaded. Sometimes it refers to an instance, sometimes to a class. To disambiguate (as necessary) use the term event occurrence to refer to the instance, and event type to refer to a class. Jonathan Sprinkle State Models 16

17 Signal Event Definition A signal is an explicit one-way transmission of information from one object to another. Signals are by definition different from a subroutine or method which returns a value. While a subroutine may be initiated by receipt of a signal, the return value is, itself, a separate message. The signal will not expect a reply to confirm receipt; such formalisms must be extensions of the designed software. Jonathan Sprinkle State Models 17

18 Signal Event Definition A signal event is the event of sending or receiving a signal. A signal is a message; a signal event is an occurrence of a signal in time. Every signal event is a unique occurrence, but we can group them into signal classes. We use the stereotype of signal in guillemots. Example FlightDeparture: airline, flightnumber, city, date, gate FlightArrival: airline, flightnumber, city, date, gate <<signal>> FlightDeparture airline flightnumber city date gate <<signal>> FlightArrival airline flightnumber city date gate Jonathan Sprinkle State Models 18

19 Change Event Definition A change event is an event that is caused by the satisfaction of a boolean expression The intent of a change event is that the condition is (sufficiently) continuously tested, and that whenever the expression changes from false to true, the event happens. Note that the change from true to false does not generate a separate event according to these semantics. Example Sample change events when( roomtemperature > heatingsetpoint ) when( roomtemperature < heatingsetpoint ) when( batterypower < lowerlimit ) when( tirepressure < minimumpressure ) Jonathan Sprinkle State Models 19

20 Time Event Definition A time event is an event caused by the occurrence of an absolute time or the elapse of a time interval. Example Time event examples when( date = 23:58:14 January 1, 2000 ) after( 1.04 seconds ) Jonathan Sprinkle State Models 20

21 Outline 1 Introduction Statics... Dynamics Discrete Event Semantics 2 Events Signal Event Change Event Time Event 3 States Events vs. States 4 Transition 5 State Diagrams 6 State Diagram Behavior Activity Effects Do activities Entry and Exit Activities Completion Transition Sending Signals 7 Advanced State Modeling Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 8 In-Class Exercises Jonathan Sprinkle State Models 21

22 Definition A state is an abstraction of the values and links of an object. You will recall from previous discussions that the state of an object is the state of all of its contained objects; this also includes the state of any links in which the object is participating, but not (necessarily) the state of the linked objects. Jonathan Sprinkle State Models 22

23 States generally refer to a verb (e.g., boiling), whereas events generally refer to an action (e.g., StoveTurnedOn). Note that events may be generated by state changes (e.g., change events). The UML notation for a state is a rounded box containing an (optional) state name. StateName entry/action do/activity exit/action event/action(arguments) Jonathan Sprinkle State Models 23

24 Example (Some Sample States) Example states: Powered Boiling InFlight OnApproach Boarding Jonathan Sprinkle State Models 24

25 Events vs. States Events represent points in time ; states represent the abstract state of an object (or collection of objects). Consider the below diagram. power turned on power turned off power turned on Powered Not Powered t = t 0 t 1 t 2 t 3 time Figure: Power up, power down Jonathan Sprinkle State Models 25

26 Outline 1 Introduction Statics... Dynamics Discrete Event Semantics 2 Events Signal Event Change Event Time Event 3 States Events vs. States 4 Transition 5 State Diagrams 6 State Diagram Behavior Activity Effects Do activities Entry and Exit Activities Completion Transition Sending Signals 7 Advanced State Modeling Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 8 In-Class Exercises Jonathan Sprinkle State Models 26

27 Definition A transition is an instantaneous change from one state to another. Definition A transition is said to fire upon the change from the source state to the target state. Generally, the origin and target states are different, but not necessarily. The choice of next state depends both on the original state, and the event received. An event may cause multiple objects to transition; in this case, you can consider that they transition concurrently. Jonathan Sprinkle State Models 27

28 Definition A guard condition is a boolean expression that must be true in order for a transition to occur. The syntax for guard and event along a transition is event[guard]. State1 entry/action do/activity exit/action event/action(arguments) event[guard] State2 entry/action do/activity exit/action Jonathan Sprinkle State Models 28

29 Outline 1 Introduction Statics... Dynamics Discrete Event Semantics 2 Events Signal Event Change Event Time Event 3 States Events vs. States 4 Transition 5 State Diagrams 6 State Diagram Behavior Activity Effects Do activities Entry and Exit Activities Completion Transition Sending Signals 7 Advanced State Modeling Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 8 In-Class Exercises Jonathan Sprinkle State Models 29

30 Definition A state diagram is a graph whose nodes are states and whose directed, annotated, arcs are transitions between states. Some constraints bind a structure of a state diagram. state names must be unique within the scope of a state diagram all objects in a class execute the state diagram for that class, which models their common behavior Jonathan Sprinkle State Models 30

31 Definition The state model consists of multiple state diagrams, one state diagram for each class Constraints: State diagrams must match on their interfaces events and guard conditions State diagrams interact by passing events and through side effects of guard conditions Jonathan Sprinkle State Models 31

32 Outline 1 Introduction Statics... Dynamics Discrete Event Semantics 2 Events Signal Event Change Event Time Event 3 States Events vs. States 4 Transition 5 State Diagrams 6 State Diagram Behavior Activity Effects Do activities Entry and Exit Activities Completion Transition Sending Signals 7 Advanced State Modeling Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 8 In-Class Exercises Jonathan Sprinkle State Models 32

33 Activity Effects Definition An effect is a reference to a behavior that is executed in response to an event. Definition An activity is the actual behavior that can be invoked by any number of effects. The notation for an activity is a slash, which follows the guard condition on a transition, or listed in the initial behavior of a state. State1 entry/action do/activity exit/action event[guard]/action State2 entry/action do/activity exit/action Jonathan Sprinkle State Models 33

34 Do activities Definition A do-activity is an activity that continues for an extended time. A do-activity occurs at most once within a state and cannot be attached to a transition (e.g., flashing warning light), because it is not instantaneous. Jonathan Sprinkle State Models 34

35 Entry and Exit Activities As an alternative to showing activities on transition, you can bind them to the entry (or exit) of a state. These are called entry and exit activities, and they are run as the very first or last events when entering/leaving a state. Jonathan Sprinkle State Models 35

36 Completion Transition When an activity is complete, often an unlabeled transition called the completion transition signals that the activity is done. However, it may be possible get a state stuck if guard conditions prevent taking the transition, and no more completion transitions fire. Jonathan Sprinkle State Models 36

37 Completion Transition Transitions happen. State1 entry/action do/activity exit/action event/action(arguments) event[guard] State2 entry/action do/activity exit/action Jonathan Sprinkle State Models 37

38 Completion Transition Activities happen. State1 entry/action do/activity exit/action event/action(arguments) event[guard]/action State2 entry/action do/activity exit/action Jonathan Sprinkle State Models 38

39 Completion Transition Completion transitions When an activity is complete, or no activity exists, an unlabeled transition called the completion transition can be taken when activity is done. This is in response to the completion event, which fires only once. State1 State2 entry/action do/activity exit/action However, it may be possible get a state stuck if guard conditions prevent taking the transition, and no more completion transitions fire. Completion transitions should be used with care or not at all!! You will be heavily penalized on exams and homework assignments for state models with ambiguous completion transitions. Jonathan Sprinkle State Models 39

40 Sending Signals Race conditions An object can send a signal to another object, or objects. Generally, if a signal is directed at a group of objects, then each object received a unique signal, and they are processed concurrently. If an object can receive signals from more than one object, then it may be possible for the order of receipt to affect the final state of the object. This effect is called a race condition. Definition A race condition is a design consequence, wherein a particular object s final state is nondeterministic when considering the order of receipt of messages from more than one source. It is interesting to note that race conditions are not necessarily design flaws, but that many real-time of concurrent systems prefer that race conditions do not exist. Jonathan Sprinkle State Models 40

41 Outline 1 Introduction Statics... Dynamics Discrete Event Semantics 2 Events Signal Event Change Event Time Event 3 States Events vs. States 4 Transition 5 State Diagrams 6 State Diagram Behavior Activity Effects Do activities Entry and Exit Activities Completion Transition Sending Signals 7 Advanced State Modeling Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 8 In-Class Exercises Jonathan Sprinkle State Models 41

42 Advanced State Modeling Previously discussed concepts for state modeling are sufficient for toy examples, but systems which are deployed frequently require more advanced concepts. This information is from Chapter 6 of the text. Jonathan Sprinkle State Models 42

43 Nested State Diagrams Flat state diagrams can become unwieldy, and are often so large that they cannot be readily understood as a documentation tool. Furthermore, it may be the case that the complexity of a flattened state diagram may hide design flaws in the same way that the complexity of textual code, for a sufficiently large example. Enter, then, nested state diagrams, which allow subdiagrams to hide complexity, or refactor tasks. Consider a vending machine, with 10 different selections. The act of dispensing an item can be refactored as a single state, even though it may require several sub-states to complete its task. Jonathan Sprinkle State Models 43

44 Nested State Diagrams Example (From Figures 6.2, 6.3 in Chapter 6) Consider a vending machine, with more that one selectable item. Vending Machine start Idle cons in(amount) / set balance cancel / refund coins [item empty] Collecting money coins in(amount) / add to balance select(item) do / test item and compute change [change < 0] [change = 0] [change > 0] dispense : DispenseItem do / make change Figure: The Vending Machine state diagram Jonathan Sprinkle State Models 44

45 Nested State Diagrams A submachine: DispenseItem Example (The DispenseItem submachine) DispenseItem start do / move arm( item.getrow( ) ) arm ready do / move arm( item.getcol( ) ) end pushed do / push item off shelf arm ready Figure: The DispenseItem subdiagram Jonathan Sprinkle State Models 45

46 Concurrency and States Aggregation Concurrency State models by their appearance and definition support concurrency well; however, it is entirely possible that certain objects may require interdependence at certain points in their life. The aggregate state refers to the combined state of all state diagrams in a collection. Definition Aggregation Concurrency is an and relationship between concurrent states. Two state which employ aggregation concurrency are both active at the same time. Jonathan Sprinkle State Models 46

47 Concurrency and States When employing Aggregation Concurrency, it is most interesting for contained states to interact (e.g., transitions for one object may depend on the state of another object). Example (Car example.) Car Transmission Accelerator Brake Jonathan Sprinkle State Models 47

48 Concurrency and States Aggregation s Concurrent State Diagram Transmission start select(reverse) Park Reverse select(park)[v=0] select(park)[v=0] select(drive) Drive when( v > v_max ) First when( v < v_min ) Second Accelerator Idle do / decrease v push down Depressed do / increase v release Brake Idle Depressed push down do / decrease v release Jonathan Sprinkle State Models 48

49 Concurrency within an Object When modeling an object which may have a concurrent set of states, it is possible to partition the state with a dotted line, to show that the state of the object is a tuple of single states from each concurrent region. State State1 State2 StateA StateB The state can be State1 and StateB, for example, but not StateA and StateB since exactly one state from each partition must be active. Jonathan Sprinkle State Models 49

50 Concurrency within an Object Example (Tennis Game) Jonathan Sprinkle State Models 50

51 Synchronization of Concurrent Activities For atomic synchronization, it is possible to use splitting and merging. Definition Splitting control requires that all following activities occur concurrently. A splitting fork (heavy bar with one input and 2..* outputs) denotes splitting of control. Definition Merging control is the collection of completion of all incoming activities before continuing. A merging (or joining) fork (heavy bar with 2..* inputs and one output) denotes merging of control. Jonathan Sprinkle State Models 51

52 Synchronization of Concurrent Activities A few notes... Merge and split are themselves transitions, and fire based on events, guards, and can produce actions. It is not necessary for concurrent states (after splitting control) to occur simultaneously. Implicit merges and simple splitting can cause headaches if states (and substates) do not contain default states. You should specify a default state for all concurrent substates to avoid confusion. Jonathan Sprinkle State Models 52

53 Outline 1 Introduction Statics... Dynamics Discrete Event Semantics 2 Events Signal Event Change Event Time Event 3 States Events vs. States 4 Transition 5 State Diagrams 6 State Diagram Behavior Activity Effects Do activities Entry and Exit Activities Completion Transition Sending Signals 7 Advanced State Modeling Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 8 In-Class Exercises Jonathan Sprinkle State Models 53

54 Example (Completion Confusion) Create 2-3 example state models where completion transitions are used to describe a specific design of your choosing. Have some be clear, and others be unclear. Create sequence diagrams for unclear state models. Example (Current Concurrent) Create a state model using concurrent substates, to describe how capacitors in an example circuit are charging. Make sure to show the example circuit, but no specific equations need be given. Example (Substate Mate) Create a state model with explicit substates, that describe a chess game, and various strategies that either player will use as parts of each substate. Be general in your algorithms, not specific. Jonathan Sprinkle State Models 54

Advanced State Modeling

Advanced State Modeling Advanced State Modeling Or: Derek Zoolander Strikes Back Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA Jonathan Sprinkle

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

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

Course "Softwaretechnik" Book Chapter 5 Analysis: Dynamic Modeling

Course Softwaretechnik Book Chapter 5 Analysis: Dynamic Modeling Course "Softwaretechnik" Book Chapter 5 Analysis: Dynamic Modeling Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

System Modeling III: Dynamic Modeling

System Modeling III: Dynamic Modeling System Modeling III: Dynamic Modeling Introduction into Software Engineering Lecture 7 9 May 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Reverse Engineering Challenge

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

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

Object Behaviours UML Statecharts

Object Behaviours UML Statecharts Object Behaviours UML Statecharts Software Requirements and Design CITS 4401 Lecture 5 Based on Ch 5 Lecture Notes by Bruegge & Dutoit Finite state machine flip switch on light off light on flip switch

More information

7. Relational Calculus (Part I) 7.1 Introduction

7. Relational Calculus (Part I) 7.1 Introduction 7. Relational Calculus (Part I) 7.1 Introduction We established earlier the fundamental role of relational algebra and calculus in relational databases (see 5.1). More specifically, relational calculus

More information

ADVANCED LINK AND ASSOCIATION CONCEPTS

ADVANCED LINK AND ASSOCIATION CONCEPTS OBJECT We define an object as a concept, abs ration or thin g with crisp boundaries and meaning for the problem at hand. Object serve two purpose: They promote understanding of the real world and provide

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

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

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

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

Object-Oriented Modeling. State Machine Diagram. Slides accompanying Version 1.0

Object-Oriented Modeling. State Machine Diagram. Slides accompanying Version 1.0 Object-Oriented Modeling State Machine Diagram Slides accompanying UML@Classroom Version 1.0 Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology

More information

OMG Modeling Glossary B

OMG Modeling Glossary B OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management

Ingegneria del Software Corso di Laurea in Informatica per il Management Ingegneria del Software Corso di Laurea in Informatica per il Management UML: State machine diagram Davide Rossi Dipartimento di Informatica Università di Bologna State machine A behavioral state machine

More information

Object-Oriented Introduction

Object-Oriented Introduction Object-Oriented Introduction Or: Your Honor, I Object... Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA August 22, 2012

More information

Simulative Evaluation of Internet Protocol Functions

Simulative Evaluation of Internet Protocol Functions Simulative Evaluation of Internet Protocol Functions Introduction Course Objectives & Introduction Performance Evaluation & Simulation A Manual Simulation Example Resources http://www.tu-ilmenau.de/fakia/simpro.html

More information

Applications of Finite State Machines

Applications of Finite State Machines 15-453 Formal Languages, Automata, and Computation Applications of Finite State Machines Mihai Budiu Lecture 3 January 24, 2000 Formal languages and automata are probably the biggest success story of theoretical

More information

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions): CS 70 Discrete Mathematics for CS Fall 2003 Wagner Lecture 7 This lecture returns to the topic of propositional logic. Whereas in Lecture 1 we studied this topic as a way of understanding proper reasoning

More information

Advanced UML Class Models

Advanced UML Class Models Advanced UML Class Models Or: Love s Labors Lost Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA August 27, 2012 Jonathan

More information

Appendix D: Mapping BPMN to BPD Profile

Appendix D: Mapping BPMN to BPD Profile Appendix D: Mapping BPMN to BPD Profile Members of bpmi.org and the OMG are interested in the unification of the UML 2.0 and BPMN notation for the support of the business user. This draft mapping is in

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

In This Lecture You Will Learn: Specifying Control. Statechart. Event, State and Transition

In This Lecture You Will Learn: Specifying Control. Statechart. Event, State and Transition In This Lecture You Will Learn: Specifying Control Lecture 11 How to identify requirements for control in an application How to model object life cycles using statecharts How to develop statechart diagrams

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

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

UML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site:

UML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site: UML Reference Sheets 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site: http://www.tatanka.com/ Revision Information This document was last revised 2014.03.02. The current

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

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

An Evolution of Mathematical Tools

An Evolution of Mathematical Tools An Evolution of Mathematical Tools From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world.

More information

IEEE LANGUAGE REFERENCE MANUAL Std P1076a /D3

IEEE LANGUAGE REFERENCE MANUAL Std P1076a /D3 LANGUAGE REFERENCE MANUAL Std P1076a-1999 2000/D3 Clause 10 Scope and visibility The rules defining the scope of declarations and the rules defining which identifiers are visible at various points in the

More information

Programming Languages Third Edition

Programming Languages Third Edition Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand

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

Discrete Mathematics Lecture 4. Harper Langston New York University

Discrete Mathematics Lecture 4. Harper Langston New York University Discrete Mathematics Lecture 4 Harper Langston New York University Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2,, a n, Each individual element a k is called a

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2003 Vol. 2, No. 6, November-December 2003 UML 2 Activity and Action Models Part 3:

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics 400 lecture note #4 [Ch 6] Set Theory 1. Basic Concepts and Definitions 1) Basics Element: ; A is a set consisting of elements x which is in a/another set S such that P(x) is true. Empty set: notated {

More information

Introductory logic and sets for Computer scientists

Introductory logic and sets for Computer scientists Introductory logic and sets for Computer scientists Nimal Nissanke University of Reading ADDISON WESLEY LONGMAN Harlow, England II Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario

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

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

Unified Modeling Language I.

Unified Modeling Language I. Unified Modeling Language I. Software engineering Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline Software engineering Modeling Unified Modeling Language (UML) UML Diagrams: Use Case Diagram Activity

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

Meltem Özturan

Meltem Özturan Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.

More information

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

UNIT V *********************************************************************************************

UNIT V ********************************************************************************************* Syllabus: 1 UNIT V 5. Package Diagram, Component Diagram, Deployment Diagram (08 Hrs, 16 Marks) Package Diagram: a. Terms and Concepts Names, Owned Elements, Visibility, Importing and Exporting b. Common

More information

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M Introduction to UML Part I 1 What is UML? Unified Modeling Language, a standard language for designing and documenting a system in an object- oriented manner. It s a language by which technical architects

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

Solved Question Paper June 2017

Solved Question Paper June 2017 Solved Question Paper June 2017 1.a) What are the benefits of Object Oriented Methodology in real life applications? Briefly explain each element of the state diagram with respect to dynamic modeling.

More information

Computer Science for Engineers

Computer Science for Engineers Computer Science for Engineers Lecture 5 Object Orientation part 3 Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 27 th of November 2009 Aggregation and Composition (1) A special case of an

More information

Functional programming with Common Lisp

Functional programming with Common Lisp Functional programming with Common Lisp Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada August 11, 2016 1 / 81 Expressions and functions

More information

User Interface Design with Components

User Interface Design with Components User Interface Design with Components TIP X LIU, School of Computing, Napier University This chapter discuss the principals of user interface design, popular user interaction styles, UCM architecture,

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

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

UNIT 1 INTRODUCTION, MODELING CONCEPTS, CLASS MODELING Dec.09/Jan.10

UNIT 1 INTRODUCTION, MODELING CONCEPTS, CLASS MODELING Dec.09/Jan.10 UNIT 1 INTRODUCTION, MODELING CONCEPTS, CLASS MODELING Dec.09/Jan.10 1.a. Explain the models in OO development. Bring out the relationships among the models.(10 marks) Class Model: describes the structure

More information

Towards a Logical Reconstruction of Relational Database Theory

Towards a Logical Reconstruction of Relational Database Theory Towards a Logical Reconstruction of Relational Database Theory On Conceptual Modelling, Lecture Notes in Computer Science. 1984 Raymond Reiter Summary by C. Rey November 27, 2008-1 / 63 Foreword DB: 2

More information

Software Design and Analysis CSCI 2040

Software Design and Analysis CSCI 2040 Software Design and Analysis CSCI 2040 Introduce UML State Machine Diagram Notation. Create State Machine Diagrams for Classes and Use Cases. Advanced techniques in Activity Diagrams. Software Design and

More information

From Analysis to Design. LTOOD/OOAD Verified Software Systems

From Analysis to Design. LTOOD/OOAD Verified Software Systems From Analysis to Design 1 Use Cases: Notation Overview Actor Use case System X System boundary UCBase «extend» UCExt Actor A UCVar1 UCVar2 Extending case Generalization «include» Actor B UCIncl Included

More information

IDEF3 Process Modeling

IDEF3 Process Modeling IDEF3 Process Modeling What is a Process Model? Simply pyp put, the Process Model is the way that work is divided in a value delivery system. James B. Swartz A representation of a process and its related

More information

1 Executive Overview The Benefits and Objectives of BPDM

1 Executive Overview The Benefits and Objectives of BPDM 1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

Programming Lecture 3

Programming Lecture 3 Programming Lecture 3 Expressions (Chapter 3) Primitive types Aside: Context Free Grammars Constants, variables Identifiers Variable declarations Arithmetic expressions Operator precedence Assignment statements

More information

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.3 Direct Proof and Counterexample III: Divisibility Copyright Cengage Learning. All rights

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course Softwaretechnik Book Chapter 2 Modeling with UML Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,

More information

Definition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,,

Definition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,, CMPSCI 601: Recall From Last Time Lecture 5 Definition: A context-free grammar (CFG) is a 4- tuple, variables = nonterminals, terminals, rules = productions,,, are all finite. 1 ( ) $ Pumping Lemma for

More information

G Programming Languages - Fall 2012

G Programming Languages - Fall 2012 G22.2110-003 Programming Languages - Fall 2012 Lecture 4 Thomas Wies New York University Review Last week Control Structures Selection Loops Adding Invariants Outline Subprograms Calling Sequences Parameter

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 8: Modelling Interactions and Behaviour

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 8: Modelling Interactions and Behaviour Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour 8.1 Interaction Diagrams Interaction diagrams are used to model the

More information

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction UML Unified Modeling Language Very well recognized specification for modeling architectures, use cases, etc. UML

More information

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.3 Direct Proof and Counterexample III: Divisibility Copyright Cengage Learning. All rights

More information

CH 5:: STATE MODELING. Prepared by: Ms. Pankti Dharwa (SVBIT)

CH 5:: STATE MODELING. Prepared by: Ms. Pankti Dharwa (SVBIT) CH 5:: STATE MODELING Prepared by: Ms. Pankti Dharwa (SVBIT) EVENTS An event is something which happens outside the thing which is being considered, possibly requiring some action to be taken. i.e.an occurrence

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

MA651 Topology. Lecture 4. Topological spaces 2

MA651 Topology. Lecture 4. Topological spaces 2 MA651 Topology. Lecture 4. Topological spaces 2 This text is based on the following books: Linear Algebra and Analysis by Marc Zamansky Topology by James Dugundgji Fundamental concepts of topology by Peter

More information

SCXML State Chart XML

SCXML State Chart XML SCXML State Chart XML Previously, in this course... Previously, in this course... Running Example all actions omitted wasn t it supposed to help? Previously, in this course... Running Example all actions

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

UML 2.0 State Machines

UML 2.0 State Machines UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML

More information

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Weiss Chapter 1 terminology (parenthesized numbers are page numbers) Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement

More information

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur Module 3 Requirements Analysis and Specification Lesson 6 Formal Requirements Specification Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a formal

More information

UNIT-IV BASIC BEHAVIORAL MODELING-I

UNIT-IV BASIC BEHAVIORAL MODELING-I UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction

More information

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series UML Models Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents UML Models UML Diagrams UML Structural Models Class Diagram Composite

More information

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1)

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 2 Professional Program: Data Administration and Management JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1) AGENDA

More information

COP 3330 Final Exam Review

COP 3330 Final Exam Review COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time

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

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

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions): CS 70 Discrete Mathematics for CS Spring 2005 Clancy/Wagner Notes 7 This lecture returns to the topic of propositional logic. Whereas in Lecture Notes 1 we studied this topic as a way of understanding

More information

Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman Chapter 7 Requirements Modeling: Flow, Behavior, Patterns, and WebApps Slides in this presentation were taken from two sources: Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman

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

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 9: UML Class (Concept), Object, Communication Diagrams Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445

More information

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

CSE 417 Network Flows (pt 3) Modeling with Min Cuts CSE 417 Network Flows (pt 3) Modeling with Min Cuts Reminders > HW6 is due on Friday start early bug fixed on line 33 of OptimalLineup.java: > change true to false Review of last two lectures > Defined

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

CMSC 330: Organization of Programming Languages. Operational Semantics

CMSC 330: Organization of Programming Languages. Operational Semantics CMSC 330: Organization of Programming Languages Operational Semantics Notes about Project 4, Parts 1 & 2 Still due today (7/2) Will not be graded until 7/11 (along with Part 3) You are strongly encouraged

More information

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Semantics via Syntax. f (4) = if define f (x) =2 x + 55. 1 Semantics via Syntax The specification of a programming language starts with its syntax. As every programmer knows, the syntax of a language comes in the shape of a variant of a BNF (Backus-Naur Form)

More information

Intro to Haskell Notes: Part 5

Intro to Haskell Notes: Part 5 Intro to Haskell Notes: Part 5 Adrian Brasoveanu October 5, 2013 Contents 1 Curried functions and related issues 1 1.1 Curried functions......................................... 1 1.2 Partially applied

More information

CS 556 Advanced Computer Networks Spring Solutions to Midterm Test March 10, YOUR NAME: Abraham MATTA

CS 556 Advanced Computer Networks Spring Solutions to Midterm Test March 10, YOUR NAME: Abraham MATTA CS 556 Advanced Computer Networks Spring 2011 Solutions to Midterm Test March 10, 2011 YOUR NAME: Abraham MATTA This test is closed books. You are only allowed to have one sheet of notes (8.5 11 ). Please

More information

CS 242. Fundamentals. Reading: See last slide

CS 242. Fundamentals. Reading: See last slide CS 242 Fundamentals Reading: See last slide Syntax and Semantics of Programs Syntax The symbols used to write a program Semantics The actions that occur when a program is executed Programming language

More information

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.8 Application: Algorithms Copyright Cengage Learning. All rights reserved. Application:

More information