A Methodology for Developing Industrial Embedded Systems: An Hardware/Software Co-Design Approach U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000-Apr-07.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Modeling State-Dependent Objects Using Colored Petri Nets
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
An Introduction to Software Architecture
Introduction To System Analysis and Design
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Information System Development Courses Figure: ISD Course Structure.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Chapter 7 System models.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
System models l Abstract descriptions of systems whose requirements are being analysed.
Pertemuan 19 PEMODELAN SISTEM Matakuliah: D0174/ Pemodelan Sistem dan Simulasi Tahun: Tahun 2009.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Introduction to Software Engineering Lecture 1.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to OOAD and the UML
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
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.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Object Oriented Analysis & Design By Rashid Mahmood.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
CHAPTER
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Unified Modeling Language
Abstract descriptions of systems whose requirements are being analysed
Software Design Methodology
Unified Modeling Language
An Introduction to Software Architecture
Introduction to OOAD and the UML
Presentation transcript:

A Methodology for Developing Industrial Embedded Systems: An Hardware/Software Co-Design Approach U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000-Apr-07 João Miguel Fernandes Dept. Informática João Miguel Fernandes Dept. Informática MICEI-99/00

2 Outline 1. Introduction 2. Fundamental Concepts 3. Analysis Issues 4. Conclusions 5. Future Work

3 1. Introduction n What is our R&D job? –Define new methodologies and architectural solutions to help systems (hardware/software) engineers to do their job, in an easier way. n What is our application area? –Industrial real-time applications demanding direct intervention in real-time control, supervision and monitoring, computer vision, robotic systems and industrial communications.

4 1. Introduction n What are our main concerns? –Control the complexity in system design. –Guarantee the models’ continuity during reification stages. –Use non-conventional target architectures in a technologically-transparent way. n What are our preferable target architectures? –Embedded, heterogeneous, reconfigurable and distributed processing architectures.

5 2. Fundamental Concepts - Systems’ Characteristics - n State transition n Exceptions n Hierarchy n Concurrency n Distribution n Activity conclusion n Algorithmic constructions n Timeliness n Non-functional requirements n...

6 2. Fundamental Concepts - HW/SW Co-Design - Co-Design: Development approach that faces the problem of designing heterogeneous systems (with hw and sw components) treating both kinds of components in an equal way, allowing the iterative migration of functionalities so that functional and non- functional requirements are optimally implemented.

7 2. Fundamental Concepts - HW/SW Co-Design - n hardware/software co-design allows: –hw/sw functional migrations –interface modifications –hw/sw corrections –better design-space exploration n i.e.: HW/SW co-design promotes an effective concurrent, co- operative and co-ordinated design of the hardware and software components needed for the implementation of the system.

8 2. Fundamental Concepts - Virtual Prototyping - n unified representations n executable specifications n modularity and reutilization n spiral process model

9 2. Fundamental Concepts - Waterfall lifecycle - Feasibility AnalysisDesign Implemen- tation Use MaintenanceTest Development Project Life cycle

10 2. Fundamental Concepts - UML Notation - n UML includes several diagrams that allow the description of the most relevant aspects of a system, following an object-oriented approach. n Each diagram focus a specific view of the system. n Important UML diagrams to specify and document embedded systems: –use cases diagrams –class diagrams –object diagrams –interaction diagrams –statechart diagrams

11 2. Fundamental Concepts - UML Diagrams - n n use cases diagram: show a set of functionalities and actors and the corresponding inter-relations. n n class diagram: presents a set of concepts, types and classes and the respective relations. n n object diagram: exhibit a collection of instances and their inter-connections. n n interaction diagram: show how objects and actors collaborate by exchanging messages. n n statechart diagram: specify the dynamic behaviour of an object, typically including several use cases.

12 3. Analysis Issues - Process Model - n n Operacional approach n n Unified, graphical and multiple-view specification n n Object-oriented Modelling

13 3. Analysis Issues - Context and Use Case Diagrams - n context diagrams –non standard context diagrams for environment capturing –standard context diagrams for stakeholders capturing n hierarchical use case diagrams –formal numbering scheme by tagged values –use case risk-driven refinement –use case sub-behaviouring orthogonalisation n by specialisation n by decomposition

14 3. Analysis Issues - Environment Diagram -

15 3. Analysis Issues - Use Case Diagram -

16 3. Analysis Issues - Use Case Refinement by Specialisation -

