SOFT 437. Software Performance Analysis. What is UML? UML Tutorial

Similar documents
Use Case Diagrams & Sequence Diagrams

UMLEmb: UML for Embedded Systems. II. Modeling in SysML. Eurecom

UNIT-III LIFE-CYCLE PHASES

SOFT 437. Software Performance Analysis. Software Execution Model. Chapter 4: Software Execution Model

Towards Integrated System and Software Modeling for Embedded Systems

Course Outline Department of Computing Science Faculty of Science

UML Use Case Diagrams

A Formal Model for Situated Multi-Agent Systems

Requirements Analysis aka Requirements Engineering. Requirements Elicitation Process

CC532 Collaborative System Design

Use Case No 28: AGC Frequency Control

Co-evolution of agent-oriented conceptual models and CASO agent programs

Subway simulator Case study

Despite the euphonic name, the words in the program title actually do describe what we're trying to do:

Information Quality in Critical Infrastructures. Andrea Bondavalli.

Software Engineering: A Practitioner s Approach, 7/e. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

Object-oriented Analysis and Design

Grundlagen des Software Engineering Fundamentals of Software Engineering

FORMAL MODELING AND VERIFICATION OF MULTI-AGENTS SYSTEM USING WELL- FORMED NETS

Software LEIC/LETI. Lecture 21

The AMADEOS SysML Profile for Cyber-physical Systems-of-Systems

Conceptual Metaphors for Explaining Search Engines

Indiana K-12 Computer Science Standards

lnst rumented Architectural Simulation

GOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS

Chapter 2 Theory System of Digital Manufacturing Science

Object Modeling Approach. Object Modeling Approach

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

School of Computing, National University of Singapore 3 Science Drive 2, Singapore ABSTRACT

Design task: Pacman. Software engineering Szoftvertechnológia. Dr. Balázs Simon BME, IIT

2016 Massachusetts Digital Literacy and Computer Science (DLCS) Curriculum Framework

On-demand printable robots

CS 4667 Software Engineering Test 1 5 Oct 2007 Page 1 NAME:

A MODEL-DRIVEN REQUIREMENTS ENGINEERING APPROACH TO CONCEPTUAL SATELLITE DESIGN

An MDA -based framework for model-driven product derivation

Introduction to Systems Engineering

SYNTHESIZING AND SPECIFYING ARCHITECTURES FOR SYSTEM OF SYSTEMS

Introduction (concepts and definitions)

SOFT 423: Software Requirements

Object-Oriented Design

Counting Techniques, Sets & Venn Diagrams

AGENT BASED MANUFACTURING CAPABILITY ASSESSMENT IN THE EXTENDED ENTERPRISE USING STEP AP224 AND XML

Fuzzy-Heuristic Robot Navigation in a Simulated Environment

Multi-Robot Coordination. Chapter 11

Lecture 4: State Machines for Real-Time Embedded Systems

Years 9 and 10 standard elaborations Australian Curriculum: Digital Technologies

Model-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab)

Pervasive Services Engineering for SOAs

An Industrial Application of an Integrated UML and SDL Modeling Technique

Saphira Robot Control Architecture

Evolving Enterprise Architecture

ISO INTERNATIONAL STANDARD. Geographic information Locationbased services Tracking and navigation

CIS1109 merged questions

STEM: Electronics Curriculum Map & Standards

Software Architecture. New wine in old bottles? (i.e., software architecture global design?, architect designer)

Thriving Systems Theory:

Developing a VR System. Mei Yii Lim

Agent Oriented Software Engineering

Counting Techniques, Combinations, Permutations, Sets and Venn Diagrams

Autonomous Underwater Vehicle Navigation.

Unit 5: Unified Software Development Process. 3C05: Unified Software Development Process USDP. USDP for your project. Iteration Workflows.

Craig Barnes. Previous Work. Introduction. Tools for Programming Agents

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

Model Based Systems Engineering with MagicGrid

