Real Time UML. Bruce Powel Douglass. Organized by:

Size: px
Start display at page:

Download "Real Time UML. Bruce Powel Douglass. Organized by:"

Transcription

1 Fr 5 January 22 th -26 th, 2007, Munich/Germany Real Time UML Bruce Powel Douglass Organized by: Lindlaustr. 2c, Troisdorf, Tel.: +49 (0) , Fax.: +49 (0)

2 Bruce Powel Douglass, PhD Chief Evangelist Telelogic Systems and Software Modeling Division groups.yahoo.com/group/rt-uml 1 Telelogic AB Basics of UML What is UML? How do we capture requirements using UML? How do we describe structure using UML? How do we model communication using UML? How do we describe behavior using UML? The Profile The Harmony Process 2 Telelogic AB

3 What is UML? 3 Telelogic AB What is UML? Unified Modeling Language Comprehensive full life-cycle 3rd Generation modeling language Standardized in 1997 by the OMG Created by a consortium of 12 companies from various domains Telelogic/I-Logix a key contributor to the UML including the definition of behavioral modeling Incorporates state of the art Software and Systems A&D concepts Matches the growing complexity of real-time systems Large scale systems, Networking, Web enabling, Data management Extensible and configurable Unprecedented inter-disciplinary market penetration Used for both software and systems engineering UML 2.0 is latest version (2.1 in process ) 4 Telelogic AB

4 UML supports Key Technologies for Development Real-Time Frameworks Iterative Development Visual Modeling Automated Requirements- Based Testing Model Execution Model-Code Associativity 5 Telelogic AB Class Diagrams Object Diagrams Deployment Diagrams Component Diagrams Structure Diagrams UML 2 Diagrams Structural Diagrams Communication Diagrams Behavioral Diagrams Interaction Diagrams Activity Diagrams Functional Diagrams Sequence Diagrams Timing Diagrams Statechart Diagrams Info Flow Diagrams Use Case Diagrams 6 Telelogic AB

5 How does UML apply to Real-Time? is standard UML UML is adequate for real-time systems Grady Booch 1997 Although there have been a number of calls to extend UML for the real-time domain experience had proven this is not necessary. Bran Selic, 1999 (Communications of the ACM, Oct 1999) Real-time and embedded applications Special concerns about quality of service (QoS) Special concerns about low-level programming Special concerns about safety and reliability is about applying the UML to meet the specialized concerns of the real-time and embedded domains 7 Telelogic AB How do we capture requirements using UML? Use Case Modeling 8 Telelogic AB

6 Why Use Case Modeling? Use Case modeling is all about describing WHAT the system will do, At a high level Analysis NOT Design From the perspective of the USER Use Cases Scope the System The developers need to minimally develop the functionality described by the use cases. Users should not expect more/less/different functionality than is described by the use cases Use Cases organize requirements Provide a means to map requirements into interactions of the structural pieces of the system called collaborations Can be used for project planning 9 Telelogic AB Association Basic Use Case Syntax Use Case { optical images 640x480 res at 30 fps} Constraint Actor 10 Telelogic AB

7 An Actor... Is an object outside the scope of the system of concern that interacts with the system May be a hardware device May be a legacy system May be a human user May be generalized 11 Telelogic AB Is a named operational capability of a system Why the user interacts with the system Returns a result visible to one or more actors Does not reveal or imply internal structure of the system A Use Case 12 Telelogic AB

8 A Use Case Is Used to Capture requirements of a system Functional requirements What the system does Quality of Service (QoS) How well the system does it: Worst-case execution time Average execution time Throughput Predictability Capacity Safety Reliability Functional requirements are modeled as use cases, sequence diagrams, activity diagrams or statecharts QoS Requirements are modeled as constraints 13 Telelogic AB System Use Cases 14 Telelogic AB

9 Identifying Use Cases Answer questions such as: What are the primary and secondary operational functions of the system? With what must the system interface? Why is the system being built? If it is replacing something else, why? Play each actor in turn and ask What do I want out of this system? What do I want to do to this system? Identify: Capabilities (use cases) Other context participants (actors) 15 Telelogic AB Use Cases Are Not.. A functional decomposition model of the system internals that s HOW They do not capture HOW in any way They do not capture anything the Actor does outside of the System How do I capture HOW? Use Object Model Diagrams to capture Static Structure Use Sequence Diagrams and State Diagrams (or Activity Diagrams) to capture Dynamic Behavior 16 Telelogic AB

10 Good Example: Cardionada 17 Telelogic AB Wrong Actors Bad Example: Cardionada-NADA Not primary capabilities Assumes a design 18 Telelogic AB

11 Things to avoid Single messages are not use cases! Use cases represent a large number of different scenarios Each scenario has many (possibly hundreds) of messages Low-level interfaces are not use cases Low-level interfaces are means to realize use cases LLI s are subsumed within actual use cases A use case should map to a reason for the user to interact with the system, not the means by which it occurs 19 Telelogic AB Use Cases Lead To Object Discovery Use cases define requirements functional QoS Use case are detailed sequence diagrams text and text annotations statecharts Use cases are black box Use cases are realized by collaborations A collaboration is a set of object roles working together to achieve a higher-level function 20 Telelogic AB

12 Use Case Relations Generalization One use case is a more specialized or refined version of another «includes» One use case includes another «extends» One use case provides an optional extension of another The point is to capture requirements not functionally decompose the system internals! 21 Telelogic AB Detailing Use Cases By operational example Use scenarios captured via sequence diagrams Each scenario capture a specific path through the use case Partially constructive Infinite set, so you must select which are interestingly different Non-technical users can understand scenarios By specification Use an informal (e.g. English) and/or formal (e.g. statechart) to represent all possible paths Fully constructive Non-technical readers might not understand formal specs 22 Telelogic AB

13 Use Case Description Use Case Description Structure Name Purpose May be written informally ( The purpose of the capability is to ) Description May be written semi-formally ( The system shall ) May be a hyperlink to a textual document Preconditions What is true prior to the execution of the capability? Postconditions What does the system guarantee to be true after the execution of the use case? Constraints Additional QoS requirements or other rules for the use case 23 Telelogic AB Description Example 24 Telelogic AB

14 Information Flow Requirements As part of analysis, it is common to want to understand information flow and processing required. Information Flow diagrams (UML 2) show info flows between elements, but no sequence is shown Similar to de Marco-style DFDs Can be done for entire system or per use case Activity diagrams show sequence of information processing within a system Usually done per use case 25 Telelogic AB Information Flow Requirements 26 Telelogic AB

15 Relating to Textual Requirements Use cases and related notations are an alternative to text-based requirements Restating text-based requirements When the text requirements are vague When they need to be validated with the customer When the risk or cost of incorrect, inaccurate, or inconsistent requirements is high When there is a high need to perform validation tests against the requirements When the requirements are complex Traceability is best achieved through the use of traceability tools such as DOORS or Gateway 27 Telelogic AB Detailing Use Cases: Scenarios A typical system has one dozen to a few dozen use case Each use case typically has a few to several dozen scenarios of interest Scenarios capture a specific actor-system interaction protocols of interaction permitted sequences of message flow collaboration of structural elements show typical or exceptional paths through the use case 28 Telelogic AB