17 3. Analysis Issues - Use Case Refinement by Decomposition -

18 3. Analysis Issues - Object Diagrams - n object diagrams –object finding using the “4-step rule set” technique –6 object > stereotypes n >, > and > (or >) n > and > (sub-types of >) n > n 4-step rule set –step 1: transform each use case into 3 objects (control, interface, data) –step 2: holistic filtering (object killing considering all textual descriptions) –step 3: aggregation for object superposition unified representation –step 4: object interconnecting for association finding

19 3. Analysis Issues - Object Diagram -

20 3. Analysis Issues - Sequence Diagrams - n non standard data path/plant diagrams –data path/plant’s resources static specification –UML does not define any diagram for that n extended sequence diagrams –timing inscriptions n non standard scenery diagrams –sequence diagrams with pictorial objects

21 3. Analysis Issues - Data Path/Plant Static Specification -

22 3. Analysis Issues - Sequence Diagrams -

23 3. Analysis Issues - Scenery Diagrams -

24 3. Analysis Issues - Object Diagrams - n collapsed object diagram –one for each different sub-project n non standard high-level object diagram –high-level & global diagram –considers both control and controlled parts of the system –constructed from a filtering technique executed to the collapsed diagram n filtering technique 1.draw a circle around the main entities 2.eliminate entities that don’t have direct associations with the main ones 3.keep the others

25 3. Analysis Issues - Collapsed Object Diagram -

26 3. Analysis Issues - Filtering the Collapsed Object Diagram -

27 3. Analysis Issues - High-Level Object Diagram -

28 3. Analysis Issues - State Diagrams - n UML statecharts –impose static modelling of concurrent activities, directly dependent on the number of FSMs –do not deal efficiently with arbitrary complex data structures n UML activity diagrams –do not support advanced hierarchical modelling n Petri nets (shobi-PN v2.0) –support dynamic, hierarchical, incremental and modular modelling –model the data path/plant reactive behaviour –allow the specification of aggregates of parallel and distributed controller objects

29 3. Analysis Issues - shobi-PN v2.0 Diagrams -

30 3. Analysis Issues - Class Diagrams - Standard class diagrams –simple inheritance –abstract classes –avoid associations between classes –object-driven (object-based)

31 3. Analysis Issues - Controller Architecture -

32 3. Analysis Issues - OBLOG Generation - n 3 decomposition regions –data path n sub-region sensors n sub-region actuators n sub-region nodes –controller n specifies the aggregates of state-machines –system n specifies the final system to be implemented

33 3. Analysis Issues - OBLOG Decomposition Regions -

34 3. Analysis Issues - OBLOG Sensors Sub-Region -

35 3. Analysis Issues - OBLOG Actuators Sub-Region -

36 3. Analysis Issues - OBLOG Generation - n special attention must be paid to the following issues –state  Oblog is not state oriented –synchronism  Oblog is inherently asynchronous –hierarchy  Oblog does not directly support structural hierarchies n 3 sets of rules have been defined to allow the generation of Oblog to specify parallel controllers 1) rule-set for the definition of an abstract class of parallel controllers 2) rule-set for emulating state orientation 3) rule-set for the construction of a collection of sub-machines

37 3. Analysis Issues - OBLOG Generation - n rule-set for emulating state orientation –state change methods (Oblog self initiative operations) –event reaction oriented transition methods (event reaction operations) –eventless transition methods (event reaction operations) –state methods –exception handling to handle behavioural abortions n rule-set for the construction of a collection of sub-machines –upper to lower level machine communication by direct invocation –lower to upper level machine communication by n n multicast sub_param (sender << “net1_s2”, param << condition_out) n n multicast sub_return (sender << “send_other_amt2”, ret << TRUE)

38 3. Analysis Issues - OBLOG Controller Region -

39 3. Analysis Issues - Models Verification/Simulation -

40 4. Conclusions n Language –deal with exceptions –model data path/plant in a reactive way –support multiple-view operational meta-models n Complexity Control –support graphical and hierarchical formalisms –support middle-out approaches n Continuity of models –integrate co-related refined representations within the successive design stages for forward and backward navigation

41 5. Future Work n Apply the methodology to more projects n Replace Oblog by Java as a unified language n Include Quality and Re-engineering issues during Analysis n Incorporate the process simulation in the environment n Build tools (automatic code generation) n...