UML for Embedded Systems Development--Revisited. table_05_00 * * * * *

Slides:



Advertisements
Similar presentations
ANALYSIS MODEL. Analysis Model Actual system development start with this. Aims to structure the system independently of the actual implementation environment.
Advertisements

Analysis Modeling.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Objectives Detailed Object-Oriented Requirements Definitions
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
1 Building an Analysis Model of the System Under Development.
©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.
Requirements  Specifications  ….. Use cases, tests classes, … Requirements must be: --complete --consistent --unambiguous --correct.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
UML for Embedded Systems Development— Extensions; Hardware-Software CoDesign.
Domain-Specific Software Engineering Alex Adamec.
USE Case Model.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Analysis Modeling.
©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.
Approaching a Problem Where do we start? How do we proceed?
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
The Systems Development Life Cycle
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
1 Building an Analysis Model of the System Under Development.
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
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.
UML (Unified Modeling Language)
Use Cases. 2 A use case... –Specifies the behavior of a system or some subset of a system. –Is a system-level function. –Does not indicative how the specified.
Systems Analysis and Design in a Changing World, Fourth Edition
Welcome to M301 P2 Software Systems & their Development
UML Diagrams By Daniel Damaris Novarianto S..
Jim Fawcett CSE681 – Software Modeling and Analysis Fall 2017
Use cases, tests classes, …
Systems Analysis and Design With UML 2
Chapter 9 Use Cases.
Object Oriented Analysis and Design
Use Cases.
Building an Analysis Model of the System Under Development
Analysis models and design models
Copyright 2007 Oxford Consulting, Ltd
Software Analysis.
Presentation transcript:

UML for Embedded Systems Development--Revisited

table_05_00 * * * * *

Arms/disarms system Accesses system via internet Responds to alarm event Encounters an error condition Reconfigures sensors and related system features Homeowner System administrator Sensors (Pressman, p. 163, Figure 7.3) Use case: requirements  specifications Graphical description: Text description: Use case name Participating actors Flow of events Entry condition(s) Exit condition(s) Quality requirements

Use case writing guide: --each use case should be traceable to requirements --name should be a verb phrase to indicate user goal --actor names should be noun phrases --system boundary needs to be clearly defined --use active voice to describe flow of events, make clear who does what --make sure the flow of events describes a complete user transaction ---if there is a dependence among steps, this needs to be made clear --describe exceptions separately --DO NOT describe the user interface to the system, only functions --DO NOT make the use case too long—use extends, includes instead --as you develop use cases, develop associated tests

Use case additions—simplifications of use case descriptions A. Include: one use case includes another in its flow of events (cases A and B both include case C) B.Extend: extend one use case to include additional behavior (cases D and E are extensions of case F) A B C > F E D

Use case additions (continued) C. Inheritance: one use case specializes the more general behavior of another G and H specialize behavior of J) H J authenticate Authenticate with card Authenticate with password G

Class and object diagrams: Identify Objects from Use Case Specifications: USE ENDUSER’s TERMS AS MUCH AS POSSIBLE Entity objects: “things”, for example: --nouns (customer, hospital, infection) --real-world entities (resource, dispatcher) --real-world activities to be tracked (evacuation_plan) --data sources or sinks (printer) Boundary objects: system interfaces, for example: --controls (report(emergencybutton) --forms (savings_deposit_form) --messages (notify_of_error) Control objects: usually one per use case --coordinate boundary and entity objects in the use case Use the identified objects in a sequence diagram to carry out the use case

fig_05_01 Example: graphical use case

fig_05_02 Example: associated text use case

fig_05_03 Things in the system: classes / objects

fig_05_04 Example: classes

fig_05_05 Example: classes—interface relation

fig_05_06 Example: classes—container (“has-a”) relation

fig_05_07 Example: classes—container (“has-a”) relation

fig_05_11 Example: sequence diagram—how classes work together to support a use case goal

fig_05_12

fig_05_13 Example: activity diagram—flow of control

fig_05_14

fig_05_15

fig_05_16 State diagrams--options

fig_05_18 Example: state diagrams

fig_05_19 Example: state diagrams (continued)

Note: UML was developed for modeling software. For modeling embedded systems, there are additional behaviors that must be addressed. G. Martin, CADENCE, DATE 2002: --Embedded systems are composed of multiple subsystems or functional units --These components carry out computation and communication tasks using a heterogeneous set of models of computation --Components may be implemented in a variety of ways, combining hardware and software --Mapping of function to architecture is not fixed; “design space exploration” is important for optimization --High-level system modeling and delay of commitment to particular components until late in the design cycle is desirable

Embedded systems are heterogeneous: Multiple domains: --signal processing, --wired and wireless communications, traditional data processing Multiple computing models: --continuous time --finite-state-machine --Data flow --Discrete event --Reactive Multiple physical implementations: --Dataflow and control-oriented software --Microprocessors --DSPs --Analog and mixed-signal components --Digital harsware blocks --RF, optical, and MEMS components

Embedded systems are “compositional”: Typical embedded system is composed from subsystems which are based on different computational models Both functional and architectural compositions must be carried out Thus validity of how system is composed is as important as whether each module is correct Embedded systems are too complex to design from scratch: Moving from generation N to N+1 typically increases complexity by an order of magnitude Complexity requires more design knowledge than for any sone single product Must maximize productivity through use of embedded system platforms, reuse, synthesis based on system-level models

System context must also be modeled: Environmental issues: Channel characteristics Noise scenarios Weight Weather Etc. User concerns: Need use cases for multi-function embedded systems

Necessary additions: “Platform” model Tools to move from one platform level to another Constraint definition and budgeting methodology to control optimization process in design transformation and synthesis

“UML-platform”—components to be added: --“uses” and “needs” relationships to allow platform components to request and receive services from other components --”stack” stereotype to describe hierarchical layered implementations of platform services --”peer” stereotype for components and services at same level --Quality of Service (QoS) tags which can be derived from specifications, mapped into constraints, and used to guide implementation choices [including time deadlines] --defined platform layers for classifying services for deployment: --ASP—application specific programmable --API—application programming interface --ARC—architectural --inclusion of “extension points” for future application requirements and new or variant service offerings