rapidrma

50
Eddie Jesinsky NASA/WVU ATL Intern [email protected] An Introduction To IV&V ATL

Upload: cs-ncstate

Post on 12-Dec-2014

1.629 views

Category:

Economy & Finance


1 download

DESCRIPTION

Evaluation of RapidRMA software by ATL Intern Eddie Jesinsky

TRANSCRIPT

Page 1: RapidRma

Eddie JesinskyNASA/WVU ATL [email protected]

An Introduction To

IV&V ATL

Page 2: RapidRma

2

Overview NASA/WVU Applied Technology Lab

Tri-Pacific Software

What is it?

Rate Monotonic Scheduling

Rate Monotonic Analysis

RapidRMA Background

Tutorial

IV&V ATL

Page 3: RapidRma

3

RapidRMA Overview Use

Benefits

Features

Capabilities

Requirements

Cost

Maturity

Installation

Tutorial

IV&V ATL

Page 4: RapidRma

4

Applied Technology Lab

Established: 2007

Partnership between WVU and NASA's Independent Verification and Validation (IV&V) facility in Fairmont, WV

Research software engineering technologies that improve and enhance the way NASA produces safe and reliable system software.

http://atl.wvu.edu

Director:

Dr. Tim Menzies, Ph.D.

IV&V ATL

Page 5: RapidRma

5

Tri-Pacific Software Founded in 1984 to provide consulting, customized training, and

software development services

Chosen by the Software Engineering Institute (SEI) to be in a technology exchange to bring Rate Monotonic Analysis to industry

Worked with the University of Illinois at Champaign-Urbana to incorporate their RMA research into a commercially available tool called PERTS- Prototyping Environment for Real-Time Systems – now RapidRMA

Founded by Peter Kortmann, President, and Fred Kortmann, CFO

http://www.tripac.com

IV&V ATL

Page 6: RapidRma

6

What is it? Allows real-time systems software developers to prevent costly

design mistakes and accelerate their development schedules

Allows users to study the effects and relationships of various parameters in the system that directly affect the schedulability of the entire task set

Multiple analysis tools allow designers to test software models against various design scenarios and evaluate how different implementations can optimize performance

Implements object oriented resource contention protocol, Distributed Affected Set Priority Ceiling Protocol (DASPCP), developed by University of Rhode Island and SPAWAR

IV&V ATL

Page 7: RapidRma

7

Rate Monotonic Scheduling Preemptive

Interrupts tasks and resumes them later As opposed to Cooperative – allows tasks to finish

Fixed Priority

Static: task period must be known in advance Rate Monotonic Prioritization

Shorter the period, higher the priority Other solutions: Deadline Monotonic – earliest deadline first

IV&V ATL

Page 8: RapidRma

8

Rate Monotonic Analysis Collection of quantitative methods and algorithms for predicting

whether a system will meet its timing and throughput requirements when it is operational

Guarantees that a system is schedulable with a set of given requirements

Requires that the total task utilization be less than or equal to the utilization bound

Total task utilization:

C1/T

1 + ...C

N/T

N

Utilization bound:

U(N) = N(21/N - 1)

- Ci = worst case task-execution time of each task i

- T i = period of each task i

- i ranges from 1 to N

Ref: Liu & Layland (1973)

IV&V ATL

Page 9: RapidRma

9

Rate Monotonic Analysis - 2

Example:

Task Characteristics:

Task Work PeriodA 5 20B 10 40C 12 60

Total Task Utilization:

5/20 + 10/40 + 12/60 = 0.25 + 0.25 + 0.20 = .7 = 70%

Utilization Bound:

U(3) = 3(21/3 – 1) = 0.779 = 77.9%

Pessimistic – based on worst-case execution time of each task – guarantees schedulability

Tasks still may be schedulable if they exceed the utilization bound – response time test must be performed based on processor time demand

IV&V ATL

Page 10: RapidRma

10

RapidRMA Overview Use

Benefits

Features

Capabilities

Requirements

Cost

Maturity

Installation

Tutorial

IV&V ATL

Page 11: RapidRma

11

Use Problem commonly revealed as a result of RMA: priority

inversion

Execution of higher priority thread forced to wait for a lower priority thread to release a resource

Mars Pathfinder

Failure to enable protection against priority inversion Before launch testing limited to “best-case” high data

rates and science activities RapidRMA performs “worst-case” schedulability analysis

Could have been caught in testing

IV&V ATL

Page 12: RapidRma

12

Benefits Allows cost effective testing and modeling of systems

Guarantees schedulability under “worst case” conditions

Isolates and identifies timing problems

Provides “what if” support to identify bottlenecks and performance issues

Prevents users from performing unnecessary tasks

Recompiling and executing the software to see if a change worked

Moving functionality from a task to an interrupt service routine

Re-allocating resources that can be analyzed in the model before being implemented in the software

IV&V ATL

Page 13: RapidRma

13

Features Timing and scheduling analysis environment

Utilizes powerful Rate Monotonic Analysis methodology

