Technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen1 Using the SHE Method for UML-based Performance Modelling B.D. Theelen.

Slides:



Advertisements
Similar presentations
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Advertisements

Technische universiteit eindhoven 20 October 2001www.ics.ele.tue.nl/~btheelen1 Performance Modeling in the Large: A Case Study B.D. Theelen.
Technische universiteit eindhoven PROGRESS 11 December 2002www.ics.ele.tue.nl/~btheelen1 Performance Modelling of Complex Hardware/Software Systems B.D.
Marc Geilen, Eindhoven University of Technology, Information and Communication Systems 1 Object-Oriented Modelling and Specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
Real-time systems and the UML Morgan Björkander
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
1 Statecharts for the many: Algebraic State Transition Diagrams Marc Frappier GRIL – Groupe de recherche en ingénierie du logiciel.
Software Requirements Engineering
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Object-Oriented Analysis and Design
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
1 Petri Nets H Plan: –Introduce basics of Petri Net models –Define notation and terminology used –Show examples of Petri Net models u Calaway Park model.
Unified Modeling (Part I) Overview of UML & Modeling
Describing Syntax and Semantics
UML Notations Activity diagrams State diagrams Class diagrams Use-case diagrams.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Introduction To System Analysis and design
Ch.2 Part A: Requirements, State Charts EECE **** Embedded System Design.
Multi-Agent Model to Multi-Process Transformation A Housing Market Case Study Gerhard Zimmermann Informatik University of Kaiserslautern.
Requirements Expression and Modelling
UML Notations in CommonKADS Activity diagrams State diagrams Class diagrams Use-case diagrams.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Ch.2 Part C: Message Sequence Charts, UML EECE **** Embedded System Design.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
UML Notations in CommonKADS Activity diagrams State diagrams Class diagrams Use-case diagrams.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Lecture 18: Object-Oriented Design – Interaction and State Diagrams Anita S. Malik Adapted from Schach (2004) Chapter 12.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Jeroen Voeten, Information and Communication Systems Group 1 System Level Modelling in POOSL J. Voeten, P. van der Putten,
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Agenda  Quick Review  Finish Introduction  Java Threads.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
SysML and Modelica Integration Working Group Meeting 3/11/09 Peter Fritzson Wladimir Schamai.
Evolution of UML.
Object-Oriented Analysis and Design
Chapter 20 Object-Oriented Analysis and Design
UNIT-II CHAPTER-4 SOFTWARE REQUIREMENT DEFINITION
From Use Cases to Implementation
Presentation transcript:

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen1 Using the SHE Method for UML-based Performance Modelling B.D. Theelen

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen2 Contents Introduction Software/Hardware Engineering (SHE) UML Profile for SHE –Parallel Object-Oriented Specification Language (POOSL) Performance Evaluation Tool Support Conclusions

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen3 Introduction Designing complex hardware/software systems entails evaluating the performance of several design alternatives System-level design methods executable models –Present frameworks for developing executable models, which Describe a system in the early phases of the design process Abstract from many implementation details (which are not all known yet) Allow analysing performance properties before actually realizing the system in hardware and software Enable to take well-founded design decisions based on analysis results heuristicsmodelling languages analysis techniques –Provide heuristics for applying certain modelling languages and performance analysis techniques tools executing –Are supplemented by tools that enable efficient application of analysis techniques by executing models according to semantics of modelling language UML is often used as modelling language

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen4 UML-based Performance Modelling UML provides ample notation to specify a system, but –Informal formal –Informal dynamic semantics of UML diagrams complicates application of formal (mathematical) performance analysis techniques Semantics of UML does not describe how to manage concurrency and time not executableUML models are in principle not executable A formal (mathematically defined) semantics would –Allow integral application of mathematical analysis techniques unambiguous execution –Enable unambiguous execution based on mathematical framework Software/Hardware Engineering (SHE) –System-level design method for complex real-time hardware/software systems formal executable models –Heuristics for developing UML models that can be transformed into formal executable models using the Parallel Object-Oriented Specification Language

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen5 SHE: three phases Formulation –UML profile for SHE –Commercial tool Formalisation –Modelling language POOSL Small set of expressive primitives concurrencytime stochasticityFormal semantics defines how to handle concurrency, time and stochasticity in POOSL model –SHESim –SHESim tool Performance evaluation –Based on Markov chain analysis computation simulationAnalytic computation or estimation by simulation –Rotalumis –Rotalumis tool

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen6 UML Profile for SHE: Data Objects Model passive resources (information) data classesOrganised in data classes instance variablesAttributes are instance variables methodsProcedural behaviour specified with methods atomic executionReceiving messages results in atomic execution of equally named method Similar to objects in traditional OO languages RandomGeneratorInstances of data class RandomGenerator introduce stochasticity –Examples: state transition probabilities in state charts, probabilistic delays, … Library classes for random variables of various distributions

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen7 UML Profile for SHE: Processes Model real-time behaviour of non-composite active resources (components) process classesOrganised in process classes Attributes –instance variables –instance parameters Perform behaviour asynchronously concurrent methodsBehaviour specified with sequentially or concurrently executed methods Initial methodInitial method defines start behaviour static channelsSynchronously pass messages (and data) over static channels through ports

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen8 Behaviour specified in state charts, activity diagrams, collaboration diagrams and message sequence charts Orthogonal POOSL statements –Method abstractionm(E 1 …E i )(p 1 …p j ) –Parallel and sequential compositionpar S 1 and S 2 and … rap S 1 ; … ; S n –Synchronous message passingc!m(E 1 …E i ){E at } c?m(p 1 …p i |E rc ){E at } –Non-deterministic selectionsel S 1 or S 2 or … les –Guarded and atomic execution[E]S {E 1 ; E 2 ; … E i } –Interrupt and abortinterrupt S 1 with S 2 abort S 1 with S 2 –Loops and choicewhile E do S od if E then S 1 else S 2 fi –Data ExpressionE –Empty behaviourskip –Time synchronisationdelay E behavioural hierarchyFull support for modelling behavioural hierarchy Limited number of heuristics for deriving POOSL code provided Behaviour of Processes

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen9 UML Profile for SHE: Clusters Model composite active resources (components) cluster classesOrganised in cluster classes instance parametersAttributes are instance parameters notDo not define additional behaviour structural hierarchyExpress structural hierarchy originating from aggregation relations between components Instance Structure Diagram

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen10 Framework for Performance Evaluation Mathematical framework based on formal semantics of POOSLMathematical framework based on formal semantics of POOSL Formal semantics combines aspects of traditional OO languages with probabilistic timed version of process algebra CCS POOSL model defines a unique Markov decision process Formal Semantics Understandable POOSL Model Markov Decision Process extendingFormalisation of performance related aspects in UML diagrams involves extending a POOSL model to define a reward structure –Example: variable to denote current occupancy of a buffer + Extensions for Performance Evaluation + Reward Structure External Scheduler non-determinismExternal scheduler (simulator) resolves non-determinism Discrete-Time Markov Chain + Reward Structure discrete-time Markov chainMathematically analysable discrete-time Markov chain

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen11 computationAnalytical computation: ergodic theorem for Markov chains –Example: time-average buffer occupation Performance Evaluation simulationEstimation by simulation: central limit theorem for Markov chains –Example: packet-loss probability confidence intervals –Enables accuracy analysis with confidence intervals automatic termination –Enables automatic termination of simulation when results are accurate –Library classes for analysing accuracy of different average and variance types

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen12 Tool Support SHESim formalisation –Incremental formalisation of UML models into POOSL model –Defining cluster classes based on drawing instance structure diagrams –Specifying process classes –Defining data classes

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen13 Tool Support SHESim validation –Interactive validation by inspection of objects during simulation –Validation against Collaboration diagrams Message sequence charts State charts and activity diagrams Use case diagrams / scenarios

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen14 Tool Support Rotalumis evaluation –High-speed execution of large POOSL models for performance evaluation –Translates POOSL model into byte code that is executed on virtual machine implemented in C++ –Displays limited information about progress of simulation –Performance results are logged to files (based on the library classes)

technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen15 Conclusions Performance modelling requires language with formal semantics –Unambiguous execution based on mathematical framework –Integral application of mathematical analysis techniques System-level design method SHE distinguishes three phases –Formulation based on informal UML diagrams (UML profile for SHE) –Formalisation with formal modelling language POOSL POOSL model implicitly defines Markov chain –Evaluation based on Markov chain analysis Analytical computation or estimation by simulation Library classes for accuracy analysis SHE offers tools for formalisation and evaluation phases –SHESim for creation and validation of POOSL models –Rotalumis for fast evaluation large POOSL models Future research on tool integrating computer support for all phases