UML Activities & Actions. Charles ANDRE - UNSA



Similar documents
i. Node Y Represented by a block or part. SysML::Block,

Compliance and Requirement Traceability for SysML v.1.0a

Process Modeling Notations and Workflow Patterns

Using UML Part Two Behavioral Modeling Diagrams

Model Simulation in Rational Software Architect: Business Process Simulation

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

How To Create A Complex Diagram On A Computer Game

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

From Control Loops to Software

Modeling Workflow Patterns

Intoduction to SysML

EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer

Bluetooth Audio Data Transfer between Bluetooth chipset (PMB6752&PMB6625) and TriCore Host TC1920

Business Process Modelling Languages

Chapter 7: Termination Detection

Communications Software Engineering Design Model

BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective

Quick Guide Business Process Modeling Notation (BPMN)

BPMN and Simulation. L. J. Enstone & M. F. Clark The Lanner Group April 2006

5 Process Modeling using UML

The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary

Analytics for Performance Optimization of BPMN2.0 Business Processes

Introduction the Serial Communications Huang Sections 9.2, 10.2 SCI Block User Guide SPI Block User Guide

Architecture Design & Sequence Diagram. Week 7

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

BPMN Business Process Modelling Notation

Coding and decoding with convolutional codes. The Viterbi Algor

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software

OMG releases BPMN What's changed?

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

4.7 Business Process Model and Notation

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

Transport Layer Protocols

Chapter 19. Activity Diagrams