16 Example Sequence Diagram 29 Telelogic AB Detailing Use Cases: Statecharts 30 Telelogic AB

17 Detailing Use Cases: Statecharts Alarm on Critical Event 31 Telelogic AB How do we describe structure using UML? 32 Telelogic AB

18 Objects, Classes and Interfaces An object is a run-time entity that occupies memory at some specific point in time Has behavior (methods) Has data (attributes) A class is a design-time specification that defines the structure and behavior for a set of objects to be created at run-time. Specifies behavior implementation (methods) Specifies data (attributes) An interface is a design time concept that specifies the messages a class receives ( provided ) or uses ( required ) Specifies behavior only (operation implementation) May have virtual attributes (no implementation) May have a protocol state machine (no actions) 33 Telelogic AB What is an Object? An object is one of the common building blocks in a UML model. Software: It can represent a system, a subsystem or a specific software element in a concrete programming language. Systems: It can represent a real-world system, subsystem, or element Several definitions are available: An object is a real-world or conceptual thing that has autonomy An object is a cohesive entity consisting of data and the operations that act on those data An object is a thing that has an interface that enforces protection of the encapsulation of its internal structure 34 Telelogic AB

19 Software things Objects can be Occupy memory at some point in time E.g. CustomerRecord, ECGSample, TextDisplayControl Electronic things Occupy physical space at some point in time E.g. Thermometer, LCDDisplay, MotionSensor, DCMotor Mechanical things Occupy physical space at some point in time E.g. WingSurface, Gear, Door, HydraulicPress Chemical things Occupy physical space at some point in time E.g. Battery, GasMixture, Halothane System things Occupy space at some point in time E.g. PowerSubsystem, RobotArm, Space Shuttle 35 Telelogic AB Classes A Class is the definition or specification of an object An object is an instance of a class An object has the attributes and behaviours defined by its class It is common to have many instances of a class at the same time is an instance of Human (class) Sam(Object) Phil (Object) is an instance of is a instance of Lauren (Object) 36 Telelogic AB

20 Specification Attribute list Operation list Example Class Sensor Sensor Value: Value: int int calibrationconstant: long long getvalue(void): int int zero( zero( void): void): void void class class Instances intakesensor: Sensor Sensor value value = calibrationconstant = getvalue( )) zero( zero( )) object object motorsensor: Sensor Sensor value value = calibrationconstant = getvalue( )) zero( zero( )) object object 37 Telelogic AB Visibility Defined Attributes and Methods are features of a class Visibility defines whether or not a client can see or use the feature Features have the visibility adornments - private Accessible only by features within the same class # protected Accessible only by features with the same class or subclasses + public Accessible by any client of the class 38 Telelogic AB

21 Visibility on Diagrams 39 Telelogic AB Diagrams serve many purposes Structural Diagrams System model-capture & specification View aspects of system design Provide basis for communication and review Diagrams bring 2 things to the design process Represent different aspects of design, e.g. Functional Structural Behavioral Quality of Service Show aspects at different levels of abstraction System Subsystem Component Primitive class 40 Telelogic AB

22 Methods UML Classes specify Implementation of operations Typically manipulate class attributes Attributes Typed values known by the class Statechart States Transitions Actions Interfaces Operations realized by the class methods 41 Telelogic AB UML Objects Objects are instances of classes that exist at some point in time in some memory location Shown just like a class except name is underlined May optionally show object class as well: role name: class name TempSensor: TempSensor: Sensor 42 Telelogic AB

23 Interfaces UML interfaces specify operations or event receptions An interface is a named collection of operations and signals May not have attributes or methods Not instantiable (don t exist at run-time) UML Interfaces have no implementation No methods No attributes Classes realize an interface by providing a method (implementation) of an operation or specifying an event reception on a state machine A class that realizes an interface is said to be compliant with that interface Classes may realize any number of interfaces Interfaces may be realized by any number of classes 43 Telelogic AB Interfaces 44 Telelogic AB