Provides support for the following algorithms and analysis:

Rate Monotonic Deadline Monotonic Cyclic Executive ROSA Aperiodic Simulation

Interfaces for Ilogix Rhapsody and IBM/Rational Rose Real-Time RT-UML support, and Wind River's WindView

Support for Real-Time CORBA semantics

Also:

- Periodic task handling- Aperiodic job handling

IV&V ATL

Page 14: RapidRma

14

Capabilities RapidRMA is for:

Hard real-time systems – flight control, medical device Soft real-time systems – networks, telecommunications

Used:

During system design: to validate the timing requirements of a new system before coding

When prototyping: to identify potential architecture problems and revalidating timing requirements

On existing system: to pinpoint potential timing problems and bottlenecks in the architecture

Iteratively throughout the life of the system: will changes to the system alter the timing requirements?

IV&V ATL

Page 15: RapidRma

15

Capabilities - 2IV&V ATL

Page 16: RapidRma

16

RapidRMA Overview Use

Benefits

Features

Capabilities

Requirements

Cost

Maturity

Installation

Tutorial

IV&V ATL

Page 17: RapidRma

17

Requirements Windows 2000, XP, Solaris, Linux Java Run-Time Environment Short 1-2 day tutorial required for basic RMA

knowledge Can be incorporated into existing software

engineering processes with relative ease incrementally

Abstracting the system architecture takes a different type of thinking

IV&V ATL

Page 18: RapidRma

18

Cost RapidRMA Licensing (January 2008 Price List)

Node Locked License: $4995.00 per seat Floating License: $7995.00 per seat Node Locked License for RT UML: $6995.00 per seat Floating License for RT UML: $9995.00 per seat

Maintenance: 19% retail cost

Training: $4000 + expenses/day or $3500 each for 2

Consulting: $3250/day or $3000/day with 25 day block

Quick Start Program: $50,000 (20 days combined training and mentoring for first 2 months of project

IV&V ATL

Page 19: RapidRma

19

Maturity In 1989 IBM applied RMA to a sonar training system,

allowing them to discover and correct performance problems

Recommended by IBM Federal Sector Division (now Lockheed Martin) for its real-time products since 1990

RMA was applied successfully by the US Navy to an active and passive sonar of a major submarine system

RMA was adopted in 1990 by NASA for development of real-time software for the space station data management subsystem

IV&V ATL

Page 20: RapidRma

20

Installation Download the Java 1.6 runtime environment from

http://java.sun.com/javase/downloads/index.jsp Purchase a license key from [email protected] Download your version of RapidRMA from

http://tripac.com/html/downloads.html Install both the Java 1.6 runtime environment and

RapidRMA executables Cut and paste the license text you received into the

license.lic dummy file in the RapidRMA directory after it has been installed

IV&V ATL

Page 21: RapidRma

21

Tutorial Introduction RapidRMA has three major sections

Resource Editor Task Editor Schedulability Analyzer

The Resource Editor and Task Editor each have two views

Graph Editor Spreadsheet Editor

IV&V ATL

Page 22: RapidRma

22

Resource Graph Editor Define the

system resources to be used by the tasks in the Task Graph editor.

IV&V ATL

Page 23: RapidRma

23

Task Graph Editor Define the tasks

of the system to be modeled in the Task Graph Editor

IV&V ATL

Page 24: RapidRma

24

Schedulability Analyzer Use the

Schedulability Analyzer to analyze the model defined in the Task and Resource Graphs.

IV&V ATL

Page 25: RapidRma

25

Importing Data

You can skip the defining of resources and tasks by using the Import interface.

Perts Models Import Previous PERTS

models into RapidRMA form

WindView Users Directly import from WindView

2 log file

ObjecTime Users Directly import a Developer

linear form model

Select the linear form files generated by Developer 5.2

Illuminator Users Directly import from an

Illuminator log file

IV&V ATL

Page 26: RapidRma

26

Defining the Resources

1) Add root nodes and child resources2) Define the parameters of each resource

IV&V ATL

Page 27: RapidRma

27

Defining the Resources

3) Show any resource accesses across nodes and DASPCPconflicting nodes

IV&V ATL

Page 28: RapidRma

28

Defining the Tasks

1) Use the Task Graph Editor to define tasks

IV&V ATL

Page 29: RapidRma

29

Defining the Tasks

2) Specify the parameters of each task: Period, Amount of Work,Relative Deadline, Active Resource

IV&V ATL

Page 30: RapidRma

30

Required Task Parameters Period

Can be either periodic (Deterministic) or aperiodic (Uniform, Exponential, or Histogram)

Amount of Work Can be either periodic (Deterministic) or aperiodic (Uniform, Exponential,

or Histogram)

Relative Deadline The point in time relative to the ready event by which the response must

be complete for the timing behavior of the response to be correct

Active Resource The name of the node and CPU that the task will run on in the form

NodeName.CPU (Resource ID)

IV&V ATL

Page 31: RapidRma

31

Specify Task Parameters

The Add Resource Dialog Allows you to add,

