HAL Id: inria-00204114
https://hal.inria.fr/inria-00204114
Submitted on 12 Jan 2008
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of
sci-entific research documents, whether they are
pub-lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
A First Experimentation on High-Level Tooling Support
upon Fractal
Frédéric Loiret, David Servat, Lionel Seinturier
To cite this version:
Frédéric Loiret, David Servat, Lionel Seinturier. A First Experimentation on High-Level Tooling
Support upon Fractal. ECOOP 2006 - Workshop Fractal, Jul 2006, Nantes, France. �inria-00204114�
tooling support upon Fra tal Frédéri Loiret
1
,2
,DavidServat1
,Lionel Seinturier2
1
CEA-LISTTeam L-LSP/A ord, F-91191Gifsur Yvette Cedex
2
INRIA Futurs,USTL-LIFL, TeamGOAL/Ja quard, F-59655Villeneuve d'As q
{Frederi .Loiret, David.Servat} ea.fr, Lionel.Seinturierinria.fr
In this abstra t, we present a rst experimentation on tooling support based on Fra tal omponent model. The motivations whi h en ouraged us were to provide an homogeneous design environment for theuser tospe ifyFra tal appli ations.
Thisexperimentation isbasedonThink implementation (andasso iated tools)of F ra -tal. However,itdealsmoreongeneri stru turalaspe tsofthe omponent modelrather
than its onguration and ontrol ones, it an be regarded as being independent of Fra tal implementations.
Intherstse tion,we brieypresentfun tionalitiesofEMFframework whi h wasused to design Fra talADLasameta-model des ribedinthese ond se tion.The thirdpart
isdedi atedtoarstattemptaboutareverse engineeringtooldealing withbehavioural aspe tof omponents.
E lipse Modeling Framework overview
EMF[BSE
+
04℄ is a modeling and ode generation framework for developing
meta-modelbasedappli ationsanddesign tools.Meta-models anbespe iedwith lassand asso iation onstru ts to des ribe their stru ture, hen e EMF an be thought of as a Java implementation of (a subset of) the MOF[Gro06a ℄ (OMG's meta-obje t fa ility
whi h give grounds to the UML), it is alled E ore. From this ore meta-model, the EMFframework providesa odegeneratorto automati ally derive aJava API to allow model instan emanipulations. Abuilt-in XMI[Gro06b ℄serialization providesfor model
persisten e support. Moreover a tree-like model editor plugin an be generated, whi h makes use of the API and may serve as the basis for more elaborated user tooling environments.
Beyong those fun tionalities support, we have xed one's hoi e onthis framework
be- ause it provides the glue between programming and modelisation worlds. Con retely, itmakesitpossibletoeasilyimplement thelinkbetween toolsprovided byFra tal
om-We have used EMF as a means to dene a meta-model regrouping all Fra tal
ar- hite tural onstru ts. For la k of spa e we restri t our presentation here to the most important ones.
The meta lasses introdu ed an be thought of asthe regrouping of both the abstra t syntax tree of Fra tal's ADL and its IDL; some minor elements have also been added
for datatypesand pa kage management.
Wemainlyusedahierar hyofinterrelated on reteandabstra tE ore lassestodes ribe
thismetamodel:onlythe on rete lasseswillbeinstantiatedandmanipulatedasmodel elements.Abstra t lassesenablethefa torizationof ommonfeaturesinasetof lasses via inheritan e relationships.
Classes feature two types of relationships : ontainment whi h spe ify an ownership
and omposition relation from one obje t to a setof others (e.g.a omponent with its required and provided interfa es) and referen e relationships whi h spe ify a visiblity or a essibility from one obje t to another (e.g. in a lient-server binding there exists su h a referen e link from a required interfa e of a lient omponent to a
orresponding provided interfa eof a server omponent).
Togetherwiththisstru turaldes riptionitisalreadypossibletoaddsemanti al onstraints, i.e. right from design time, as all on epts are typed; in our previous lient-server example, a required interfa e an only be asso iated to a provided interfa e, given
themeta model onstru tion.
Assaid previously,thanksto theEMF ode generation, we an derive an API and tree-likemodeleditorintheformofadedi atedpluginasso iatedtothemetamodelwe
just dened.This plugin an be onne ted to the alreadyexisting Fra tal/Think tools. Itisamatterofsyn hronizingtheprovided Fra taltextualspe i ationswithour EMF model instan es. For this we used various existing tools whi h enable us to browse the
AST(Abstra t-syntax tree)fromFra talADLtogenerate itsEMFrepresentation.The onverse isdone thanksto ode generation. We didthis fortheKortex Think
1
library.
Fromauserpointofview,thegraphi aluserinterfa eprovidedwiththeEMFmodel edi-toreases thespe i ation oftheappli ationar hite ture.For ontainmentrelationships for instan e, no wrong assignement an be done, models are orre t by onstru tion,
withrespe tto theunderlyingmeta model. Thesame istrue forreferen e asso iations, a ontextual menu provides with a restri ted list of allowed obje ts that an be refe-ren ed : mistakes are avoided. Navigation among model elements is more intuitive for
the user who benets from the overall E lipse development environment fa ilities and apitalize on his E lipse developing experien e. In addition, persistent storageof om-ponentslibraries models (like Kortex one)allows a simple and e ient manner for the
user to reusewhat exists.
We have already startedto investigate further inthe development of a higher-level
tooling environment for Fra tal, whi h wouldgo beyondthestru tural issues presented above. We have developed an early prototype version of a ode analyzer whi h parses the sour e ode of primitive omponents - so far we worked on Think C- ode built-in
omponents - to ta kle behavioural issues.
Thetoolanalysesthemessagetra esex hanged by omponentswiththeirenvironment. Su htra esarespe iedwithI/Oautomatonswhosetransitionsarelabelledwithrespe t to the allsinvoked on the operations listedon theinterfa esofthe omponent.Thisis
mainly inspired fromthework by[Bar05℄ inthe ontext ofSafeAr hie.
From the primitive omponent sour e ode and its interfa e des ription, an abstra t syntaxtree isprodu ed,thenanalysed to extra tthe orresponding ontrol owgraph, nally redu edto thesole invokations ofinterfa e operations.
We are a tually working on an rst extension of our EMF meta-model to in lude
or-responding onstru ts for this behavioural des ription. Its interest is double : it ould provides to user a representation of exe ution ows for a given omponents ongu-ration. It ould also oers behavioural analysis apabilities on omponents assemblies
(deadlo k, safety,liveliness...). Su h fun tionalities ould be integrated inan homoge-neous way (above Fra talADL) to theeditor environment des ribed.
Con lusion and perspe tives
Wethinkthatthishomogeneousenvironment(aroundE lipseplatform) ouldallow
to extend Fra talusers eld whenitwill befullyimplemented.
In extension,andasa possible perspe tive,we an makea proje tion of those ar hite -tural on epts asaUML2prol(inanautomati waybyatoolimplementedinourlab)
topermitinteroperabilitywithUML2E lipsepluginorotherspe i ation/modelisation tools.
Our eldof interest also on ernusing Fra tal omponent model (and itsThink imple-mentation) to design real timeappli ations. For the spe i ation level, we will extend
the EMF meta-model to provide annotation me hanism for non-fun tional properties, like temporaland QoSones.
Référen es
[Bar05℄ Olivier Barais. Construire etMaitriser l'Evolutiond'une Ar hite ture
Logi- ielleà base de Composants. Thèsededo torat,2005.
[BSE
+
04℄ F.Budinsky, D.Steinberg,R.Ellersi k,E. Merks,S.A.Brodsky, et T.J. Grose. E lipse Modeling Framework. Addison-Wesley,2004.
[Gro06a℄ Obje t Management Group. Meta obje t fa ility (mof) ore spe i ation, 2006.