www.mrtc.mdh.se [email protected] verification/simulati on –gui for simulation and formal verification...

1
PrIDE An 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 mode The 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 mode The 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 Mode The 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 concepts A collection of all development artefacts High reuse of components architectural model analysis results Source code docs extra functional properties analysis model (resource, timing) ... deployment information 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 & Verificatio n (timing/ safety/ reachability)

Upload: whitney-norton

Post on 17-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Www.mrtc.mdh.se pg-ide@mdh.se Verification/Simulati on –GUI for simulation and formal verification –Simulator: Exploration of dynamic behavior Checking

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)