1-1 ROPES Rapid Object-Oriented Process for Embedded Systems.

Post on 17-Dec-2015

215 views 0 download

Transcript of 1-1 ROPES Rapid Object-Oriented Process for Embedded Systems.

1-1

ROPES

Rapid Object-Oriented Process for Embedded Systems

1-2

ROPES process artifacts

1-3

The ROPES Macro Cycle

• Analysis– Requirements Analysis

– Systems Analysis/Engineering

– Object Analysis

• Design– Architectural Design

– Mechanistic Design

– Detailed Design

• Translation• Testing

1-4

Analysis

• Identification of all aspects of the product that are required for correctness

1-5

Analysis Model Artifacts

1-6

Requirements Analysis

• Extracts requirements from customer as– use cases, scenarios– statecharts– constraints

• Activities– Create Use Case model– Identify and characterize External Events– Define behavioral scenarios (system dynamic behavior)– Identify constraints, required interfaces to other systems and

performance constraints

1-7

Requirements Analysis (2)

• Determine large scale “clumps” and refine their behavior

• Identify actors in the external environment • Identify the semantics and characteristics of the

individual messages (including those that signal events) between the system and its actors

• Refine interaction protocols that use those messages• Refine the interaction protocols, e.g. required

sequences, pre- and postconditional invariants

1-9

aPossibleUseCaseModel

1-10

Messages & Events

• Analyst has to– find use cases and actors

– identify messages passing between the actors and the system

1-11

Identify and characterize External Events

by• Associated actor (sender, receiver)• Arrival pattern (periodic, episodic) • Arrival time of message

– period and jitter (periodic msg)– min inter-arrival interval or burst length (episodic

msg)

• Message response properties – deadline (for hard deadline msg)– average response time (for soft deadline msg)

1-12

Identify and characterize External Events (2)

by

• State information – pre-condition for the message– protocol (acceptable message sequence)– message data– post-conditional invariants for the response

1-13

External Event List example

Event Description DirectionArrivalPattern

ResponsePerformance

1 setSpeeda 50 Hz PWM control signal with width of 1,25-1,75 msec to speed PWM servo periodic 20 ms period

2 setSteeringa 50 Hz PWM control signal with width of 1,25-1,75 msec to steering PWM servo periodic 20 ms period

3 IrTransmit signal to turn on IR diodes to IR diodes4 IrReceive signal received from IR receivers to System4 Tachometer signal from speed sensor to System

1-15

Actors

• Actors may be human users or externally visible subsystems and devices, such as sensors and actuators

• Common mistake to assume that actors must be people

1-16

Actors (2)

• Whether the actor is a device used by a human or the human itself depends on the scope of the system.

• If the system development includes the development of devices that interact with a human, then the human is the actor.

• If the system must interact with existing (or separately supplied) devices that are, in turn, used by human users, then the interface devices are the actors because they are the first thing outside the system scope that actually interacts with the system.

1-17

Messages

• During Analysisidentify the semantics and characteristics of the individual messages (including those associated with signaling the occurrenceof events) that pass between the system and its set of actors

• A message is an abstraction of the exchange of information between a sender and a receiver

1-18

Messages (2)

• Have semantic content, i.e. the meaning of the message, e.g. – ”the current temperature is 576 degrees”

sensor– ”insert the control rod”

actuator

• Have structure, also called signatureUsually a list of parameters during requirements analysis

1-19

Messages (3)

• Pre- and postconditional invariants, which are ontological states assumed to be true prior to sending and after receipt of a message

• Important in systems where– messages occur in one of a set of

predefined sequences or– the system’s response to a message varies

based on its state

1-20

Messages, Events

• Events can precipitate the sending of a message

• An event is an occurrence in space and time, which has significance to the system

1-22

Assignment Nr 2 (1)

Task(s): • Revise/Modify the Use Case diagram for the MySSe Project

from the previous assignment. Take into account that the hardware is not within the scope of the project, i.e. the system boundary (and other elements, too) should be modified according to the fact that the system you develop is just the software, even if it is very closely coupled to the car HW and not the complete racing car.

• Identify and characterize External Events as described in this presentation and fill a table of similar format than found in the slide “External Event List example”

1-23

Assignment Nr 2 (2)

• Deadline: 20.03.2002 (Wednesday) 10:00• Grading: The assignment affects the grading

of the exam by -1, 0, or +1 “assignment points”. – -1: assignment not done or clearly inferior to the

requirements.– The conversion between ““assignment points” and

exam points will be decided upon later.

1-24

References

• Douglass, Bruce Powel. Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. New York: Addison-Wesley, 1999.

1-26

Behavior, event, signal

• This was not presented, it’s just extra information for those who would like a bit more insight

1-27

behavior

• The term behavior refers to the observable effects of an operation or an event, including its results.

• Behavior refers to the ways in which things change.• Functional aspect: what the object does• Classification:

– Simple behavioran object performs services on request and keeps no memory of previous services

– State/State-driven/Reactive behavior

1-28

event

• An event is a noteworthy occurrence that has a location in time and space.

• Within a state machine, the occurrence of an event can trigger a transition.

• An internal event passes between objects in the system; an external event passes between the system and an actor.

• Within the UML, there are four kinds of events: – call events – change events – signal events – time events

1-29

Kinds of Events

1-30

call event

• A call event is an event that represents the dispatch of an operation.

1-31

change event

• A change event is an event that represents the satisfaction of a Boolean expression in response to a change to one or more of the values it references.

• A condition becoming true is shown with the keyword when followed by a Boolean expression

1-32

signal event

• A signal event is an event that represents an object's reception of a signal.

1-33

signal

• A signal is a specification of an asynchronous stimulus communicated between instances. The receiving instance handles the signal by a state machine.

• The term signal is a keyword that refers to a named object that is dispatched asynchronously by one object and rec eived by another object.