The UML Formal Methods for SoC Design Sorin Manolache

Slides:



Advertisements
Similar presentations
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Advertisements

UML: An Introduction.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
© Copyright Eliyahu Brutman Programming Techniques Course.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Itntroduction to UML, page 1 Introduction to UML.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
David Harrison Senior Consultant, Popkin Software 22 April 2004
UML and Object Oriented Concepts
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
UML What Is the UML? The Unified Modeling Language (UML) is the successor to the wave of object- oriented analysis and design (OOA&D) methods.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
By: DiGitAll UML an overview. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
ARTIFACT UML Actor A Use Case 1 Use Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw()
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
The Unified Modeling Language (UML)
Introduction to OOAD & Rational Rose cyt. 2 Outline RUP OOAD Rational Rose.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Copyright (C), No Magic, Inc Welcome to No Magic!
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
UML (Unified Modeling Language)
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Introduction to OOAD and UML
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
Introduction to UML.
Evolution of UML.
UML: An Introduction.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Software Architecture & Design Pattern
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Introduction to UML.
Introduction to UML.
Real-time (OO) Systems Design Using UML
Analysis models and design models
Visual Modeling Using Rational Rose
Uml diagrams In ooad.
Software Development Process Using UML Recap
Presentation transcript:

The UML Formal Methods for SoC Design Sorin Manolache

Outline The UML – Sorin Manolache History and rationale UML-based design process Pros and cons Current status UML resources

Rationale The UML – Sorin Manolache “Specification, visualization, and documentation of models of software systems, including their structure and design” Grady Booch (OOAD), Jim Rumbaugh (OMT), Ivar Jacobsen (Objectory) ~ 1994 – 1997 Based on the OO philosophy as it was considered more suitable for complexity management Appeared as a unification and standardization of existing software modelling languages

Characteristics The UML – Sorin Manolache Graphical, 12 standard types of diagrams Structural: class, object, deployment, component Behaviour: use case, sequence, statechart, activity, collaboration Model management: packages, subsystems, models Concurrency (execution threads, active objects) Extended in order to capture timeliness requirements Supports simulation and possibly synthesis

Requirements The UML – Sorin Manolache Use cases Who are the users? What do they use the system for? (very coarse grained functionality)

Use Case Diagrams The UML – Sorin Manolache configure handover establish link measure transceive BTS BSC MS close link broadcast

Analysis The UML – Sorin Manolache Sequence diagrams For each use case, imagine a scenario Identification phase, which are the objects? How are they related? How do they collaborate? Timeliness requirements specification

Disassembler Sequence Diagrams The UML – Sorin Manolache DemodulatorDisassemblerDecipheringDeinterleaverConv. dec.Fire dec. 125  s 5s5s

Object Behaviour The UML – Sorin Manolache Harel's statecharts – the only thing which makes UML executable May capture concurrency and hierarchy

Statecharts The UML – Sorin Manolache Idle Error DeInterleave 1 Deinterleave 2 Deinterleave 3 tm(125  s) Deinterleave 4 Conv dec Fire dec evBurst/send(Deinterleaver1,data1) evBurst/send(Deinterleaver2,data2) evBurst/send(Deinterleaver3,data3) evBurst/send(Deinterleaver4,data4) evBlock/send(ConvDec,block) evConv/send(FireDec,block) evFire/send(--,block) handleFault

Structural View The UML – Sorin Manolache Structure of the functionality (software architecture) Similar to task graphs if we consider active objects Relationships between classes/objects Can lead to mapping Active objects to processing nodes Passive objects to memory/registers Association links to buses

Object Diagrams The UML – Sorin Manolache Deinterleaver Burst buffer int: size float: access latency float: power per bit Block buffer1 int: size float: access latency float: power per bit Controller Deinterleaver Conv decoder float: dealine Conv Dec addr: Input block addr: Output block float: Latency float: Power Decode Block buffer2 int: size float: access latency float: power per bit addr: Input burst addr: Output block float: Latency float: Power Deinterleave Fire Dec addr: Input block addr: Output block float: Latency float: Power Decode Output buffer int: size float: access latency float: power per bit Initiate decoding Handle error Report completion

Class Diagrams The UML – Sorin Manolache Deinterleaver Controller Deinterleaver Conv decoder float: dealine Conv Dec Decode Deinterleave Fire Dec Decode Buffer int: size float: access latency float: power per bit Deinterleave Initiate decoding Handle error Report completion Datapath elem Deinterleave addr: Input block addr: Output block float: Latency float: Power Decode 2 Datapath 3

Customization Mechanisms The UML – Sorin Manolache UML for HW/SW co-design? UML meta-model, model of modelling concepts Class, operation, event, state, etc. Extend those models (using OCL, Object Constraint Language) in the meta-model building thus new modelling concepts

Customization Mechanisms The UML – Sorin Manolache Examples of stereotypes: The actor is an object from the environment The singleton is the only allowed instance of a particular class (clock generator, global configuration file) Periodic events Interface object Some can be checked at “compile” time (singleton)

Pros and Cons The UML – Sorin Manolache Pros: Systematic design process Standard Graphical Extensible Implementation independent Design complexity management Cons: Semantic (improving, Action Semantics) Simulation/execution (some tools support it) Validation/verification/testing (some tools support it) Efficient synthesis (mainly to C and Java) Analysis (WCET, power) in the absence of hardware architecture information Tool support for extenstion mechanism

Status The UML – Sorin Manolache UML 2.0 adopted by OMG in June 2003 Tools : UML Profile for Schedulability, Performance and Time UML Profile for Testing underway G. Martin, L. Lavagno, J. Louis-Guerin propose at CODES2000 an UML Profile for Embedded Systems

UML Resources The UML – Sorin Manolache Formal specification documents Documentation Non-exhaustive list of tools Links (documentation, tutorials, tool vendors) Success stories (mainly large software projects – Xilinx) Description of their tool – Rhapsody Links to white papers