Created with igrafx Flowcharter 2011 ( by - Piotr Biernacki - MGX Infoservice (

EC313 - VHDL State Machine Example

DAC Digital To Analog Converter

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

JOINT TACTICAL RADIO SYSTEM - APPLICATION PROGRAMMING INTERFACES

Diagramming Techniques:

Chapter 11 I/O Management and Disk Scheduling

JWT metamodel compared to BPMN metamodel

Controlled Random Access Methods

ERserver. iseries. Work management

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Traffic Shaping: Leaky Bucket Algorithm

AN141 SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES. 1. Introduction. 2. Overview of the SMBus Specification. 2.1.

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:

Modeling Business Processes with BPMN. Andrea Marrella

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Home Phone Call Forward Guide

Project Time Management

CSC 2405: Computer Systems II

Process Modeling using BPMN 2.0

ARM Thumb Microcontrollers. Application Note. Software ISO 7816 I/O Line Implementation. Features. Introduction

Programming Interface. for. Bus Master IDE Controller. Revision 1.0

Computer Organization & Architecture Lecture #19

WA Manager Alarming System Management Software Windows 98, NT, XP, 2000 User Guide

How To Develop Software

Chapter 6. Data-Flow Diagrams

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

KWIC Implemented with Pipe Filter Architectural Style

Real-time apps and Quality of Service

CA Data Protection. Content Provider Development Guide. Release 15.0

Chapter 1 Computer System Overview

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

xrm1 Business Solutions, a brand of itara GmbH, Beethovenstrasse 5, Würzburg, Germany, all rights reserved. DIN A4, v337

Ontological Identification of Patterns for Choreographing Business Workflow

Modelling Workflow with Petri Nets. CA4 BPM PetriNets

ViZion Installation Guide

TCP Session Management (SesM) Protocol Specification

Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29.

Module 1. Introduction. Version 2 CSE IIT, Kharagpur

Aspect Oriented Strategy to model the Examination Management Systems

Hello, and welcome to this presentation of the STM32 SDMMC controller module. It covers the main features of the controller which is used to connect

The modular concept of the MPA-3 system is designed to enable easy accommodation to a huge variety of experimental requirements.

Real Time Programming: Concepts

The Business Process Model

CH.1. Lecture # 2. Computer Networks and the Internet. Eng. Wafaa Audah. Islamic University of Gaza. Faculty of Engineering

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

Computer-System Architecture

Modeling Guidelines Manual

Layered Approach to Development of OO War Game Models Using DEVS Framework

QoS issues in Voice over IP

Chapter 3 ATM and Multimedia Traffic

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

Analog vs. Digital Transmission

APPENDIX B. Routers route based on the network number. The router that delivers the data packet to the correct destination host uses the host ID.

-Helping to make your life betterwww.person-to-person.net

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.

LEADing Practice: Artifact Description: Business, Information & Data Object Modelling. Relating Objects

Transcription:

UML Activities & Actions

Action & Object Nodes Accept inputs, start behaviors, provide outputs Object/Data flow Control flow Send Envoice Invoice Make Payment Accept Payment Invoice1234: Invoice Invoice1234: Invoice Sequencing: control «flows» when action is complete Output provided when action is complete Action starts when input arrives

Overview Activity modeling emphasizes the sequence and conditions for coordinating lower-level behaviors, rather than which classifiers own those behaviors. These are commonly called control flow and object flow models. The actions coordinated by activity models can be initiated because other actions finish executing, because objects and data become available, or because events occur external to the flow. 3

Activity diagrams Possibly more than any other UML diagram, activity diagrams apply to much more than just software modeling. They are applicable to just about any type of behavioral modeling; for example, business processes, software processes, or workflows. Software modeling, activities typically represent a behavior invoked as a result of a method call. Business modeling, activities may be triggered by external events, such as an order being placed, or internal events, such as a timer to trigger the payroll process on Friday afternoons. Activity diagrams have undergone significant changes with UML 2.0; they have been promoted to first-class elements and no longer borrow elements from state diagrams. Activity diagrams capture activities that are made up of smaller actions. 4

Actions & Activities An action execution corresponds to the execution of a particular action. Similarly, an activity execution is the execution of an activity, ultimately including the executions of actions within it. Each action in an activity may execute zero, one, or more times for each activity execution. At the minimum, actions need access to data, they need to transform and test data, and actions may require sequencing. The activities specification (at the higher compliance levels) allows for several (logical) threads of control executing at once and synchronization mechanisms to ensure that activities execute in a specified order. 5

Activity Meta model Behavior Activity activity node 0..1 0..* ActivityNode ObjectNode Action ControlNode Pin ActivityParameterNode ActivityFinalNode InitialNode

Flows Meta model target incoming ActivityNode 1 0..* 1 0..* ActivityEdge 0..* activity edge 0..1 Activity source outgoing ControlFlow ObjectFlow 7

Actions An action is a named element that is the fundamental unit of executable functionality. The execution of an action represents some transformation or processing in the modeled system, be it a computer system or otherwise. The action begins execution by taking tokens from its incoming control edges and input pins. When the execution of an action is complete, it offers tokens in its outgoing control edges and output pins, where they are accessible to other actions.

Actions (2) an accept event action representing the receipt of a synchronous call request an action that waits for the occurrence of an event meeting specified condition. a call action that invokes a behavior directly rather than invoking a behavioral feature that, in turn, results in the invocation of that behavior. an action that transmits an operation call request to the target object, where it may cause the invocation of associated behavior. An action with implementation-specific semantics. an action that creates a signal instance from its inputs, and transmits it to the target object, where it may cause the firing of a state machine transition or the execution of an activity. The action returns the result of evaluating a value specification.

Activity Modeling (1) Activity modeling emphasizes the input/output dependencies, sequencing, and conditions for coordinating other behaviors. Uses secondary constructs to show which classifiers are responsible for those behaviors. Focus is on what tasks need to be done, with what inputs, in what order, rather than who/which performs each task.

Activity Modeling (2) Tasks and ordering

Activity Modeling (3) plus resource assignments «external» «attribute» performingdept: department Customer Acctg Department Order Department

Flow semantics Activity execution defined in terms of flow of control and objects/data.

Actions & Object Nodes (1) Accept inputs, start behaviors, provide outputs Send Envoice Invoice Make Payment Accept Payment Invoice1234: Invoice Invoice1234: Invoice Sequencing: control «flows» when action is complete Output provided when action is complete Action starts when input arrives

Actions & Object Nodes (2) Alternate object node notation. Must use this notation if the output type is different than the input type.

Queuing (1) Tokens can Stack up in in/out boxes Prevent upstream behaviors from taking new inputs Applicable to systems with significant resource constraints, such as physical or manual processes

Queuing (2) Tokens can be Stored temporarily Divided between flows Tokens cannot Flow in more than one direction, unless copied

Activity Parameter Nodes Accept_deposit Amount + Account Account Get Balance Set Balance Activity parameter nodes (uses of objects/data, a kind of object node) Parameter nodes accept and provide values to/from whatever behavior uses this activity

Streaming Parameters Streaming: values accepted and provided while action is executing Audio Encoder Analog waveform Analog waveform Analog Audio D/A Conversion Encode Audio {stream} {stream} In this activity diagram, the original analog audio is streamed through a digital-toanalog converter, and the resulting digital data is sent to the encoding algorithm for processing. Inputs accepted Outputs provided executing Not executing Non-streaming (this is the default) streaming time

Control Nodes (1) Route objects/data At beginning and end of activity: Initial Node Gets control when containing activity starts. Flow out immediately. Activity Final Node Accepts inputs, aborts containing activity Flow Final Accepts inputs, does nothing

Route objects/data In middle of activity: Control Nodes (2)

Interruptible Region Flows abort region Interrupting edge Request Cancel Cancel Order Receive Order [order accepted] Fill Order Ship Order Close Order Send Invoice Invoice Make Payment Accept Payment Interruptible region

Extensions for Systems Engineering Available in SysML (a UML profile for SE) Control as data Enabling and disabling control values Output from activities to turn other behaviors on and off. Rate of flow, on edges and streaming parameters Reduce buffering Overwrite values already in buffer Turn off buffering Probability on decisions, parameter sets, competing outflows from object nodes Behavior decomposition

Rate and buffer reduction

Activity decomposition

References Conrad Bock, UML 2 Activity articles: http://www.conradbock.org/#uml2.0 UML 2 specification: http://www.omg.org/docs/formal/07-02- 03.pdf SysML specification: http://www.omg.org/docs/ad/05-11-01.pdf