Strategic Considerations when Introducing Model Based Systems Engineering

Framework for Simulating the Human Behavior for Intelligent Virtual Agents. Part I: Framework Architecture

Lecture 6: Basics of Game Theory

The PASSI and Agile PASSI MAS meta-models

Computer Progression Pathways statements for KS3 & 4. Year 7 National Expectations. Algorithms

A Systems Approach to the Computer Aided Design of Reinforced Concrete Structures

An introduction to these key work products

Introduction to Real-Time Systems

Mode switch handling for the ProCom component model

UX Aspects of Threat Information Sharing

CS 480: GAME AI TACTIC AND STRATEGY. 5/15/2012 Santiago Ontañón

An Ontology for Modelling Security: The Tropos Approach

Trust and Commitments as Unifying Bases for Social Computing

Keywords: DSM, Social Network Analysis, Product Architecture, Organizational Design.

Proposal for the Conceptual Design of Aeronautical Final Assembly Lines Based on the Industrial Digital Mock-Up Concept

Introduction: Alice and I-CSI110, Programming, Worlds and Problems

How good is simple reversal sort? Cycle decompositions. Cycle decompositions. Estimating reversal distance by cycle decomposition

Methodology for Agent-Oriented Software

Asynchronous Best-Reply Dynamics

Towards a Platform for Online Mediation

Q. No. BT Level. Question. Domain

Argumentative Interactions in Online Asynchronous Communication

the gamedesigninitiative at cornell university Lecture 4 Game Grammars

Mirror Models for Pervasive Computing: Just-in-Time Reasoning about Device Ecologies

Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems

3GPP TS V ( )

Improved signal analysis and time-synchronous reconstruction in waveform interpolation coding

Agent-Oriented Software Engineering

Transactions on Information and Communications Technologies vol 4, 1993 WIT Press, ISSN

Arcade Game Maker Product Line Requirements Model

AOSE Agent-Oriented Software Engineering: A Review and Application Example TNE 2009/2010. António Castro

Business Process Management

Delaware Standards for Visual & Performing Arts

Use Case-based Requirements

2016 Massachusetts Digital Literacy and Computer Science (DLCS) Curriculum Framework

Evolving a Software Requirements Ontology

Transcription:

SOFT 437 Software Performance Analysis UML Tutorial What is UML? Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts for software systems, as well as for business modeling and other non-software systems. The UML is a very important part of developing object oriented software and the software development process The UML uses mostly graphical notations to express the design of software projects Winter 2009 SOFT 437 2

Use Case Diagrams A use case is a set of scenarios that describe an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases Winter 2009 SOFT 437 3 Use Case Diagrams (con t) This example shows the customer as a actor because the customer is Winter 2009 SOFT 437 4

Class Diagrams Classes are composed of three components: a name, attributes, and operations. Winter 2009 SOFT 437 5 Class Diagrams (con t) Class diagrams also display relationships such as containment, inheritance, and association Winter 2009 SOFT 437 6

Class Diagrams (con t) Model class structure and contents Winter 2009 SOFT 437 7 Sequence Diagrams Sequence diagrams demonstrate the behaviour of objects in a use case by describing the objects and the messages they pass. Winter 2009 SOFT 437 8

Sequence Diagrams (con t) Winter 2009 SOFT 437 9 Sequence Diagrams (con t) Winter 2009 SOFT 437 10

Sequence Diagrams (con t) Winter 2009 SOFT 437 11 State Diagrams Use state diagrams to demonstrate the behavior of an object through many use cases of the system Winter 2009 SOFT 437 12

Show the flow of activities iii through hh the system Activity Diagrams Winter 2009 SOFT 437 13 Activity Diagrams (con t) Winter 2009 SOFT 437 14

Physical Diagrams Describes the physical distribution of software components over different machines and processes Winter 2009 SOFT 437 15 SOFT 437 Software Performance Analysis Chapter 3: SPE and the UML

