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

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

Upload: others

Post on 18-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

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

Page 2: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

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)

Page 3: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

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)

Page 4: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

Overview of C‐Forge

Page 5: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

Interfaces, datatypes, protocols, activities

Page 6: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

Simple Componenents (plus timed‐automata)

Page 7: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

Complex Components and Application

Page 8: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

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)

Page 9: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

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

Page 10: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

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

Page 11: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

• 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

Page 12: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

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

Page 13: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

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

Page 14: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

Code templates for activities

Page 15: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

Sample Fracc

Execution

Page 16: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

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.

Page 17: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft

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

Page 18: Francisco Sánchez, Diego Francisca Rosique, Carlos Insaurralderobotics.unibg.it/tcsoft/sdir2013/slides/ortiz.pdf · Francisco Ortiz, Francisco Sánchez, Diego Alonso, ... Microsoft