eclipse- based tool-chain supporting a model-driven and component-based development process
DESCRIPTION
Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process. Dr. Francisco Ortiz, Dr. Diego Alonso, Dr. Francisca Rosique, Francisco Sánchez. www.upct.es. www.dsie.upct.es/proyectos/web_explore/. www.dsie.upct.es. 3 years National R&D&I Project - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/1.jpg)
Eclipse-based tool-chain supporting a Model-Driven and Component-Based
development process
Dr. Francisco Ortiz,
Dr. Diego Alonso,
Dr. Francisca Rosique, Francisco
Sánchez
![Page 2: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/2.jpg)
www.upct.es
www.dsie.upct.es www.dsie.upct.es/proyectos/web_explore/
3 years National R&D&I Project2010-2013
www.dsie.upct.es/cforge
![Page 3: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/3.jpg)
Implementation platforms• Pioneer P3-AT• Autonomous Golf Vehicle• Autonomous Underwater Vehicles
o UPCT LVS (www.upct.es/lvs) - Regional coordinated projecto Ocean Systems Lab - Heriot-Watt University (Scotland)
![Page 4: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/4.jpg)
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
deployment of the application (nodes,
processes and threads)
![Page 5: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/5.jpg)
Overview of C-Forge
![Page 6: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/6.jpg)
Interfaces, datatypes, protocols, activities
![Page 7: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/7.jpg)
Simple Componenents (plus timed-automata)
![Page 8: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/8.jpg)
Complex Components and Application
![Page 9: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/9.jpg)
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 10: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/10.jpg)
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: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/11.jpg)
WCO
MM
MET
AMO
DEL
:W
IDA
![Page 12: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/12.jpg)
WCO
MM
MET
AMO
DEL
:CO
MPO
NEN
TS
![Page 13: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/13.jpg)
WCOMM METAMODEL:EXTENDED TIMED AUTOMATA
![Page 14: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/14.jpg)
• 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 15: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/15.jpg)
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 16: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/16.jpg)
Code templates for activities
![Page 17: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/17.jpg)
Sample Fracc
Execution
![Page 18: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/18.jpg)
Eclipse-based tool-chain supporting a Model-Driven and Component-Based
development process
Dr. Francisco Ortiz -
Dr. Diego Alonso -
Dr. Francisca Rosique, Francisco Sánchez
www.dsie.upct.es/cforge
![Page 19: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/19.jpg)
Anex• Extra information in following slides
![Page 20: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/20.jpg)
User ACT
IO
User-defined region(s)
In
Out
Port management region(s)
In
Out
Outmsgs buffers
In msgs buffers
FraCC ACT
In msgs buffers
Out msgs buffers
FraCC ACT
T=100ms T=50ms
![Page 21: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/21.jpg)
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 22: Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process](https://reader030.vdocuments.mx/reader030/viewer/2022020308/568143c9550346895db05651/html5/thumbnails/22.jpg)
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 applications
o Simple component definition: only component with behaviour on their own, modelled by a timed-automata
o Complex component definition: encapsulate other components (either simple or complex), without behaviour
• Comprises a total of 64 EClasses