Professional Documents
Culture Documents
Adarts (Ada-Based Design Approach For Real-Time Systems)
Adarts (Ada-Based Design Approach For Real-Time Systems)
Adarts (Ada-Based Design Approach For Real-Time Systems)
ADARTS
The ADARTS method was created to develop an Ada design from a Real-Time Structured Analysis (RTSA) specification. Features of ADARTS are:
principles for decomposing a real-time system into concurrent tasks and information hiding modules.
Static perspective:
related functions (operations) identified in the RTSA are grouped into a module based on the information hiding criterion.
Task Structuring
A task (concurrent process) represents the execution of a sequential program or, as in Ada, a sequential component in a concurrent program. Each task deals with one sequential thread of execution; hence no concurrency is allowed within a task.
However overall system concurrency is obtained by having multiple tasks that execute in parallel.
I/O DEVICE
Passive
Does not generate Interrupt
Generates an interrupt when it has produced some input that requires processing by the real-time system
Asynchronous Output Generates an interrupt when it has finished device processing output operation and is ready to perform some new output.
Input from passive input device needs to be read either on polled basis or on demand Output needs to be provided either on regular (periodic) basis or on demand
Characteristics of Data
Discrete data
Finite number of values
Output device:
How often data should be output in order to prevent it from getting out of date.
I/O TASK
Push buttons,
switch
Periodic Task
Temperature
Temperature
Control task
User role task Multiple task of same type
Temporal cohesion
Sequential cohesion Control cohesion Functional cohesion
Temporal cohesion
Certain functions may perform operations that are activated by the same event.
functions may be grouped into a task, so that they are executed each time the task receives a stimulus
Sequential cohesion
Certain functions may perform operations that must be carried out sequentially. The first function in the sequence is triggered by an asynchronous or periodic event. These sequentially dependent functions may be combined into one sequentially cohesive task.
Control cohesion
Control transformation, which executes a state transition diagram.
State dependent transformations that are enabled or disabled by the control transformations as a result of state transition.
Separate task
State dependent transformations that are triggered by the control transformations as a result of state transition and execute for the duration of the state. Non-state dependent transformations that sends events to the control transformations, which cause it to change state.
group
Computationally intensive
A non-time critical computationally intensive function (or set of functions) may run as a low priority task consuming spare CPU cycles
STATIC VIEW
Changing requirements are all too frequent and cannot be ignored.
Software design of designing maintainable and potentially reusable software components using information hiding.
Hardware
DIM
Hides actual interface to the real-world device by providing a virtual interface to it. For each I/O device and the functions on the DFD are mapped to the operations provided by DIM
Temperature sensor
Temperature
Read Temperature
FIG: DFD
Read Location
Write Location