Marc Geilen, Eindhoven University of Technology, Information and Communication Systems 1 Object-Oriented Modelling and Specification.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
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.
Model Checking for an Executable Subset of UML Fei Xie 1, Vladimir Levin 2, and James C. Browne 1 1 Dept. of Computer Sciences, UT at Austin 2 Bell Laboratories,
Performance Model Checking Scenario-Aware Dataflow Bart Theelen, Marc Geilen, Jeroen Voeten.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Architecture Representation
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
1 Statecharts for the many: Algebraic State Transition Diagrams Marc Frappier GRIL – Groupe de recherche en ingénierie du logiciel.
The Spin Model Checker Promela Introduction Nguyen Tuan Duc Shogo Sawai.
Technische universiteit eindhoven 25 September 2002www.ics.ele.tue.nl/~btheelen1 Using the SHE Method for UML-based Performance Modelling B.D. Theelen.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
Unified Modeling (Part I) Overview of UML & Modeling
Models of Computation for Embedded System Design Alvise Bonivento.
Chapter 11: Distributed Processing Parallel programming Principles of parallel programming languages Concurrent execution –Programming constructs –Guarded.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Operational Semantics Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Describing Syntax and Semantics
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
SE-565 Software System Requirements More UML Diagrams.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Advances in Language Design
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Formal Specification l Techniques for the unambiguous specification of software.
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
The Architecture of Secure Systems Jim Alves-Foss Laboratory for Applied Logic Department of Computer Science University of Idaho By, Nagaashwini Katta.
QoS Support in High-Speed, Wormhole Routing Networks Mario Gerla, B. Kannan, Bruce Kwan, Prasasth Palanti,Simon Walton.
WXGE6103 Software Engineering Process and Practice Formal Specification.
Salim Hariri HPDC Laboratory Enhanced General Switch Management Protocol Salim Hariri Department of Electrical and Computer.
Modeling and simulation of systems Model building Slovak University of Technology Faculty of Material Science and Technology in Trnava.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
MGS3100_01.ppt/Aug 25, 2015/Page 1 Georgia State University - Confidential MGS 3100 Business Analysis Introduction - Why Business Analysis Aug 25 and 26,
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Introduction to Software Engineering Lecture 1.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
By: David Harel & Eran Grey Presenter: Elizabeth Antony CISC 836.
Jeroen Voeten, Information and Communication Systems Group 1 System Level Modelling in POOSL J. Voeten, P. van der Putten,
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Parameterized Models for Distributed Java Objects Tomás Barros & Rabéa Boulifa OASIS Project INRIA Sophia Antipolis April 2004.
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Lecture 4 Introduction to Promela. Promela and Spin Promela - process meta language G. Holzmann, Bell Labs (Lucent) C-like language + concurrency dyamic.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Analysis Classes Unit 5.
Modeling and Simulation (An Introduction)
About the Presentations
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Object-Oriented Analysis
Model Checking for an Executable Subset of UML
UNIT-II CHAPTER-4 SOFTWARE REQUIREMENT DEFINITION
Presentation transcript:

