CISC836: Models in Software Development: Methods, Techniques and Tools

Similar documents
CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: Models in Software Development: Methods, Techniques and Tools

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

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

What's New in UML 2.0

Tutorial: Embedded and Reactive Systems Development with UML-RT and Papyrus-RT

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

Technical Briefing: Modeling and Code Generation for Real-Time Systems using UML-RT and Papyrus-RT

Unified Modeling Language (UML)

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

Object Oriented Modeling

Unified Modeling Language 2

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Embedded Systems. Problem 1: Getting started with STATEFLOW. Starting STATEFLOW

Promela and SPIN. Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH. Promela and SPIN

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

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

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

Enterprise Architect Training Courses

Interactions A link message

Appendix D: Mapping BPMN to BPD Profile

Activities Radovan Cervenka

Ingegneria del Software Corso di Laurea in Informatica per il Management

State Machine Diagrams

Model Migration Case for TTC 2010

SESE Tour 2018 Toulouse May 22

Distributed Systems Programming (F21DS1) Formal Verification

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Analysis of the combined use of SCADE and UML 2.x models. Project description. Ramin Hedayati. Member of GRADUIERTENKOLLEG EINGEBETTETE SYSTEME

Specifications Part 1

Horváth Ákos Bergmann Gábor Dániel Varró István Ráth

Object-Interaction Diagrams: Sequence Diagrams UML

On the Generation of Test Cases for Embedded Software in Avionics or Overview of CESAR

UML 2.0 State Machines

STATE MACHINES. Figure 1: State Machines

From Analysis to Design. LTOOD/OOAD Verified Software Systems

Building Synchronous DataFlow graphs with UML & MARTE/CCSL

COSC 3351 Software Design. An Introduction to UML (I)

Remote Control. IMMS.de

EE249 Lab September 30 h, 2008 Hugo A. Andrade

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Automatic Code Generation from Stateflow Models

OMG Modeling Glossary B

Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets)

An Introduction to Lustre

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

SCXML State Chart XML. Previously, in this course...

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

SCXML State Chart XML

Model Driven Development Unified Modeling Language (UML)

UNIT-4 Behavioral Diagrams

Enterprise Architect. User Guide Series. SysML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

Hardware Description Languages & System Description Languages Properties

Dominique Blouin Etienne Borde

RSARTE Icons. Mattias Mohlin Senior Software Architect IBM

Introduction to Software Engineering. 6. Modeling Behaviour

Programming Embedded Systems

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD

Imperative model of computation

Model Migration Case for TTC 2010

A UML 2 Profile for Variability Models and their Dependency to Business Processes

UML Diagrams MagicDraw UML Diagrams

Goals of Program Optimization (1 of 2)

An Information Model for High-Integrity Real Time Systems

Modeling Requirements

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES

(All chapters begin with an Introduction end with a Summary, Exercises, and Reference and Bibliography) Preliminaries An Overview of Database

Execution of UML State Machines Using Modelica

Model Checking of Models of Real-Time Systems

Behavioral Modeling. Gregor v. Bochmann, University of Ottawa

Alloy: A Lightweight Object Modelling Notation

AADL Graphical Editor Design

Process and data flow modeling

UML- a Brief Look UML and the Process

Intro to Modelling and UML

Introduction to MDE and Model Transformation

UNIT V *********************************************************************************************

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Model Finder. Lawrence Chung 1

Enterprise Architect - UML Dictionary

Completeness and Consistency Analysis of UML Statechart Specifications

The rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13

Precise Action Semantics for UML

Software Specification 2IX20

UML (Unified Modeling Language)

SE 1: Software Requirements Specification and Analysis

Stateflow Best Practices By Michael Burke

It s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu

Introduction to Modeling

Object-Oriented Design

4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271

UML Start-Up Training UB1

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

Modal Models in Ptolemy

Combined Modeling and Programming with State Machines

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Verification Framework for Detecting Safety Violations in UML State chart Models of Reactive Systems C.M. Prashanth

Transcription:

CISC836: Models in Software Development: Methods, Techniques and Tools Topic 3: Expressing Software Models Expressing SW models: Overview 1. Examples of software modeling languages 1. UML (for modeling everything) language: collection of 14 diagram types analysis: e.g., well-formedness, approaches to consistency, reachability 2. Alloy (for data modeling, aka, class diagrams ) language: textual; first-order predicate logic + relational calculus analysis: consistency and property checking using satisfiability solving 3. Promela (for concurrent systems) language: concurrent, imperative language with message passing analysis: temporal logic model checking (i.e., exhaustive state space exploration) using Spin Juergen Dingel Jan, 2015 1 2 Modeling Languages UML increasing generality CISC836, Winter 2015 AADL Embedded, real-time UML MARTE Embedded, real-time Modelica Physical systems Equation-based Simulink Continuous control, DSP time-triggered dataflow Stateflow Reactive systems Discrete control State-machine-based Lustre/SCADE Embedded real-time Synchronous dataflow UML-RT Embedded, real-time State-machine-based Examples in [Voe13, Kel08] EGGG [Orw00] increasing domain-specifity 3 UML: A brief overview Not an introduction to UML More on, e.g., http://www.sparxsystems.com/resources/uml2_tutorial/ http://edn.embarcadero.com/article/31863 CISC836, Winter 2015 http://en.wikipedia.org/wiki/unified_modeling_language 4