Extending the UML UML provides build-in extension mechanisms that allow you to tailor the notation for particular purposes. These mechanisms are stereotypes tagged values constraints Winter 2009 SOFT 437 17 Stereotypes A stereotype allows you to create new model elements derived from existing UML elements specific to a problem domain The stereotype is represented as a string enclosed in guillemets (<< >>), or a graphic elements, such as icon <<processor>> Pentium III stereotypes :Processor Winter 2009 SOFT 437 18

Tagged Values A tagged value allows you to include new properties for model elements A tagged value is a pair of strings -- a tag and a value {name of a property = value of the property} Client {processorspeed=500mhz} Tagged dvalues Winter 2009 SOFT 437 19 Constraints A constraint is a condition or restriction that defines additional model semantics A constraint may be attached to an individual model element or a collection of elements A constraint is written as a string enclosed in braces ({}) Constraints Winter 2009 SOFT 437 20

Stereotypes, Tagged Values, Constraints We use stereotypes and tagged values to capture information about the software execution environment e.g., processor type, processor speed, network speed We use constraints to specify performance objectives e.g., response time or throughput h Winter 2009 SOFT 437 21 Use Cases and Scenarios The SPE process focuses on use cases and the scenarios that describe them By examining the system s use cases, you can identify the functions of the system that significant to performance Performance scenario are the scenarios that have the most impact on performance Winter 2009 SOFT 437 22

Use Cases Use cases describe the behavior of a system or a subsystem A set of actions that a system performs and yields an observable bl result of value to an actor An actor is an entity outside the system (e.g., a user or another system) and interacts directly with the system A use case does not reveal internal details of interactions between actors and the system Winter 2009 SOFT 437 23 Use Cases A use case diagram shows a set of use cases, the actors that interact with use cases the relationships An actor can be represented by stick figures or stereotyped icons A use case is represented by an ellipse that contains the name of the use case Use Case Association Actor System Boundary Winter 2009 SOFT 437 24

Use Cases Use cases are employed to model the context the system: the system boundary indicates which features are part of (inside) the system, which actors interact with system, and the meaning of interaction specify the requirements for the system (i.e., what the system should do from the point of view of actors) From performance point of view, use case diagrams are used to identify the critical functions of the system that are most important to performance The critical use cases are considered, including are critical to the operation of the system influence users perception of responsiveness represent a risk that performance goals might not be met Winter 2009 SOFT 437 25 Scenarios A scenario is an instance of a use case It consists of a sequence of steps describing the interactions between the objects involved in a particular execution of the software The scenario shows objects that participate messages (e.g., event or method invocation) that flow bt between them Winter 2009 SOFT 437 26

Scenarios Scenarios are represented by either sequence diagrams or collaboration diagrams Sequence diagrams emphasize the time-ordering of message Collaboration diagrams emphasize the structural organization i of the collection of finteracting i objects Sequence diagrams are more natural to use for constructing ti performance models Winter 2009 SOFT 437 27 Object lifeline: represents the existence of an object over time Figure 3-6 Messages Basic Sequence Diagrams & Message Control Flow Winter 2009 SOFT 437 28

Creation and Destruction An activation indicates a period of time when the object is busy performing some action Object creation and destruction are indicated by the stereotyped messages Object creation Activation: focus of control Object Destruction Winter 2009 SOFT 437 29 Extensions to Sequence Diagram Notation Sequence diagram notation is extended to represent hierarchical structure (instance decomposition and references) looping alternation concurrency Winter 2009 SOFT 437 30

Winter 2009 SOFT 437 31 Instance Decomposition Uses instance decomposition to indicate the refinement of sequence diagrams Makes it possible to attach another sequence diagram to an object lifeline Allows expansion of a high-level sequence diagram to show lower-level l linteractionsi Winter 2009 SOFT 437 32

Winter 2009 SOFT 437 33 For the decomposition to be meaningful, the order of messages on the decomposed instance must be preserved Winter 2009 SOFT 437 34

