analysis of requirements developed by gretel coombs vesl project - nsf grant under the direction of...

23
Analysis of Requirements Developed by Gretel Coombs VESL Project - NSF Grant under the direction of Dr. Betty Cheng

Post on 21-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Analysis of Requirements

Developed by Gretel Coombs

VESL Project - NSF Grantunder the direction of Dr. Betty Cheng

Analysis

Steps to follow Obtain Problem Statement or Initial

Requirements Build an object model and Data Dictionary Develop a dynamic model Construct a functional model Verify, iterate, and refine the three models Produce Analysis Document

OMT Analysis and Modeling of Embedded Systems

Problem?

OMT models

object model dynamic model

functional model

Benefits of 3 models

• A developer can take a problem and begin to understand the requirements through the creation of these three models of OMT.

• The 3 views helps reduce the inherent complexity of the system by only capturing some of the information on each graph.

• The notation on each graph is relatively easy to understand and learn.

Object Model Review• The object model shows the static structural aspects of

a system.• The notation includes:

– Rectangle: Class • Class are real world objects that are grouped together.• Class name on top and optional attributes and operations.

– Line: Associations• between objects • unannotated means one-to-one association.

More Object model notation

– Diamond:Aggregation of • several objects aggregated into one composite

objects.

• Ex: most embedded system is a composite object made up of 4 aggregate classes.

– Triangle: inheritance. • Attributes and operations of the superclass are

inherited by the subclasses.

• For example the specific sensor objects all inherit some similarities from the sensor superclass.

Object Model: Four main system objects or classes

• Controller object– might be made up of several controllers

– is the brains of the system.

– Takes input from the sensors and gives instructions to the actuators.

• Sensor object– environmental objects that gives information to

controller.

– Can be passive (thermometer) or active (button).

Object Model: Four main system objects (continued)

• Actuator object – Environmental objects that are controlled by the

controller.

– Can be turned on or influenced by controller.

– Examples: User indicator lights, motors, burners.

• User Interface object– A display for the user.

– Can be made up of both sensors and actuators.

– Example: machine control panel

Step One: Develop a high-level object model

EmbeddedSystem

Sensor Controller Actuator User-Interface

Class

Association Aggregation

Inheritance

Zero or more

Operation()

Attribute()

Class Name

Button Pedal

Review of Dynamic Model

• A dynamic model is a type of state machine.• System can only be in one state at a time. • Arrows: Transitions

– from one state to another happen – when events happen.

• Events are labeled on the transitions. • Guards are conditions that keep a transition

from happen, such as [is in neutral or park ]

Step Two: Develop a system-level dynamic model

Idle or off state Running state

‘On’ button pushed [in neutral or park]

‘Off’ button pushed

Transition

State

[ condition ] Guard

Functional Model

• Dataflow diagram showing– flow of data in system

– processes that do data transformations.

• In embedded systems dataflows are often control information.

• Notation:– Ovals: processes

– Arrows: dataflows

– Rectangles: actors

Step Three: Develop a system-level functional model

SystemProcess

Sensors Actuatorsinput output

actor

dataflow

process

Example: Automotive Door Control

• The system controls the windows and door locking functions.

• All doors have window roll up and down controls.• Driver’s door has window lock feature.• Driver and front passenger have door lock and

unlock toggle.• Fob unit for locking and unlocking doors, with

driver notification (horn honk and lights flash.)• Three concurrent systems identified.

Summary of development process

• The object model shows the real world objects grouped in classes with attributes and operations and associations.

• The dynamic model shows the control aspects with superstates refined into substates.

• The functional model shows signals and data flowing through system, with the processes refined according to the controller objects.

References and Readings

• Coombs, G. ‘Object-Oriented Design of Embedded Systems with Translation to VHDL.’ Masters Thesis, Michigan State University,1998.

• Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, New Jersey, 1991.

• Cheng, B.H., ‘Software Engineering - CPS 470 Class notes.’ Technical report, Michigan State University, 1997.