24 Interface example: IDisplay Tetris 1 updatelevel(int level):void updatescore(int s):void drawsquare(int acolumn,int updatepiecesquare(int x,int updateremainingpieces(int drawgameover():void drawgameon():void drawgamepaused():void Italic indicates abstract <<Interface>> GuiPkg::MFC_gui HwPkg::Lcd 45 Telelogic AB Relationships Relationships allow objects to communicate at run-time Objects may use the facilities of other objects with an association There are two specialized forms of association: Objects may contain other objects with an aggregation Objects may strongly aggregate others via composition Classes may derive attributes and behaviours from other classes with a generalization Classes may depend on others via a dependency 46 Telelogic AB

25 Relationships 47 Telelogic AB Associations Associations allow instances of classes to communicate at run-time Instances of associations are called links Links may come and go during execution Denotes one object using the facilities of another Lifecycles of the objects are independent Allows objects to provide services to many others 48 Telelogic AB

26 Associations Associations may have labels This is the name of the association Associations may have role names Identifies the role of the object in the association Associations may indicate multiplicity Identifies the number of instances of the class that participate in the association Associations may indicate navigation with an open arrowhead Unadorned associations are assumed to be bi-directional Most associations are unidirectional 49 Telelogic AB Multiplicity Denotes the number of instances of the related classes that participate in the association Options n fixed number, e.g. 1, MAX_ELEVATORS *Zero or more 1..* One or more X..Y range, ex or 5..7 x,y,z list, ex. 1,3,5 or 1..3, 8 Most common multiplicity is 1 50 Telelogic AB

27 Relation Name Multiplicity / Navigation Multiplicity Navigation Role name 51 Telelogic AB Indicated by a hollow diamond Whole-part relationship Denotes one object logically or physically contains another Weaker form of aggregation. Nothing is implied about Navigation Ownership Lifetimes of participating objects Aggregation 52 Telelogic AB

28 Composition Indicated by containment or a filled aggregation diamond Whole both creates and destroys part objects Composite is a higher level abstraction than the parts Allows the class model to be viewed and manipulated at many levels of abstraction Stronger form of aggregation Implies a multiplicity of no more than one with the whole Forms a tree with its parts X Y X 53 Telelogic AB Composition Example System System 1 :AcquisitionSubsystem 1 :FrontPanel 1 1 AcquisitionSubsystem FrontPanel AcquisitionSubsystem 1 :Acquisition 1 1 :Filter Acquisition 1 Filter 1 Measurement Keypad Display 1 :Measurement 1 FrontPanel :Keypad 8 Keypad :Button Two ways to show composition Button 8 4 LED 1 :Display composite 4 :LED part Is typed by this class 54 Telelogic AB

29 Dependencies A dependency can be used when a class has no direct relation to another class, but depends on it in some way. Measurement <<Usage>> ErrorManager A Dependency stereotype (<<>>) details how one item is dependent on the other One class may depend on another to build an executable from code with a <<usage>> dependency A Use Case may depend on a class that realizes its required functionality Iterator Library <<Friend>> <<Bind>> LinkList T Collection 55 Telelogic AB Generalization Generalization means two things in the UML. Inheritance. The child acquires things from the parent(s). In UML, a child class acquires the attributes and operations (including statecharts) from the parent class(es). Substitutability. It s satisfactory to use the substitute instead of the intended item. In UML, a substituted object (instance) performs satisfactorily. 56 Telelogic AB

30 Generalization Subclass is-a-type-of the superclass UML generalization means: Subclass inherits structure and behaviour from the superclass Attributes Operations Relations Statechart Instances of subclass are freely substitutable for instances of the superclass 57 Telelogic AB Example: Generalization Inherited attributes Inherited operation New attribute Redefined operations New operation 58 Telelogic AB

31 Good Generalization These are all different types of button, all having different behavior 59 Telelogic AB Bad Generalization These are all the same class, differing only in their context, not their structure or behavior. Button +id : int Button(int anid): 60 Telelogic AB

32 Advanced Structural Concepts 61 Telelogic AB Structured Classes A structured class is a class that is composed of parts The structured class is responsible for the creation and destruction of its parts The structured class owns the parts via composition A part is an object role that executes in the context of the structured class Parts are typed by classes Parts are connected via connections Connections are contextualized links The structured class links together the parts as necessary 62 Telelogic AB

33 Composition and Parts Parts are object roles instances of classes within a structural context provided by the composite Composite creates/destroys/links parts 63 Telelogic AB Structured Classes PRIMARY USE: show systems at different levels of abstraction Composite is at a higher level of abstraction than the part (e.g. system and subsystem) Composite achieves its behavioral goals primarily through delegation Additional use: Populate simple classes into «active» classes for concurrency Additional use: Use composites to aid in system boot and object construction 64 Telelogic AB

34 Structured Class Structured Class Elevator Part 1 Sensor1:LightCurtain 1 Sensor2:PressureSensor Light 1 * FloorButton:Button 1 openbutton:button 1 closebutton:button 1 alarmbutton:button dcontroller:doorcontroller i:innerdoor Connector Button +push():void +enablelight():void +disablelight():void * target:destination Navigator:FloorPlanner 65 Telelogic AB Ports are named connection points Parts and Ports Ports allow a part to provide an interface across the boundary of its enclosing structured class without revealing to the client of the service the internal structure of the structured class Client talks to the port without internal knowledge Ports are typed by their interfaces Provided interfaces Required Interfaces 66 Telelogic AB

35 Parts and Ports Composite class must delegate the service request off to the correct part specified in a Ventilator method or in its statechart Ports allow the delegation behavior to be explicitly modeled. However, the client only knows that it talks to the port, not which internal part. 67 Telelogic AB Interfaces with Ports Ports are typed by their interfaces Provided interfaces specify services offered Required interfaces specify services needed A port may have either or both 68 Telelogic AB

36 Port Example 69 Telelogic AB How do we describe behavior? 70 Telelogic AB

37 Sequence Diagrams Sequence diagrams show the behavior of a group of instances (e.g. objects) over time. Instances may be Objects (most common) Use case instance System Subsystem Actor Useful for Capturing typical or exceptional interactions for requirements Understanding collaborative behavior Testing collaborative behavior 71 Telelogic AB Rules of (partial) Order Message events (send or receive) on the same lifeline are fully ordered Msg.send event precedes Msg.receive event for each message All other orders are indeterminate 72 Telelogic AB

38 Special Case: Execution Occurrence Execution occurrences are useful for the sequential message exchanges Execution occurrence Return 73 Telelogic AB Sequence Diagrams and States States can be shown on sequence diagrams. The states holds in time until a change of state occurs Shows to correspondence between interaction and object state views State or condition 74 Telelogic AB

39 Deriving Test Vectors from Scenarios A scenario is an example execution of a system A test vector is an example execution of a system with a known expected result Scenario Test Vector Capture preconditions Determine test procedure Identify causal messages and events Instrument test fixtures to insert causal messages Remove optional or incidental messages Define pass/fail criteria Identify effect messages / states Postconditions Required QoS 75 Telelogic AB Stimulating the System Test Environment or user plays the Collaboration Boundary Test Environment binds actual instances to instance parameters as necessary Test Environment binds actual values to passed operation parameters as necessary 76 Telelogic AB

40 Decomposing Sequence Diagrams Sequence diagrams suffer from scalability problems when there are many Lifelines Messages UML 2 provides the ability to decompose sequence diagrams both vertically and horizontally Lifelines may be decomposed into interactions (separate sequence diagrams Interaction fragments may be referenced on another diagram 77 Telelogic AB Sequence Diagrams 78 Telelogic AB

41 Interaction Fragment Operators sd named sequence diagram Naming ref reference to interaction fragment loop repeat interaction fragment opt optional exemplar Flow of Control alt selection par concurrent (parallel) regions seq partial ordering (default) (aka weak ) Ordering strict strict ordering criticalregion identifies atomic fragments Causality assert required (i.e. causal) neg can t happen or a negative specification Ignore/consider messages outside/inside causal stream 79 Telelogic AB Interaction Operator : Loop 80 Telelogic AB

42 Interaction Operator : Opt and Alt 81 Telelogic AB Interaction Operator : Parallel 82 Telelogic AB

43 Interaction Operators : Critical Region 83 Telelogic AB UML 2.0 Timing Diagrams sd Pacing state or value timing constraint tm(pulse_tm) Pacing timing constraint { sense_tm +/- 0.5ms } { 20 +/- 0.5ms } :Atrial Model Sensing Refractory Idle lifeline To Inhibited A Sense tm(ref Time) event or stimulus tm(sense_tm) tick mark values Time timing ruler 84 Telelogic AB

44 UML 2.0 Timing Diagrams sd Communicating Coil Driver Transceiver Idle Receiving Sending Receiving::High Receving::Low Sending::High Sending::Low Tristate label1 send(value) transmit(value) label event or stimulus {1 ms +/- 0.2ms} {5 ms +/- 0.2ms} tm(bittime) evdone Monitor Initializing Acquiring Reporting Idle label1 send(value) lifeline separator Time 85 Telelogic AB State Behavior Useful when object Exhibits discontinuous modes of behaviour Waits for and responds to incoming events Sensor example In Start up It must be configured before it can be used It may be turned off When it s ready It rejects requests for data (data not yet available) It can go acquire data upon request Once it has data It may be asked for the sensed value (data has been acquired) It may get data periodically 86 Telelogic AB

45 State Machine Execution 87 Telelogic AB Statecharts Created by professor David Harel of I-Logix in late 1980s Statecharts were inserted into the UML by Eran Gery and David Harel of I- Logix Supports Nested states Actions Guards History Advanced features And-states Broadcast transitions Orthogonal regions 88 Telelogic AB

46 Statecharts What s a state? What s a transition? A state is a distinguishable, disjoint, orthogonal condition of existence of an object that persists for a significant period of time A transition is a response to an event of interest moving the object from a state to a state. 89 Telelogic AB What s an action? Statecharts An action is a run-to-completion behavior. The object will not accept or process any new events until the actions associated with the current event are complete. What s the order of action execution? (1)exit actions of current state (2) transition actions (3) entry actions of next state 90 Telelogic AB

47 UML State Models Specifies the behaviour for reactive classes Not all classes have state behaviour Notation and semantics are Harel Statecharts Nested States Actions on Transitions State Entry State Exit Actions are run-tocompletion behaviours 91 Telelogic AB Basic Statechart Syntax Event parameters Guard Event name Action List A entry / g(x), h(y) exit / m(a), n(b) ev3 / p(x,y), q(z) evx(int r)[r < 0] / f(r) Entry actions Exit actions B Internal Transitions ( Reactions in State ) State State name 92 Telelogic AB

48 Basic Syntax Example 93 Telelogic AB Types of Events UML defines 4 kinds of events Signal Event Asynchronous signal received e.g. evstart Call Event operation call received e.g. opcall(a,b,c) Change Event change in value occurred Time Event Absolute time arrived Relative time elapsed e.g. tm(pulsewidthtime) 94 Telelogic AB

49 Handling Transitions If an object is in a state S that responds to a named event evx, then it will act upon that event It will transition to the specified state, if the event triggers a named transition and the guard (if any) on that transition evaluates to TRUE. It will execute any actions associated with that transition Handle the event without changing state if the event triggers a named reaction and execute all the list of actions associated with that reaction If an object doesn t explicitly handle an event when in a particular state, then it quietly discards that event 95 Telelogic AB Transitions: Guards A guard is some condition that must be met for the transition to be taken Guards are evaluated prior to the execution of any action. Guards can be: Variable range specification ex: [cost<50] Concurrent state machine is in some state [IS_IN(fault)] Some other constraint (preconditional invariant) must be met 96 Telelogic AB

50 Actions are run to completion Actions Normally actions take a short period of time to perform They may be interrupted by another thread execution, but that object will complete its action list before doing anything else Actions are implemented via An object s operations Externally available functions They may occur when A transition is taken A reaction occurs A state is entered A state is exited 97 Telelogic AB Null-triggered Transitions A.k.a. Completion Transitions Triggered upon completion of entry actions, and May contain a guard condition Will only be evaluated once, even if guard condition later becomes true 98 Telelogic AB II-98

51 Timeouts When an object enters a state, any Timeout from that state are started When a Timeout Expires, the State machine receives the expiration as an event When an object leaves a state, any timeout that was started on entry to that state are cancelled Only one timeout can be used per state, nested states can be used if several timeouts are needed 99 Telelogic AB Timeout Example: Timeouts 100 Telelogic AB

52 Statechart Syntax OR States OR States OR States OR States 101 Telelogic AB OR-States An object must always be in exactly one OR-state at a given level of abstraction. The object must be in either off or armed it cannot be in more than one or none If the current state is armed, then the object must ALSO be in either exiting or active Note, if IS_IN(detecting) returns TRUE, then IS_IN(active) returns TRUE and IS_IN(exiting) returns FALSE 102 Telelogic AB

53 Statechart Syntax Nested States Nested States Composite State 103 Telelogic AB Order of Nested Actions Execute from outermost - in on entry Execute from innermost - out on exit U entry: f( ) exit: g(a,b) U1 entry: x(c ) exit: y() first f( ) then x(c) A first y( ) then g(a,b ) 104 Telelogic AB

54 Statechart Syntax AND States AND state name Orthogonal Component Separator active armingdisarmingreprogramming evkeyoff[is_in(correct)]/ itsalarmcontroller->gen(evdisarm); idle codeentry evkey/ newcode = params->n; count=1; evkey/ newcode = (10 * newcode ) + params->n; count++; enteringcode tm(5000) evkeyoff evkeyon [IS_IN(correct)]/ itsalarmcontroller->gen(evtemporise); [iscodeentered()] evkeyon[is_in(different)]/ changecode(); C [IS_IN(notEntered)] [else] C [iscodecorrect()] reprogramming waitoldcode currentcode evkeyoff tm(10000) evkeyon [else] C [IS_IN(correct)] waitnewcode different correct tm(3000) tm(3000) notentered AND States 105 Telelogic AB AND-States When a state has multiple AND-states, the object must be in exactly one substate of each active AND-State at the same time AND-states are logically concurrent All active AND-states receive their own copy of any event the object receives and independently acts on it or discards it Cannot tell in principle which and-state will execute the same event first Not necessarily concurrent in the thread or task sense NOTE: UML uses active objects as the primary means of modeling concurrency AND-states may be implemented as concurrent threads, but that is not the only correct implementation strategy 106 Telelogic AB

55 AND-State Communication AND-states may communicate via Broadcast events All active AND-states receive their own copy of each received event and are free to act on it or discard it Propagated events A transition in one AND-state can send an event that affects another Guards [IS_IN( state )] uses the substate of an AND-state in a guard Attributes Since the AND-states are of the same object, they see all the attributes of the object 107 Telelogic AB UML Pseudostates Symbol Symbol Name Symbol Symbol Name C or Branch Pseudostate (type of junction pseudostate) H (Shallow) History Pseudostate T or Terminal or Final Pseudostate H* (Deep) History Pseudostate Initial or Default Pseudostate Fork Pseudostate Junction Pseudostate Join Pseudostate Merge Junction Pseudostate (type of junction pseudostate) [g] Entry Point Pseudostate Choice Point Pseudostate label [g] Exit Point Pseudostate label 108 Telelogic AB

56 Statechart Syntax Pseudostates History Junction Fork active> H Join EMPTY empty evstart fillingupper> tm(5000) evfull upperfull> upper lower evempty emptying> evterminate fillinglower> tm(1000) lowerfull> tm(50) EMPTY T Terminator (calls destructor) evpause pause H evresume evabort Diagram (must be a pair) Termination (Final state) 109 Telelogic AB Submachines: Parent Exit point Entry point Submachine reference 110 Telelogic AB

57 Submachines: Child Submachine Conditional Pseudostate 111 Telelogic AB Poorly Formed Statecharts Race condition Must be same event No Default State e2 e3 Conflicting transitions Overlapping guards Use before initialization 112 Telelogic AB

58 Inherited State Behaviour Two approaches to inheritance for generalization of reactive classes Reuse (i.e. inherit) statecharts of parent Use custom statecharts for each subclass Reuse of statecharts allows Specialization of existing behaviours Addition of new states and transitions Makes automatic code generation of reactive classes efficient in the presence of class generalization 113 Telelogic AB Example: Generalization 114 Telelogic AB

59 Activity Diagrams Change in 2.0 to be based on token flow semantics Used when the primary means of transitioning from one state to another is upon completion of the previous activity not reception of an event An activity diagram can be assigned to either a class, use case or an operation. Useful for describing algorithms Each activity has a set of pins Input pins bind input parameters to local variables Output pins bind output parameters to output variables An activity begins when input data appears on all input pins When an activity completes, there is data on all the output pins Activities are no longer triggered by events 115 Telelogic AB Activity Diagram : Basic Syntax Default Transition Guard Action state Conditional pseudostate Transition Termination Connector 116 Telelogic AB

60 Activity Diagram : Advanced Syntax Activity Block Interrupting Edge Pin Fork Event Reception Interruptible Region Join Object Flow State 117 Telelogic AB Activity Diagram: Partitions (Swim Lanes) Used primarily to allocate actions and activities to objects Partition 118 Telelogic AB

61 Architecture 119 Telelogic AB Physical Architectural Views Concurrency and Resource View Deployment View Subsystem and Component View Distribution View Safety and Reliability View 120 Telelogic AB

62 Physical Architectural Views Construct architectural design models Subsystem Model Concurrency Model Distribution Model Safety and Reliability Model Deployment Model Capture with Class Diagrams Package Diagrams Subsystem Diagrams Task Diagrams Deployment Diagrams 121 Telelogic AB Subsystem Architecture 122 Telelogic AB

63 A component Subsystem and Component View is the basic reusable element of software organizes objects together into cohesive run-time units that are replaced together. provides language-independent opaque interfaces a metasubtype of (structured) Class A subsystem is a large object that provides opaque interfaces to its clients and achieves its functionality through delegation to objects that it owns internally contains components and objects on the basis of common run-time functional purpose a metasubtype of Component 123 Telelogic AB Distribution Architecture Distribution model refers to Policies for distribution objects among multiple processors and communication links, e.g. Asymmetric distribution (dedicated links to objects with a priori known location) Publish-Subscribe CORBA and Broker symmetric distribution Policies for managing communication links Communication protocols Communication quality of service management 124 Telelogic AB

64 Distribution Architecture 125 Telelogic AB Safety and Reliability Model Safety and reliability model refers to the structures and policies in place to ensure Safety Freedom from accidents or losses Reliability High MTBF Fault tolerance Safety and fault tolerance always require some level of redundancy Safety and reliability of object models is described more completely in Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks and Patterns 126 Telelogic AB

65 Safety and Reliability Architecture 127 Telelogic AB Refers to Concurrency Architecture Identification of task threads and their properties Mapping of passive classes to task threads Identification of synchronization policies Task scheduling policies Unit of concurrency in UML is the «active» object «active» objects are added in architectural design to organize passive objects into threads «active» objects contain passive semantic objects via composition and delegate asynchronous messages to them 128 Telelogic AB

66 Task Identification Task Identification Strategy Description Single event groups for simple systems, you may define a thread for each event type Event source Related information group all events from a single source together for a thread For example, all numeric heart data Best for schedulabilty Interface device For example, a bus interface Event properties Events with the same period, or aperiodic events Target object For example, waveform queue or trend database Safety Level For example, BIT, redundant thread processing, watchdog tasks 129 Telelogic AB Defining the Concurrency Model 130 Telelogic AB

67 Concurrency Model Active object is a stereotype of an object which owns the root of a thread Active objects normally aggregate passive objects via composition relations Standard icon is a class box with heavy line Data Acq Thread Sensor Display Thread Numeric View Trend Database Queue Waveform View 131 Telelogic AB Active Classes In UML 1.x the unit of concurrency was called the Active Object, shown with a thick border UML 1.x Active Object In UML 2.0 the notation has changed to double vertical lines, and is called an Active Class UML 2.0 Active Class 132 Telelogic AB

68 Basic Definitions Urgency Urgency refers to the nearness of a deadline Criticality Criticality refers to the importance of the task s correct and timely completion 133 Telelogic AB Basic Definitions Priority Timeliness Priority is a numeric value used to determine which task, of the current ready-to-run task set will execute preferentially Timeliness refers to the ability of a task to predictably complete its execution prior to the elapse of its deadline 134 Telelogic AB

69 Basic Definitions Deadline A deadline is a point in time at which the completion of an action becomes incorrect or irrelevant Schedulability A task set is schedulable if it can be guaranteed that in all cases, all deadlines will be met 135 Telelogic AB Basic Definitions Arrival Pattern The arrival pattern for a task or triggering event is either time-based (periodic) or event-based (aperiodic) Synchronization Pattern Synchronization pattern refers to the how the tasks execute during a rendezvous, e.g. synchronous, balking, waiting, or timed 136 Telelogic AB

70 Blocking Time Basic Definitions The blocking time for a task or action is the length of time it may be kept from executing because a lower priority task owns a required resource Execution Time The execution time for a task or action is the length of time it requires to complete execution 137 Telelogic AB Task Diagram A task diagram is a class diagram that shows only model elements related to the concurrency model Active objects Semaphore objects Message and data queues Constraints and tagged values May use opaque or transparent interfaces 138 Telelogic AB

71 Task Diagram Active Class symbol Interrupt Routines can (and should) also be shown Tag Values 139 Telelogic AB Another Task Diagram 140 Telelogic AB

72 Task Performance Budgets The context defines the end-to-end performance requirements This determines the overall task budget Computation of total budget may not just be simply adding up the times due to concurrency Individual operations and actions within tasks must be assigned portions of the overall budget Action budgets should be checked during unit test Action budgets should take into account potential blocking 141 Telelogic AB Required / Offered QoS 142 Telelogic AB

73 Required / Offered QoS 143 Telelogic AB Deployment Architecture Maps software components and subsystems to hardware Represents a device as a node Iconic stereotypes are common Identifies physical connections among devices May be buses, networks, serial lines, etc Two primary strategies Asymmetric Design-time mapping of software elements to HW Symmetric Dynamic run-time mapping of software elements to HW 144 Telelogic AB

74 Deployment Architecture 145 Telelogic AB Deployment via Class Diagram 146 Telelogic AB

75 The UML Profile for Schedulability, Performance, and Time 147 Telelogic AB The RT UML Profile Submitted in response to an OMG RFP RFP for a UML Profile for Schedulability, Performance, and Time (OMG document ad/ ). Standardized in 2003 New standard being readied for UML 2 Submitters (in alphabetical order): Artisan Software Tools, Inc. I-Logix Inc. Rational Software Corporation, Inc. Telelogic AB Timesys Corporation TriPacific Software 148 Telelogic AB

76 Goal of the RT Profile Note: The UML is considered to be fully adequate to model real-time and embedded systems. The profile is NOT necessary to make UML applicable to realtime systems. RFP calls for proposals for a UML profile that defines standard paradigms of use for modeling of time-, schedulability-, and performance-related aspects of real-time systems Define some standard means to capture real-time modeling concerns Permit exchange of model information between tools, e.g. Between design automation tools Between design automation and schedulability tools Facilitate communication of design intent among engineering staff and other stakeholders 149 Telelogic AB Guiding Principles Do not change the UML unless absolutely required Do not limit the way UML is used. Provide the ability to annotate a UML model to allow for [quantitative] analysis in a standard way. Do not require a deep understanding of applicable analysis techniques, e.g. Rate monotonic analysis Queuing theory 150 Telelogic AB

77 (More) Guiding Principles Simple analysis should be simple to do. More complex analysis may require more work. Support, but do not restrict modeling to existing techniques. E.g. RMA, DMA Automated tools should be able to influence the UML model. E.g. update priorities of task threads so that they become schedulable Support both model analysis and synthesis 151 Telelogic AB General Approach Use light-weight extensions to add standard modeling approaches and elements Stereotypes, e.g. resources Tagged values, e.g. QoS properties Divide submission into sub-profiles to allow easier comprehension and usage of relevant parts 152 Telelogic AB

78 RT Profile Structure CommonBase Resource Required by virtually ALL real-time systems Time Concurrency AnalysisMethods Infrastructure Schedulability Analysis RT_CORBA EnhancedTime Technology-specific subprofiles 153 Telelogic AB SPT Profile 154 Telelogic AB

79 Example 155 Telelogic AB Example 156 Telelogic AB

80 Using the Profile 157 Telelogic AB GIGO Select the appropriate stereotypes and tags of the schedulability model to match the kind of analysis desired Global RMA Elements: active objects, resources Tags: execution time, deadline, period, priority, blocking time, priority ceiling Detailed RMA Elements: active objects, resources, actions, events, scenarios, scenario steps, messages Tags: execution time, deadline, period, priority, blocking time, priority ceiling Simulation etc Depends on particular approach 158 Telelogic AB

81 Model Processing Modeler User Model QoS Properties Analytic Techinques Analysis Method Provider UML Modeling Tool Model Conversion Model Analysis Tool 1 C j B 1 Bn n max... n 2 1 n T j T1 Tn 1 Inverse Model Conversion Validated User Model Analysis Configuration Paramers Application System Modeler 159 Telelogic AB Harmony Systems to Software Process 160 Telelogic AB

82 Model Repository Harmony Process Hybrid Spiral (General form) Change Request Systems Engineering Harmony Hybrid Spiral Process Requirements Analysis Requirements & Test Scenarios Test Scenarios System Acceptance Systems Analysis & Architecture Model Artifacts Model Artifacts Implementation Testing Internally Validated System Increment Review ( Party ) Design Analysis Incremental Development Cycle 161 Telelogic AB Harmony Process: (Detail) Requirements Diagram Requirements Analysis Requirements Capture System Use Cases Definition of System Use Cases System Use Cases System Functional Analysis Requirements Repository Black Box Use Case Model, System Level Operational Contracts White Box Use Case Model Logical Subsystem Operational Contracts Updated Logical Subsystem OpCons Use Case Analysis Use Case 1 Black Box Analysis System Level OpCons White Box Analysis Abstracted Use Case Models Use Case Consistency Analysis Logical Subsystem OpCons Black Box Use Case Scenarios White Box Use Case Scenarios Test Database Deployment Model, HW/SW allocated Operational Contracts System Architectural Design HW/SW Trade Off Physical Subsystem Use Cases Definition of Phys.SS Use Cases Physical Subsystem Use Case Scenarios Links providing traceability to original requirements HW/SW Design ICD subsystem Specs (models) 162 Telelogic AB

83 Harmony Process: (Detail) Development Detailed Design Translation Unit Testing Integration Testing Validation Testing Mechanistic Design Increment Review (Party) Prototype Definition Architectural Design Object Analysis Iterative Prototypes 163 Telelogic AB Harmony-SW Only Optimizations can be taken for projects which Are software-only Have requirements which are linearly-separable (i.e. can be put into approximately-independent use cases) No significant hw/sw co-design In initial planning, use cases are identified but not detailed In each IDC spiral, one or more use cases is added to the prototype Requirements are detailed for that set at this time Deployment proceeds via incremental software design 164 Telelogic AB

84 Harmony-SW Process Detailed Design Translation Unit Testing Integration Testing Validation Testing Mechanistic Design Increment Review (Party) Requirements Definition Iterative Architectural Design Object Analysis Prototypes 165 Telelogic AB Microcycle Flow translates model into executable code and constructs working architectural pieces of prototype Testing Integrates architectural pieces into prototype and validates against prototype mission Implementation Increment Review ( Party ) Project planning and on-going assessment and replanning Design Analysis specifies a particular optimal solution Incremental Development Cycle defines the properties of all acceptable solutions 166 Telelogic AB

85 Incremental Development A project is developed as a series of small subprojects Each subproject realizes and validates a set of requirements Over time, the system becomes increasingly complete Primary advantage is that strategic defects are identified and corrected much earlier and at much lower cost Each microcycle is normally done in 4-6 weeks (your mileage may vary) 167 Telelogic AB Harmony Incremental Spiral Workflows 168 Telelogic AB

86 Analysis in Harmony Detailed Design Translation Unit Testing Integration Testing Validation Testing Mechanistic Design Architectural Design Object Analysis Increment Review (Party) Prototype Definition Iterative Prototypes 169 Telelogic AB Prototype Definition Selects (General Form) Analysis Activities the use cases to be designed/implemented/ validated in the prototype the risks to be reduced Specifies (SW-Only) Details the use case requirements with requirements elements (SysML), sequence diagrams, statecharts, activity diagrams Object analysis Identifies and characterizes object and classes essential to the system Identify objects and their structural relations Define essential behavior of objects with statecharts Shows how the collaboration meets the requirements via elaboration of the use case scenarios 170 Telelogic AB

87 Collaboration Realize Use Cases Knob Patient Use case x x Deliver Anesthesia Object model realizing the use case 1 x selects 0,1 1 1 * 1 sets Vaporizer setanesthesiadepth getanesthesiadepth setagentpercent getagentpercent setagenttype getagenttype 0, * provides gas flow info 1 Agent Reservoir Agent Type Level select getlevel Ventilator Patient x 1 0,1 1 0,1 shows VaporizerView Collaboration Deliver Anesthesia 0,1 0,1 EMG Monitor monitors depth 0,1 shows EMGView AlarmingClass * issues alarms * raises * Alarm 1 0,1 shows AlarmView 1 Alarm Manager * silences Button 171 Telelogic AB Object Analysis Workflow 172 Telelogic AB

88 Design in Harmony Detailed Design Translation Unit Testing Integration Testing Validation Testing Mechanistic Design Architectural Design Object Analysis Increment Review (Party) Prototype Definition Iterative Prototypes 173 Telelogic AB Design Activities Architectural design Define strategic design decisions Logical model Physical model Subsystem model Concurrency model Distribution model Safety and reliability model Deployment model Mechanistic design Optimizes individual collaborations by applying design patterns and adding glue objects Detailed design Defines and optimizes object internals 174 Telelogic AB

89 Architectural Design Workflow 175 Telelogic AB Artifact: Physical Architecture System is organized into run-time artifacts subsystems, components, and tasks Subsystems contain instances of classes specified in the domains Subsystems specify only classes used to organize and deploy domain classes Consists of Software run-time organizational units Deployment hardware 176 Telelogic AB

90 Mechanistic Design Identifies patterns and optimizations for object collaborations Concern is to optimize the individual collaboration against it s required QoS Add design-level classes and objects Container classes Iterators Adaptors Interfaces Helpers Mechanistic design patterns Local error handling policies 177 Telelogic AB Mechanistic Design-level Patterns Domain-level classes already exist from analysis Design-level classes Add the glue to stick them together Resolve details of object interaction Optimize collaboration against QoS Design-level classes most often come via the application of mechanistic design patterns See Gamma, Helm, Johnson, Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison- Wesley, 1995 See Bruce Powel Douglass, 3 rd Edition: Advances in the UML for Real-Time Systems. Reading, MA: Addison Wesley, Telelogic AB

91 Mechanistic Design Workflow 179 Telelogic AB Detailed Design Refine the details of classes themselves Define visibility for attributes and behaviors Define operation protocols Define data structures Define algorithms Refine object references Define default values and constructor/destructor Define error handling Responsibility for instance creation/destruction 180 Telelogic AB

92 Implementation in Harmony Detailed Design Translation Unit Testing Integration Testing Validation Testing Mechanistic Design Architectural Design Object Analysis Increment Review (Party) Prototype Definition Iterative Prototypes 181 Telelogic AB Implementation Workflow 182 Telelogic AB

93 Testing in Harmony Detailed Design Translation Unit Testing Integration Testing Validation Testing Mechanistic Design Architectural Design Object Analysis Increment Review (Party) Prototype Definition Iterative Prototypes 183 Telelogic AB Integration Workflow 184 Telelogic AB

94 Validation Workflow 185 Telelogic AB Increment Review (Party) in Harmony Detailed Design Translation Unit Testing Integration Testing Validation Testing Mechanistic Design Architectural Design Object Analysis Increment Review (Party) Prototype Definition Iterative Prototypes 186 Telelogic AB

95 Increment Review (Party) Workflow 187 Telelogic AB References (For white papers see Telelogic AB

What's New in UML 2.0

What's New in UML 2.0 What's New in UML 2.0 M.W.Richardson Lead Applications Engineer I-Logix UK mrichardson@ilogix.com What is UML? Unified Modeling Language Comprehensive full life-cycle 3 rd Generation modeling language

More information

Real-Time. Bruce Powel Douglass, Ph.D. Chief Evangelist, I-Logix. Page 1

Real-Time. Bruce Powel Douglass, Ph.D. Chief Evangelist, I-Logix. Page 1 Real-Time UML Bruce Powel Douglass, Ph.D. Chief Evangelist, I-Logix UML is a trademark or registered trademark of Object Management Group, Inc. in the U.S. and other countries. Page 1 Basic UML Page 2

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

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

Best Practices for Model-Based Systems Engineering

Best Practices for Model-Based Systems Engineering Seminar / Workshop Best Practices for Model-Based Systems Engineering Hans-Peter Hoffmann, Ph.D. Chief Systems Methodologist, IBM Rational Software hoffmape@us.ibm.com Overview Successfully delivering

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

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

More information

Real-Time UML. Bruce Powel Douglass. I-Logix

Real-Time UML. Bruce Powel Douglass. I-Logix Real-Time UML Bruce Powel Douglass I-Logix Abstract. The UML (Unified Modeling Language) is a third-generation object-oriented modeling language recently accepted as a standard by the OMG (Object Management

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

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

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

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

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

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

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

Process and data flow modeling

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

More information

UML Diagrams MagicDraw UML Diagrams

UML Diagrams MagicDraw UML Diagrams In software development, the diagram is the equivalent of a blueprint. To meet the various needs of many parties, we often need several different blueprints of the same system. Furthermore, every system

More information

Object-Interaction Diagrams: Sequence Diagrams UML

Object-Interaction Diagrams: Sequence Diagrams UML Object-Interaction Diagrams: Sequence Diagrams UML Communication and Time In communication diagrams, ordering of messages is achieved by labelling them with sequence numbers This does not make temporal

More information

Enterprise Architect Training Courses

Enterprise Architect Training Courses On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object

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

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

Harmony-SW Modeling Standards for use with MDA, UML, and Rhapsody

Harmony-SW Modeling Standards for use with MDA, UML, and Rhapsody Harmony-SW Modeling Standards for use with MDA, UML, and Rhapsody Prepared by Dr. Bruce Powel Douglass, Ph.D. Chief Evangelist IBM Rational Page 1 of 52 IBM 2012 Bruce Powel Douglass, Ph.D. Page 1 of 52

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

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

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

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

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

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

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester Lab Manual Object Oriented Analysis And Design TE(Computer) VI semester Index Sr. No. Title of Programming Assignment Page No. 1 2 3 4 5 6 7 8 9 10 Study of Use Case Diagram Study of Activity Diagram Study

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

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

Architecture and the UML

Architecture and the UML Architecture and the UML Models, Views, and A model is a complete description of a system from a particular perspective Use Case Use Case Sequence Use Case Use Case Use Case State State Class State State

More information

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Class Diagram What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51 What is a Class Diagram? Class Diagram A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

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. SysML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. SysML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series SysML Models Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents Systems Engineering 3 Systems Modeling Language (SysML) 8 SysML Activity

More information

UNIT-II Introduction to UML

UNIT-II Introduction to UML UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development

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

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

Hippo Software BPMN and UML Training

Hippo Software BPMN and UML Training Hippo Software BPMN and UML Training Icon Key: www.hippo-software.co.uk Teaches theory concepts and notation Teaches practical use of Enterprise Architect Covers BPMN, UML, SysML, ArchiMate Includes paper

More information

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models CS 494 Object-Oriented Analysis & Design UML Class Models Overview How class models are used? Perspectives Classes: attributes and operations Associations Multiplicity Generalization and Inheritance Aggregation

More information

Designing Component-Based Architectures with Rational Rose RealTime

Designing Component-Based Architectures with Rational Rose RealTime Designing Component-Based Architectures with Rational Rose RealTime by Reedy Feggins Senior System Engineer Rational Software Rose RealTime is a comprehensive visual development environment that delivers

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

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 6 UML Introduction Structural diagrams Basics What is? Please explain

More information

2 UML for OOAD. 2.1 What is UML? 2.2 Classes in UML 2.3 Relations in UML 2.4 Static and Dynamic Design with UML. UML for OOAD Stefan Kluth 1

2 UML for OOAD. 2.1 What is UML? 2.2 Classes in UML 2.3 Relations in UML 2.4 Static and Dynamic Design with UML. UML for OOAD Stefan Kluth 1 2 UML for OOAD 2.1 What is UML? 2.2 Classes in UML 2.3 Relations in UML 2.4 Static and Dynamic Design with UML UML for OOAD Stefan Kluth 1 2.1 UML Background "The Unified Modelling Language (UML) is a

More information

Unified Modeling Language for Real-Time Systems Design

Unified Modeling Language for Real-Time Systems Design Unified Modeling Language for Real-Time Systems Design Introduction The Unified Modeling Language, or UML, is a third-generation object-oriented modeling language. It adapts and extends the published works

More information

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology ArchiMate Core Structural Concepts Behavioral Concepts Informational Concepts interaction Technology Application Layer Concept Description Notation Concept Description Notation Actor An organizational

More information

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer Unit-1 Concepts Oral Question/Assignment/Gate Question with Answer The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering Object Management Group (OMG)

More information

Activities Radovan Cervenka

Activities Radovan Cervenka Unified Modeling Language Activities Radovan Cervenka Activity Model Specification of an algorithmic behavior. Used to represent control flow and object flow models. Executing activity (of on object) is

More information

Basic Structural Modeling. Copyright Joey Paquet,

Basic Structural Modeling. Copyright Joey Paquet, Basic Structural Modeling Copyright Joey Paquet, 2000 1 Part I Classes Copyright Joey Paquet, 2000 2 Classes Description of a set of objects sharing the same attributes, operations and semantics Abstraction

More information

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model

More information

Object-Oriented Modeling. Sequence Diagram. Slides accompanying Version 1.0

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

More information

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Software technology Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline UML Diagrams: Sequence Diagram Communication Diagram Interaction Overview Diagram Dr. Balázs Simon, BME,

More information

What s Next. INF 117 Project in Software Engineering. Lecture Notes -Spring Quarter, Michele Rousseau Set 6 System Architecture, UML

What s Next. INF 117 Project in Software Engineering. Lecture Notes -Spring Quarter, Michele Rousseau Set 6 System Architecture, UML What s Next INF 117 Project in Software Engineering Lecture Notes -Spring Quarter, 2008 Michele Rousseau Set 6 System Architecture, UML Set 6 2 Announcements kreqs should be complete Except minor changes

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

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

A Role-based Use Case Model for Remote Data Acquisition Systems *

A Role-based Use Case Model for Remote Data Acquisition Systems * A Role-based Use Case Model for Remote Acquisition Systems * Txomin Nieva, Alain Wegmann Institute for computer Communications and Applications (ICA), Communication Systems Department (DSC), Swiss Federal

More information

UML part I. UML part I 1/41

UML part I. UML part I 1/41 UML part I UML part I 1/41 UML part I 2/41 UML - Unified Modeling Language unified it can be shared among workers modeling it can be used for description of software model language it has defined structure

More information

Architectural Blueprint

Architectural Blueprint 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 Architectural Blueprint

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

Modeling Requirements

Modeling Requirements Modeling Requirements Critical Embedded Systems Dr. Balázs Polgár Prepared by Budapest University of Technology and Economics Faculty of Electrical Engineering and Informatics Dept. of Measurement and

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

Software Architectures. Lecture 6 (part 1)

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

More information

Pieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. September 9, 2016

Pieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. September 9, 2016 Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek September 9, 2016 Contents /FHTenL September 9, 2016 2/35 UML State Uses and application In behaviour is modeled with state charts (diagrams)

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

Approaches of using UML for Embedded System Design

Approaches of using UML for Embedded System Design Approaches of using UML for Embedded System Design Sudeep D. Thepade Lecturer, Dept. of Information Technology, Thadomal Shahani Engg. College, Bandra, Mumbai sudeepthepade@gmail.com Abstract New approaches

More information

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2015 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe

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

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

Advanced Software Engineering

Advanced Software Engineering Dev Bhoomi Institute Of Technology LABORATORY MANUAL PRACTICAL INSTRUCTION SHEET EXPERIMENT NO. ISSUE NO. : ISSUE DATE: REV. NO. : REV. DATE : PAGE: 1 LABORATORY Name & Code: Advanced Software Engineering

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

Lecture 17: (Architecture V)

Lecture 17: (Architecture V) Lecture 17: (Architecture V) Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct. 30,

More information

Object Oriented Modeling

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

More information

iserver Free Archimate ArchiMate 1.0 Template Stencil: Getting from Started Orbus Guide Software Thanks for Downloading the Free ArchiMate Template! Orbus Software have created a set of Visio ArchiMate

More information

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions European Component Oriented Architecture (ECOA ) Collaboration Programme: Part 2: Definitions BAE Ref No: IAWG-ECOA-TR-012 Dassault Ref No: DGT 144487-D Issue: 4 Prepared by BAE Systems (Operations) Limited

More information

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification Object Oriented Design Part 2 Analysis Design Implementation Program Design Analysis Phase Functional Specification Completely defines tasks to be solved Free from internal contradictions Readable both

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

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems Hassan Gomaa References: H. Gomaa, Chapters 1, 2, 3 - Real-Time Software Design for Embedded Systems, Cambridge University

More information

Unit 1 Introduction to Software Engineering

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

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UNIT 5 - UML STATE DIAGRAMS AND MODELING UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used

More information

Traditional Approaches to Modeling

Traditional Approaches to Modeling Traditional Approaches to Modeling Timeliness, Performance and How They Relate to Modeling, Architecture and Design Mark S. Gerhardt Chief Architect Pittsburgh, PA 15213 Levels of Real Time Performance

More information

06. Analysis Modeling

06. Analysis Modeling 06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches

More information

LABORATORY 1 REVISION

LABORATORY 1 REVISION UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the

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

UML (Unified Modeling Language)

UML (Unified Modeling Language) UML (Unified Modeling Language) UML Outline Software Institute of Nanjing University 2009 Instructor 刘嘉 (Liu Jia) Email : liujia@software.nju.edu.cn ext : 509 Office : 705 2 References [1] The Unified

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 State machines 109 History and predecessors 1950 s: Finite State Machines Huffmann, Mealy, Moore 1987: Harel Statecharts conditions hierarchical (and/or) states history states

More information

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Jochen Küster jku@zurich.ibm.com Agenda BPMN Introduction BPMN Overview BPMN Advanced Concepts Introduction to Syntax

More information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

UP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling.

UP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling. UP Requirements UP Workflows Business Modeling Requirements Analysis and Design Implementation Test Deployment Configuration & Change Management Project Management Environment Iterations Activities of

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

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

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

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Modeling Applications using Language Mappings Programmer s Reference Manual How to use this Reference Card: The consists of a set of fundamental modeling elements which appear

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

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

More information

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

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