UML: History UML: 14 Different Diagram Types Composite Structure Class Object Component Deployment Package Profile Structure Sequence Use Case CISC836, Winter 2015 http://en.wikipedia.org/wiki/unified_modeling_language 5 State Machine CISC836, Winter 2015 Activity Communication Interaction Overview Timing Behaviour 6 UML: 14 Different Diagram Types (Cont d) UML: Class Widely considered most important and most useful [ES07, Whi11a] Also form basis of many language specification techniques (MOF, Ecore) 7 [Whi11a] CISC836, Winter 2015 8

UML: Class (Cont d) Shows classes/concepts, their attributes, operations, and relationships UML: Class (Cont d) Associations are a rich concept Multi-arity, multiplicity, navigability, visibility, ownership of ends (by classifier or by association), qualification, association classes Code generation not straight-forward E.g., checking of multiplicity constraints E.g., if both ends of a binary association are navigable and owned by the end classes, then update of one association end may require update of other as well [Ges08] 9 10 UML: Class (Cont d) UML: Class (Cont d) Examples: Software design patterns http://en.wikipedia.org/wiki/software_design_pattern Example: Royal & Loyal 11 12

UML: Class (Cont d) UML: Class (Cont d) Example: Associations in UML 2.5 Specification [Section 11.5, page 208] Example: Classes in UML 2.5 Specification [Section 11.4, page 202] 13 14 UML: Composite Structure UML: Associations vs Connectors Shows internal structure of StructuredClassifier, including interaction points to other parts of system Key concepts Part: Properties specifying instances that StructuredClassifier owns Connector: specifies links between parts; typically represents possibility to communicate Port: typed element defining interaction between classifier and environment; may specify provided and required services (via interfaces) 15 16

UML: Object Shows objects/instances and their relationships at particular point in time (a.k.a., snapshot or state ) Must be conforming to class diagram UML: Composite Structure (Cont d) 17 18 UML: Sequence Show behaviours as sequences of messages b/w objects UML: Sequence (Cont d) Features Synchronous and asynchronous messages (Nested) Behaviour executions specifications Interaction uses (references) 19 20

UML: Sequence (Cont d) UML: Sequence (Cont d) Example: Royal & Loyal Combined fragments Interaction operator kinds : alt, option, break, parallel, weak/strict sequencing, negative, assertion, loop More in UML 2.5 Specification Section 17.6 21 22 UML: Sequence (Cont d) Example: Fibonacci David Harel UML: State Machines The pictures were simply doing a much better job of setting down on paper the system's behavior, as understood by the engineers, and we found ourselves discussing the avionics and arguing about them over the diagrams, not the statocols. [Har07] 23 CISC836, Winter 2015 24

UML: State Machine Show behaviour as sequences of state changes caused by transitions triggered by events UML: State Machine (Cont d) Features Composite states (hierarchical, or-states) Group transitions History states (Orthogonal, concurrent) regions (and-states) Entry, exit, do-actions Run-to-completion semantics 25 26 UML: Activity UML: State Machine (Cont d) Show behaviours as sequences of activities Features Two kinds of flow: control and data Different kinds of behaviour invocation: synchronous, asynchronous Different kinds of control nodes: initial, final, fork, join, decision, merge Different composition mechanisms: loops, conditionals, interruptible regions, exceptions Structuring mechanisms: partitions, swimlanes Support for data flow: edge weights, multiplicities on pins Semantics: Petri net-based token/offer semantics with deadlock avoidance rules 27 28

UML: Activity (Cont d) 29 Object Constraint Language (OCL) A declarative language for describing well-formedness rules of models May be used with any MOF-based meta model Examples: The source & target states of transition belong to same machine Transition target.root().machine = where root() is State::root() : State { } source.root().machine if parent = null then self else parent.root() The left-hand side and the right-hand side of an assignment have the same type AssignmentStatement lhs.type = rhs.type 30 UML: Tools IBM Rational RSA IBM Rhapsody Altova UModel Eclipse UML2 Papyrus (open source) eclipse.org/papyrus Mentor Graphics xtuml (open source) http://www.xtuml.org/ USE (open source) sourceforge.net/apps/mediawiki/useocl UML: Summary De facto standard in software modeling Rich dictionary of model concepts UML 2.5 Spec has 809 pages UML was designed to be used selectively Bran Selic in [Pet14] Tool support Still a problem, but getting better Increasingly open source 31 32