Winter 2009 SOFT 437 35 Benefits of Instance Decomposition Elaborate the sequence diagram as we learn more about the system, without having to re-draw the diagram each time Ensure the consistency with the scenario as it was originally described Use instance decomposition to elaborate high-level objects as the design evolves Winter 2009 SOFT 437 36

Loop and Alternation Repetition Alternation (choice) Winter 2009 SOFT 437 37 Loop and Alternation (con t) Loop can be used when a sequence is repeated Alternation can be used when several possible transitions will be executed A probability of execution can be attached to a given sequence Winter 2009 SOFT 437 38

References allows for referring to other sequence diagrams Use references to reduce the complexity of sequence diagrams. References Winter 2009 SOFT 437 39 Winter 2009 SOFT 437 40

Example Once an order is made, a dispatch message is sent. The following algorithm describes the dispatch steps: procedure dispatch foreach (lineitem) it if (product.value > $10K) careful.dispatch else regular.dispatch endif endfor if (needsconfirmation) meesenger.confirm end procedure Winter 2009 SOFT 437 41 Winter 2009 SOFT 437 42

Specifying Time The UML allows you to specify timing requirements through the use of timing marks time expressions timing constraints Winter 2009 SOFT 437 44 Timing Marks Denote the time at which a message or an event occurs For example: message.sendtime() -- The time that the message is sent message.recievetime() -- The time that the message is received where message is the name of the message Winter 2009 SOFT 437 45

Time Expressions Evaluate to an absolute or relative value of time Express an elapsed time or the occurrence of some particular time For example, after(500msec) -- time elapsed after a particular state is entered when(t=08:00) -- the occurrence of the time 08:00 Winter 2009 SOFT 437 46 Time Constraints Express a constraint based on the absolute or relative value of time For example {b.sendtime() - a.recievetime() < 10 msec} Winter 2009 SOFT 437 47

Winter 2009 SOFT 437 48 Time Constraints (con t) Timeout conditions are not particularly useful from a performance perspective When specifying performance, we are more interested in response time responsetime(j.receivetime() i.sendtime()) {responsetime(j.receivetime() i.sendtime()) < 5s} a time constraint example Use time expressions that tare meaningful lfrom a performance perspective, such as responsetime(), to specify performance objectives Winter 2009 SOFT 437 49

Concurrency Modeling concurrency is important in the later stages of SPE for evaluating contention effects Concurrency issues are expressed by UML notations Threads and Processes Coregions Parallel Composition Synchronization Winter 2009 SOFT 437 50 Threads and Processes A process represents a flow of control that executes in parallel with other processes Each process has its own address space represented by a standard stereotype <<process>> A thread executes concurrently with other threads inside a process all threads belonging to a process all share the same address space represented by a standard stereotype <<thread>> Winter 2009 SOFT 437 51

Winter 2009 SOFT 437 52 Coregions A sequence diagram are strictly ordered in time Coregions allow an exception to total ordering whereby messages within a coregion are unordered Coregions allow you to show the interleaving of messages that occur in parallel processing Coregion Coregion Winter 2009 SOFT 437 54

Parallel Composition Indicates sections of the sequence diagram that are executed in parallel Shows the interleaving of messages that occur in parallel processing Allows more flexible representation of parallel processing Winter 2009 SOFT 437 55 Parallel composition clause Winter 2009 SOFT 437 56

Synchronization UML provides different types of arrowheads to represent communications among objects Synchronous message Asynchronous message Return Winter 2009 SOFT 437 57 Synchronization (con t) Winter 2009 SOFT 437 58

Contention Effects Modeling concurrency is important in the later stages of SPE for evaluating contention effects Early stages of the development process focus on software model without contention Concurrency and synchronization properties of the proposed software are considered dlater when your knowledge of the software system increases Winter 2009 SOFT 437 59 References Lecture notes for CS399 by Bob Dugan at stonehill university Winter 2009 SOFT 437 60