PrIDE An Integrated Development Environment for Component-Based Real-Time Embedded Systems
-
Upload
fitzgerald-prince -
Category
Documents
-
view
28 -
download
5
description
Transcript of PrIDE An Integrated Development Environment for Component-Based Real-Time Embedded Systems
PrIDEAn Integrated Development Environment for
Component-Based Real-Time Embedded Systems
www.mrtc.mdh.se [email protected]
Verification/Simulation– GUI for simulation and formal verification– Simulator:
• Exploration of dynamic behavior • Checking of properties
Synthesis– Transformation from component
model into execution model• Tasks, periods, priorities
– Constructs a set of trees based on the application triggers
– Virtal Node synthesis– Independent of the run-time
environment– Used for testing
– Physical Node synthesis– Optimized for the run-time
environment– Generates build scripts
Compiler
The Autonomous Truck Example
Purpose: Illustrate the use of the PrIDE in the development process of a
component-based real-time embedded systems and the benefit of formal analysis to obtain early predictions of the behaviour of the final system.
Constituents:– A truck– A surface with a straight black line with two filled black circles
on each end– An embedded control-program developed in the Save-IDE
Operational Mode:
1- Follow modeThe truck follows the black lines using its light sensors. When the truck detects the end of the line, it changes to Turn mode
2- Turn modeThe truck turns without guidance from any line until it reaches a state where it is suppose to be able to find the line again. Upon completion, the truck changes to Find mode
3- Find ModeThe truck turns without guidance from any line until it reaches a state where it is suppose to be able to find the line again. Upon completion, the truck changes to Find mode
Download
REMES Editor– GUI to create formal behavioral models
of components
PrIDE is currently developed within the PROGRESS project that envisions to:
“Establish a software engineering discipline for safety-critical real-time embedded systems.”
Started in 2008 to support the approach proposed by PROGRESS, PrIDE supports design, analysis, and realization of components and component-based systems using different tools integrated in a common environment. The novel CBD process is enabling a seamless integration of, and interaction between, different phases in the process, which traditionally are performed as a sequence of isolated activities.
The approach enables:- Incremental and concurrent modeling and deployment, - Combining reused components with newly developed ones, - Combined deployment on virtual and physical nodes.
A first internal release of the IDE is available since January 18, 2010 and a public release is planned for end of June at
http://www.idt.mdh.se/pride/
Project Overview
100% Component-Based Development- ProCom components as main development units- Component type & component instance- Component Repository
Graphical Editors- Component Architecture- Component Deployment- Formal resource, and timing behavioural modelling
(REMES) Source code file Editors Automated Code Generation
- C code squeleton- Code synthesis
Support for Extra-Functional Properties Various synthesis techniques PrIDE is built as a standalone eclipse RCP application
– Easy to extend
Main Features
– 2 integrated views: – External view shared by all components– Internal view adapted to the component type
– Source code editor for primitive components– Graphical editor for composite components
– Possibility to have “black box” components– Internal structure is unknown yet– Only the external view until,
the type Primitive or Composite is chosen
ProCom Editor
ProCom Component
– Rich design-time conceptsA collection of all development artefacts
– High reuse of components
architecturalmodel analysis
results
Source code
docs
extrafunctionalproperties
analysismodel
(resource, timing)
...
deploymentinformation
ProCom Components
– Provide a uniform and user-friendly structure to seamlessly :– Associate the development artifacts to the component– Integrate heterogeneous calculation techniques– Store various analysis results (and reuse them)– Manage extra-functional properties in a systematic way
– Possibility to have multiple values for attributes– Each value has its own metadata (source, timestamp, etc. )
– Propose viewers and editors for the properties
Attribute Framework
Code Generator– Generates C-file squeletons based
on design properties– For implementing primitive
components– Synchronization of modification
between model and code
#include "Follow_implementation.h"
// Start of user code state variables definition
// End of user code
void entry_Follow_Follow(save_Follow_Follow_svc * svc) { // Start of user code entry_Follow method body
// End of user code}
void Follow_init ( save_Follow_cpt * cpt){ // Start of user code
// End of user code}
REMES Editor Constraint Editor– Editors to create formal constraints
– WCET, Fault tolerant…
Constraint Editor
Verification / Simulation
Validation &Verification(timing/safety/reachability)