francisco sánchez, diego francisca rosique, carlos...
Post on 18-Aug-2020
1 Views
Preview:
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