remove, and change the resources used by a task

When you specify that a task uses a resource, you must specify the time intervals in which it is used

IV&V ATL

Page 32: RapidRma

32

Specify Task Parameters

A task may require one or more resources. Each resource requirement for a task has a start

and finish time. A resource requirement can involve multiple

numbers of the resource.

IV&V ATL

Page 33: RapidRma

33

Show Task Dependencies

Show any dependencies between tasks. End-To-End Analysis is not possible unless

dependencies are defined.

IV&V ATL

Page 34: RapidRma

34

Aperiodic Tasks RapidRMA bind aperiodic tasks to periodic

servers RapidRMA assigns each aperiodic task to

a unique periodic server within a node During Single-Node Analysis or from the

Task Graph Editor, you can reassign aperiodic tasks to different servers

You can select among various types of periodic servers (sporadic, polling, etc)

IV&V ATL

Page 35: RapidRma

35

Define Intermediate Deadlines

To model a CORBA system, each client is automatically segmented into a sequence of dependent tasks.

Use intermediate deadlines to define where the client accesses CORBA services.

IV&V ATL

Page 36: RapidRma

36

Run Schedulability Analysis

Specify the analysis type Specify the algorithm and priority assignment

IV&V ATL

Page 37: RapidRma

37

Select Analysis Type

Single-Node Analysis Show the schedulability of tasks and resources assigned

to a single node, and provides powerful what-if modeling tools

Multiple-Node Analysis Allows the assignment of tasks to nodes, partitions

resources among nodes, and shows the schedulability results of a complete multiprocessor system

End-To-End Analysis Shows whether each task can always meet its deadlines,

providing worst-case completion times

IV&V ATL

Page 38: RapidRma

38

Single Node Analysis

Shows details about the selected node. Data about each task is included.

IV&V ATL

Page 39: RapidRma

39

Multiple Node Analysis

With Auto Binding, only schedulable tasks are assigned to nodes.

You can use one of 4 algorithms for Auto Binding:

First Fit: Each task is assigned to the first node where schedulability is guaranteed

Best Fit: Each task is assigned to the node which may result in the least amount of blocking

Next Fit: As many tasks as possible are assigned to each node in turn

Worst Fit: Each task is assigned to the node which may result in the greatest amount of blocking

IV&V ATL

Page 40: RapidRma

40

End To End Analysis End-To-End Scheduling looks at the schedulability

of a system with one or more paths of execution defined by a series of dependencies between tasks.

The worst-case completion time is given on each node.

Single-Node Analysis can also be performed on each node.

IV&V ATL

Page 41: RapidRma

41

Time Demand Analysis

Time Demand Analysis shows the graph of time demand vs time supply

Both schedulable and non-schedulable tasks are shown

IV&V ATL

Page 42: RapidRma

42

Processor Utilization Analysis

The Utilization dialogue shows the selected task, higher tasks, and any blocking

Details are available by clicking the appropriate button

IV&V ATL

Page 43: RapidRma

43

Blocking Analysis

Blocking details include information about each blocking occurrence

You can see the next, previous and worst blocking conditions

IV&V ATL

Page 44: RapidRma

44

What-If Analysis

RapidRMA allows you to do “what-if” analysis on individual tasks

RapidRMA can also propose changes to make the task schedulable

A change in execution time from 40 to 36 will make this task schedulable.

IV&V ATL

Page 45: RapidRma

45

What-If Analysis

In this example, a change in processing rate for Node_1 to 1.25 (from a base of 1.00) makes this

model schedulable.

IV&V ATL

Page 46: RapidRma

46

Schedules

You can see a timeline of the schedules for any resources and tasks on a selected node.

IV&V ATL

Page 47: RapidRma

47

Periodic Server Analysis The Task Graph Editor

shows the periodic servers created by the Schedulability Analyzer

The Aperiodic Task menu lets you review and alter attributes and aperiodic tasks and their periodic servers

IV&V ATL

Page 48: RapidRma

48

Aperiodic Simulation

The Aperiodic Simulation window lists the servers on the node, the tasks for the chosen server, a choice of complexity levels, and user-definable server parameters

IV&V ATL

Page 49: RapidRma

49

Resources RapidRMA

http://www.tripac.com/html/prod-fact-rrm.html http://www.tripac.com/html/tech-bkgd-rma.html http://tripac.com/html/downloads.html (RapidRMA

tutorial) http://www.nasa.gov/centers/ivv/doc/207836main_RRMA-RAPIDRMA-WebEval.doc

Rate Monotonic Analysis

http://www.sei.cmu.edu/str/descriptions/rma_body.html http://ece.cmu.edu/~koopman/des_s99/real_time/ http://www.edn.com/archives/1997/090197/18df_03.htm

IV&V ATL

Page 50: RapidRma

50

QUESTIONS?

Thank you

Eddie Jesinsky, Aaron Higgins – InternsDr. Tim Menzies, Ph.D. - Director

Pier Luigi Long – NASA IV&V

IV&V ATL