Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process

22
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

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 Presentation

Transcript of Eclipse- based tool-chain supporting a Model-Driven and Component-Based development process

Page 1: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

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

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

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

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

Overview of C-Forge

Page 6: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

Interfaces, datatypes, protocols, activities

Page 7: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

Simple Componenents (plus timed-automata)

Page 8: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

Complex Components and Application

Page 9: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

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

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

WCO

MM

MET

AMO

DEL

:W

IDA

Page 12: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

WCO

MM

MET

AMO

DEL

:CO

MPO

NEN

TS

Page 13: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

WCOMM METAMODEL:EXTENDED TIMED AUTOMATA

Page 14: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

• 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

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

Code templates for activities

Page 17: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

Sample Fracc

Execution

Page 18: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

Eclipse-based tool-chain supporting a Model-Driven and Component-Based

development process

Dr. Francisco Ortiz -

[email protected]

Dr. Diego Alonso -

[email protected]

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

Anex• Extra information in following slides

Page 20: Eclipse- based tool-chain supporting a  Model-Driven and  Component-Based development process

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

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

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