francisco sánchez, diego francisca rosique, carlos...

Post on 18-Aug-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Francisco Ortiz, Francisco Sánchez, Diego Alonso, Francisca Rosique,  Carlos Insaurralde

Implementation platforms• Pioneer P3-AT• Autonomous Golf Vehicle• Autonomous Underwater Vehicles

o UPCT LVS (www.upct.es/lvs) - Regional coordinated projecto Ocean Systems Lab (http://osl.eps.hw.ac.uk/) - Heriot-Watt University (Scotland)

What’s C‐Forge• WCOMM: metamodel for

component-based applications. o component behaviour is expressed

as timed-automata

o The code executed by the TA states is modeled by activities shells.

• FraCC: framework that provides the runtime support for executing WCOMM applications.

o It provides control over the deploymentof the application (nodes, processes and threads)

Overview of C‐Forge

Interfaces, datatypes, protocols, activities

Simple Componenents (plus timed‐automata)

Complex Components and Application

What is a Component in WCOMM?• Are white-box software units that encapsulate their behaviour,

expressed as a timed-automata• Communicate by sending messages to each other only through

their compatible ports• Messages can have parameters, are grouped into interfaces,

and follow the “asynchronous without response” scheme

Compared to OMG’s MARTE, WCOMM ports are flow ports:• non-atomic (messages can have

parameters of any type)• bi-directional (thanks to protocols), • behavioural (messages can fire events in

timed automata)

Main WCOMM characteristics• Supports modelling for reuse and modelling by reuse by

separating definitions (data-types, interfaces, activities and components) from their instances

• Defines three highly cohesive but loosely coupled views: o Shared definitions: data-types, interfaces, protocols and activities.

Highly reusable between applicationso Simple component definition: only component with behaviour on

their own, modelled by a timed-automatao Complex component definition: encapsulate other components

(either simple or complex), without behaviour

• Comprises a total of 64 EClasses

Linking behaviour with code: activities• Activities encapsulate code and are associated to

timed-automata states• Like interfaces, they are global to applications• Users only model the “activity shell”:

o the messages they receive (from other activities or through inports),o and the messages / events they generate (to other activities or to

outports / internal to the timed automata)o Note: the code itself (dynamic library) will be linked later in FraCC

• Concurrency & flexible deployment (c) - “fine tuned” by the user

• M2M transf. (e) for RT- Analysis (g)

• A model loader (d) performs the model interpretation at “execution time”.

FraCC: framework for Concurrent Components

FraCC keypoints

• Provides the runtime support needed for executing WCOMM applications

• FraCC main features:o Facilitates application deployment (number of nodes, processes,

and threads), clearly separating it from application modelling

o Control over the concurrency characteristics of the application

o Allows dynamic component creation and activity (code) linking

o Avoids hidden, framework management code

UserACT

IO

User‐defined region(s)

In

Out

Port managementregion(s)

In

Out

buffersOutmsgsbuffers

buffersIn msgsbuffers

FraCCACT

buffersIn msgsbuffers

buffersOut msgsbuffers

FraCCACT

T=100ms T=50ms

Code templates for activities

Sample Fracc

Execution

Cheddar analysis of FraCC applications

• FraCC threads are converted to Cheddar threads• Shared resources are derived from the assignment of components

to processes and regions to threads in a systematic way• Activities should be previously characterised: wcet, periodicity,

deadline, etc.

Additional information• Demo videos available in C-Forge site:• http://www.dsie.upct.es/cforge/tutorials/

top related