10 likes | 116 Views
PrIDE An Integrated Development Environment for Component-Based Real-Time Embedded Systems. Constraint Editor. Constraint Editor Editors to create formal constraints WCET, Fault tolerant…. REMES Editor GUI to create formal behavioral models of components. REMES Editor.
E N D
PrIDE An Integrated Development Environment for Component-Based Real-Time Embedded Systems • Constraint Editor • Constraint Editor • Editors to create formal constraints • WCET, Fault tolerant… • REMES Editor • GUI to create formal behavioral models of components • REMES Editor • 2 integratedviews: • Externalviewshared by all components • Internalviewadapted to the componenttype • Sourcecode editor for primitive components • Graphical editor for compositecomponents • 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 • AttributeFramework • 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 • ProComComponent • Richdesign-timeconcepts • A collection of all development artefacts • High reuse of components Validation& Verification (timing/safety/ reachability) architectural model analysis results ... docs Source code analysis model (resource, timing) deployment information extrafunctionalproperties • ProCom Components #include"Follow_implementation.h" // Start of user code state variables definition // End of usercode voidentry_Follow_Follow(save_Follow_Follow_svc * svc) { // Start of user code entry_Follow method body // End of usercode } voidFollow_init ( save_Follow_cpt* cpt) { // Start of usercode // End of usercode } • Code Generator • GeneratesC-filesqueletonsbased on design properties • For implementing primitive components • Synchronization of modificationbetweenmodel and code • 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 • Verification/Simulation • GUI for simulation and formal verification • Simulator: • Exploration of dynamic behavior • Checking of properties • Verification / Simulation Project Overview Main Features • 100% Component-Based Development • ProComcomponents as maindevelopmentunits • Componenttype & componentinstance • ComponentRepository • Graphical Editors • ComponentArchitecture • ComponentDeployment • Formal resource, and timing behaviouralmodelling (REMES) • Sourcecodefile Editors • AutomatedCode Generation • C codesqueleton • Codesynthesis • Support for Extra-FunctionalProperties • Various synthesis techniques • PrIDE is built as a standalone eclipse RCP application • Easy to extend • 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/ The Autonomous Truck Example • Purpose: • Illustrate the use of the PrIDE in the development process of a component-basedreal-timeembedded systems and the benefit of formal analysis to obtainearlypredictions of the behaviour of the final system. • Constituents: • A truck • A surface with a straight black line with two filled black circles on eachend • An embeddedcontrol-programdeveloped in the Save-IDE Compiler • Operational Mode: • 1- Follow mode • The truck follows the black linesusingits light sensors. When the truck detects the end of the line, it changes to Turn mode Download • 2- Turn mode • The truck turnswithoutguidance from anylineuntil it reaches a statewhere it is suppose to be able to find the lineagain. Uponcompletion, the truck changes to Find mode • 3- Find Mode • The truck turnswithoutguidance from anylineuntil it reaches a statewhere it is suppose to be able to find the lineagain. Uponcompletion, the truck changes to Find mode www.mrtc.mdh.se pg-ide@mdh.se