Marc Geilen, Eindhoven University of Technology, Information and Communication Systems 1 Object-Oriented Modelling and Specification using SHE M. Geilen, J. Voeten Information and Communication Systems Department of Electrical Engineering Eindhoven University of Technology The Netherlands >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 2 Contents Introduction: SHE System Level Modelling The POOSL Language Example and tools Conclusions & Further Research >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 3 Software / Hardware Engineering >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 4 1:a 2:b 5:c o1o2o3 Interaction Diagrams Initial Requirements POOSL formalisation functional behaviour, structure, communication, real-time Object o1 (class A) Object o2 (class A) Object o3 (class B) message b message c Message Flow Diagrams Requirements Catalogue SHE Methodology Framework Object Class Diagram Messages: Attributes: P: Class A Relationship x Messages: m Attributes: P: Class B Architecture Structure Diagrams M2M1 network Instance Structure Diagrams Object o1 (class A) Object o3 (class B) Object o2 (class A)

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 5 Object Class Diagram

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 6 SHE: Message Flow Diagram

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 7 Introduction: System Level Modelling >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 8 Design Decisions and Models  Investigation of design alternatives to obtain a satisfying realisation.  Realising design alternatives to determine the values of these properties is too costly and time-consuming.  Values of properties must be determined from models.  A model is an abstract representation of some design realisation.  A model must be adequate for the properties that are relevant for making a design decision. >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 9 System Level Modelling  If a model is more abstract  it will in general be adequate for less properties with less accuracy;  it will be more difficult to realise;  it will be more compact;  it will take less time to develop;  it will be cheaper to deduce properties.  Design decisions taken early in the design process (based on abstract models) have a large impact on property values. >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 10 Example: Switch Fabrics Decision Properties Throughput Average Delay Jitter Quality of Service Design Issues Queues Priorities Backpressure Scheduling Modelling Concepts Modelling Entities Concurrency Communication/Synchronization Time/Stochasticity >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 11 Language Design Considerations/Alternatives Modelling Entities –Separate Data & Control  Autonomous Objects –Structural  Behavioural –... Concurrency –Synchronous  Asynchronous –Inherent to Modelling Entities  Orthogonality Communication/synchronisation –Synchronous  Asynchronous –Buffered  Unbuffered –... Time/stochasticity –Real-time  Discrete-time  Synchrony Hypothesis –Stochastic  Probabilistic  Non-determinism –... > Mathematical semantics Small Expressive Collection of Blending Language Primitives Selection Conflicts Orthogonality POOSL

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 12 The POOSL Language >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 13 Overview of POOSL  POOSL (Parallel Object-Oriented Specification Language) is a formal specification language based on a timed version of process algebra CCS and on the basic concepts of traditional object-oriented programming languages (Smalltalk, Java, C++).  A POOSL specification consists of  A Top-Level Cluster;  Clusters & Cluster Classes;  Process Objects & Process Classes;  Data Objects & Data Classes. >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 14 Example: Switch Fabric >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 15 Clusters  Hierarchical structural entities;  Statically interconnected in a topology of channels;  Connect to the channels through private ports;  Consist of process objects and other clusters;  Behave asynchronous concurrent;  Communicate by synchronous message passing;  Organised in cluster classes. >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 16 Example: Multistage Switch >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 17 Process objects  Behavioural asynchronous concurrent entities;  Statically interconnected in a topology of channels;  Communicate by synchronous message passing;  Contain data objects;  Compositional behaviour descriptions  Primitive statements: data,time,communication  Constructors: Parallel composition, interrupts, …  Behavioural abstraction: methods;  Are organised in process classes. >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 18 Example: Switch >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 19 Process Statements A method body consists of a process statement PS: The execution of PS can result inAction Performance & Time Passage PS ::= | ch!m(DE 1,…,DE n ){DS} synchronous send | delay(DE) delay statement | while E do PS od repetition | DS {DS} data statement | if E then PS 1 else PS 2 fi selection message reception ch?m(p 1,…,p n | DE){DS} | sel PS 1 or … or PS n les choice statement | par PS 1 and … and PS n rap parallel composition | PS 1 interrupt PS 2 interrupt statement | PS 1 abort PS 2 abort statement | [DE]PS guarded command | m(DE 1,…,DE n )(p 1,…,p n ) method call | PS 1 ;PS 2 sequential composition | timestamp x read model time

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 20 Example 1: Intuitive Semantics initialize()() ch!givePosition; delay(3.14); ch?position(point). ch initialize()() ch?givePosition; ch!position(point). instance variable point (10,12) instance variable point givePosition (10,12) position( ) copy > Time: 03.14

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 21 Example 2: initial method startUp of Switch startUp()() outputBufferArray:=new(Array) size(2); outputBufferArray put(1,new(BoundedFIFOBuffer) size(bufferSize)); outputBufferArray put(2,new(BoundedFIFOBuffer) size(bufferSize)); par handleInput1()() and handleInput2()() and handleOutput1()() and handleOutput2()() rap. >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 22 Example 3: method handleInput1 of Switch handleInput1()() | cell: Cell | i1?cell(cell | outputBufferArray at(cell destinationPort) isNotFull) {outputBufferArray at(cell destinationPort) put(cell); cell nextDestinationPort}; delay(cellTime); handleInput1()(). >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 23 Example 4: method handleOutput1 of Switch handleOutput1()() [outputBufferArray at(1) isNotEmpty] o1!cell(outputBufferArray at(1) firstElement) {outputBufferArray at(1) removeFirstElement}; delay(cellTime); handleOutput1()(). >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 24 Example 5: Process Class Source >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 25 Data objects  Behavioural sequential entities;  Can be created dynamically;  Communicate by message passing;  Invoke methods upon message reception;  Return results of method invocations to sender;  Are organised in data classes. >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 26 Example: Data class Exponential >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 27 > Data Statements and Expressions DS ::= x:=DE | DS 1 ;DS 2 | while DE do DS | if E then DS 1 else DS 2 fi | DE assignment to variable or parameter sequential composition repetition selection data expression A method body consist of a data statement DS : > DE ::= x | new(C) | self | DE m (DE 1,…,DE n ) | -1,0,’a’,’b’,3.14,true,false | nil data object referenced by x newly created data object of data class C data object evaluating this expression method call constants of primitive classes constants undefined data object DE is a data expression, always evaluating to a data object:

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 28 mu rand withParam(m:Real):Exponential mu:=m; rand:=new(RandomGenerator); return(self). Example: Intuitive Semantics Consider the execution of the following statement: exp:=new(Exponential) withParam(3) 3 some Random >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 29 Formal Semantics >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 30 Formal Semantics: Transition System Plotkin-style Structural Operational Interleaving Semantics defines a labelled transition system: Model M can perform action a and then behave as M’ Model M can delay for time t and then behave as M’ > M M’ a Compositional Definition with Axioms and Inference Rules (Mod, Act,T,{ | a  Act},{ | t  T}) at M M’ t delay(t)  t M 1 || M 2 M’ 1 || M’ 2 t M 2 M’ 2 t M 1 M’ 1 t c!m M 2 M’ 2 c?m M 1 || M 2 M’ 1 || M’ 2 

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 31 Action Urgency: Two-Phase Model Asynchronous Execution of Actions Synchronous Passage of Time > [X.Nicollin, J.Sifakis ’91]

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 32 Example: Lossy Channel >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 33 Transition System of a Lossy Channel >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 34 Analysis: Verification Analytical (Exhaustive) –Generate complete transition system using the mathematical semantics –Exhaustive analysis of this transition system –Certain results but only applicable in case of relatively small (finite- state) systems Empirical validation (By Simulation) –Generate one or more execution traces using the mathematical semantics –Analysis of these execution traces –Uncertain results but applicable in case of large and even infinite-state systems >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 35 Analysis: Performance Analytical (Exhaustive) –Generate complete transition system using the mathematical semantics –Exhaustive analysis of this transition system –Compute performance figures using Markov Reward Structures –Certain/precise results but only applicable in case of relatively small finite-state systems Empirical (By Simulation) –Generate one or more execution traces using the mathematical semantics –Analysis these execution traces –Estimate performance figures using statistical methods –Uncertain results but applicable in case of large and even infinite-state systems >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 36 Supporting Tools >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 37 Editing (1) Editing hierarchy and structure...

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 38 Editing (2) Editing behaviour of process and data classes...

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 39 Simulation Executing the behaviour of the model...

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 40 Validation Validating system behaviour...

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 41 Scenarios Using scenarios to focus on specific parts of the model...

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 42 Empirical Performance Estimation > Automatic estimation of performance parameters. With a confidence of 95% the mean throughput is between and

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 43 Conclusions & Further Research >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 44 Conclusion (1) POOSL POOSL is a language developed for system level modelling. It combines a process part based on CCS with a data part based on traditional object-oriented programming languages –Architecture structure and topology is modelled graphically by means of clusters and channels –Complex real-time behaviour is modelled by asynchronous concurrent process objects –Complex dynamic functional behaviour is expressed by (travelling) data objects >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 45 Conclusion (2) Mathematical semantics POOSL is equipped with a complete mathematical semantics enabling analytical and empirical performance evaluation and formal verification Tools Tools are available supporting –modelling, –simulation, –validation –performance analysis. >

Object-Oriented Modelling and Specification using SHE Eindhoven University of Technology, ICS 46 Further Research Performance evaluation –Probabilistic extension of the formal semantics –Model abstraction, analytical techniques based on stochastic processes –Empirical parameter estimation techniques applied to full models Formal (real-time) verification –Model abstraction, exhaustive model checking –Non-exhaustive model checking applied to full models Software synthesis (C++) –Rapid Simulation, Performance Analysis and Verification –Automatic Implementation >