Valeria de Castro, Juan Manuel Vara, Esperanza Marcos, Mike Papazoglou, Willem-Jan Van den Heuvel (Eds.)
2 nd International Workshop on
Model-Driven Service Engineering (MoSE 2010)
Málaga, Spain, 29 June 2010.
MoSE 2010
Proceedings of the 2 nd International Workshop on Model-Driven Service
Engineering
In conjunction with the
TOOLS 2010 Federated Conferences
Organized by
Kybele Research Group
Department of Languages and Computing Systems II Rey Juan Carlos University
Supported by
Rey Juan Carlos University
Preface
Model-Driven Engineering (MDE) deals with the provision of models, transformations between them and code generators to address software development. One of the main advantages of model-driven approaches is the provision of a conceptual structure where the models used by business managers and analysts can be traced towards more detailed models used by software developers. This kind of alignment between high level business specifications and the lower level Service Oriented Architectures (SOA) is a crucial aspect in the field of Service-Oriented Development (SOD) where meaningful business services and business process specifications are those that can give support to real business environment usually changing with increasing speed.
SOD has become currently in one of the major research topics in the field of software engineering, leading the appearance of a novel and emerging discipline called Service Engineering (SE), which aim to bring together benefits of SOA and Business Process Management (BPM). SE focuses on the identification of service (a client-provider interaction that creates value for the client) as first class elements for the software construction. The convergence of SE with MDE can holds out the promise of rapid and accurate development of software that serves software users’ goals.
In this context, the 2
ndWorkshop on Model Driven Service Engineering (MoSE 2010) aims to provide a forum to discuss different issues related to SE in conjunction with MDE, boarding open research problems in this area as well as practical experiences. Particular interests include methods, modelling languages, development methodologies and techniques in the field of SOD.
We have received in this edition 10 contributions. All the papers received have been reviewed by, at least, three members of the international Program Committee. As the result of the review process 5 works were accepted as regular papers for their presentation at MoSE 2010 workshop. Moreover, we have also heard Dr. Eelco Visser from the Department of Software Technology at Delft University of Technology who presented the invited lecture: “Service Models for WebDSL and Mobl”.
We wish to thank all the contributors to MoSE 2010, in particular the authors
who submitted papers and likewise, we acknowledge the time and effort
contributed by all the members of the Program Committee who have very carefully reviewed the submitted papers. In closing, we would like to thank the Rey Juan Carlos University for their financial support.
June 2010
Valeria De Castro Juan Manuel Vara Esperanza Marcos Mike Papazoglou Willem-Jan Van den Heuvel Organization Chair
MoSE 2010
Workshop Organization
Workshop Organizers
Valeria De Castro Rey Juan Carlos University, Spain Juan Manuel Vara Rey Juan Carlos University, Spain Esperanza Marcos Rey Juan Carlos University, Spain Mike Papazoglou Tilburg University, Netherlands Willem-Jan Van den Heuvel Tilburg University, Netherlands
Progam Committee
Yuan An Drexel University, USA
Rolv Braek University of Science and Technology, Norway Jorge Cardoso University of Coimbra, Portugal
Alfonso Castro Telefonica I+D, Spain Rafael Corchuelo University of Seville, Spain Marcos Didonet Del Fabro IBM Software Group, France Ruben Fuentes Technical University of Madrid
Nora Koch Ludwig Maximilians University, Germany Guadalupe Ortiz Bellot University of Cadiz, Spain
Genoveva Vargas Solar CNRS, LSR-IMAG, France Organizing Committee
Verónica Bollati Rey Juan Carlos University, Spain
Carlos Cuesta Rey Juan Carlos University, Spain
Elisa Herrmann Rey Juan Carlos University, Spain
Marcos López Rey Juan Carlos University, Spain
Diana Sánchez Rey Juan Carlos University, Spain
Belén Vela Rey Juan Carlos University, Spain
Table of Contents
Modelling Self-Management in Service-Oriented Systems using SelfMML.
Carlos Rodriguez, Jorge Jesus Gomez Sanz and Juan Pavon.
On the Design of a Domain Specific Language for Enterprise Application Integration Solutions. Rafael Z. Frantz, Carlos Molina Jimenez and Rafael Corchuelo.
Tool support for Service Oriented development from Business Processes.
Andrea Delgado, Ignacio García-Rodríguez de Guzmán, Francisco Ruiz and Mario Piattini.
Organic Aggregation Service Engineering Framework (OASEF): A New Model-driven Approach to Service Engineering. Yuanzhi Wang.
Inference of performance annotations in Web Service composition models.
Antonio García-Domínguez, Inmaculada Medina-Bulo and Mariano Marcos-
Bárcena.
Servie-Oriented Systems using SelfMML
CarlosRodríguez-Fernández
1
,JorgeJ.Gómez-Sanz
1
,andJuanPavón
1
FaultaddeInformátia,
C/Prof.JoséGaríaSantesmases,s/n,
28040Madrid,Spain
{arlosro,jjgomez,jpavon}fdi. um.e s
Abstrat. This paper introdues a language alled Self-Management
Modelling Language (SelfMML) whih supports the modelling of self-
management apability requirements.The paper presentsa ase study
relatedtotheautomatire-bindingfeaturesinservieswhihillustrates
andanalysesthelanguageusageinservie-orientedsystems.
1 Introdution
Software Systems intended to provide servies usually should be operative at
peak performane 24/7 to meet the end-user needs and the business require-
ments. Therefore, it is desired that suh systems have the apability of man-
aging themselves withouthuman intervention, sineasystem ould donesuh
operations in a faster and more aurate way. This apability is alled self-
management[1℄.
Theself-managementdenitionisdetailedbyitsfouraspets:self-optimisation,
self-onguration,self-healingandself-protetion[1℄.Self-optimisation istheau-
tomatilookingandndingofopportunitiesto tunethesystemtoimprovethe
performaneandtheeieny;Self-ongurationistheautomationguringof
thesystemfollowinghighlevelpoliies;Self-healing istheautomatireovering
from unhealthy state; and Self-protetion is the proteting itself from attaks
andasadingerrors,withantiipatoryorreativeations[1℄.
Obtainingsuhapabilitiesin aservie-orientedsystemisnotatrivialwork
and require a ostly engineering eort. This work ould be failitated if the
developerhad speialised toolswhih support thedenition of those apabili-
ties.Tosupport this laim,this paperstudies theimpat ofapplying theSelf-
ManagementModellingLanguage(SelfMML)forthemodellingofself-management
apabilityrequirementsinaservie-orientedsystem.
TheSelf-ManagementModelling Language(SelfMML) is alanguagewhih
intendstoassistintheengineeringofself-managementapabilityrequirements,
providing visual representations related to the speiation of them. A visual
editortoolforthislanguageisprovidedtoreate,view,editandstoreSelfMML
speiations.Thistoolanbedownloadedat http://selfmml.sf.net.
Thehosenasestudyforapplying SelfMMLis basedonawellknown se-
management apability requirement that will be modelled using the proposed
language.
It is important to remark that we fous on the modelling aspets, not in
the requirementengineering proess. Hene, we intend to provide amodelling
language that permits a developer to eetively apture and speify a self-
managementrequirement,butwedonotprovideassistanefortherequirement
engineeringproessthatusesthislanguage.TheSelfMMLsopeislimitedtothe
self-managementrequirementspeiation.Aself-managementapabilityrepre-
sents an expeted behaviour from the system, whih should be implemented
in some way during the hosendevelopment proess. Duringthe realisationof
these,theengineeranidentifyelementsanddesignthearhitetureofthenal
system aording to the speied expeted behaviour, analogous to the reali-
sation of useases.The developerould onsider someframework orreferene
arhitetureforself-managementorjustdevelopanad-hosolution.A method
torealiseandverifyself-managementrequirementsmodelledbySelfMMLisnot
studyin thiswork.
Thisworkisstruturedasfollows.Setion2desribesthelanguageSelfMML.
Setion 3 presents a ase study used as illustrative example of the language
usage.Setion 4showssomerelatedwork thathasbeentakenintoaountfor
thislanguage.Setion5introduestheonlusions.
2 The Self-Management Modelling Language (SelfMML)
TheSelf-ManagementModellingLanguage(SelfMML)isalanguageto beused
in the modelling of self-management apabilities that a system should have,
that is, self-management apability requirements. This languageis madefrom
UML2.2Superstruture,onretely,opiesallelementsfromtheUseCases and
Ativitiespakagesandextendsthemwithnewelements.Alsoimportselements
fromtheKernel pakageforthedenitionoftheelements.
The language has a meta-model that denes its abstrat syntax. Further
information about the meta-model an be found in http://selfmml.sf.net.
Thelanguageisdesribedbelow(seegures1,2and3).
Fig.1.SelfMML(1)
Self-ManagementCapability.Self-ManagementCapabilitiesaretheabil-
itiesofsystemsto domanagement operationbythemselvesonthemselves.
Thiselementisprovidedfortherepresentationofself-managementapability
requirementsin asystem.
Self-ManagementCapabilitiesareusuallyrelatedtoqualityrequirementsas
maintainability,portability,reliability,usability,availability,amongothers[2,3℄,
inawaythatontributetothesatisfationofthem.ThelanguagehastheQuality
GoalandQualityLevelelementsfortherepresentationofqualityrequirements
(seegure1).
Quality Goal. Thiselementrepresentsaqualityrequirementdesribed as
agoalthatthesystemshouldmaintain.Ithasaharateristipropertythat
desribestheharateristiorfatorrelatedtothequalityrequirements,and
alsohasasatisfationpropertythatdesribeshowthequalitygoalissatised
by the using of some expression in natural language or another language
suhasObjetConstraintLanguage(OCL).Suhexpressionsoulddesribe
what are aeptable values for the quality metris related to the quality
requirement,followingtheIEEE1062-1998Standardreommendations.
QualityLevel.Thiselementrepresentsaqualitylevelwhihgroupsquality
goalsthatthesystemshouldmaintain.
The language lets developers model how self-management apabilities are
relatedtoQualityRequirementsandUseCases,bytheusingoftherelationships
ontributeforqualitygoalsandrequireforuseases.Alsotheinluderelationship
isprovidedtodesribewhatqualitygoalsareinludedinaspeiqualitylevel
(seegure2).QualityGoalsanbeonnetedtodesribeontributionwiththe
ontribute relationshiptoo.
Problemsare thetarget of self-protetionand self-healingapabilities. The
languageprovideselementsto model possibleproblemsin thesystemfollowing
thephilosophyfromtheFailureModesandEetAnalysismethods(FMEA)[4 ℄.
Theseelementsare:
Failure.Thiselementdesribesafailurethatouldhappeninthesystem.
Failure Case.Thiselementdesribeswhat is thewrong behaviour thata
systemshowswhensomefailurehashappened(failuremodesinFMEA).
Misuse Case. This element desribes a misuse of a system that an user
A failure, amisuse aseoran attakan be related to aqualitygoal with
thethreaten relationshipindiatingthat therstonesthreatenthesatisfation
of theseondones.Failuresanbeonnetedto failureaseswiththeativate
relationshipindiatingthattherstonesativatethewrongbehaviourdesribed
in the seond ones.Alsofailures anbe onnetedto use aseswith theaet
relationship indiating that the rst ones aet the normal operation of the
funtionality desribed in the seond ones. Failures, misuse ases and attaks
anbeonnetedtofailureswiththeauserelationshipindiatingthattherst
onesausetheseondones.
A self-management apability, as a self-protetion apability, an be on-
neted to problems (failures, misuse aseand attaks)to indiate that the a-
pability takesantiipatoryations to avoid, redue the onsequeneor redue
thelikelihoodofsuhproblemsusingtheavoid,redueConsequeneandredue-
Likelihood relationships respetively. Also, as a self-protetion apability, the
elementsan be onneted to attakswith the defend relationshipto indiate
that the systemreatsto suh attaks;and anbe relatedto failureswith the
isolate relationshiptoindiatethatthesystemisolatessuhfailurestoavoidthe
asadingfailuresthat theyouldause.
Aself-managementapability,asaself-healingapability,anbeonneted
to a failure with the reoverFrom relationship indiating that the apability
reoversthesystemfromthefailure.Also,itanbeonnetedtoafailurease
with the deativate relationship indiating that the apability deativates the
wrongbehaviourofthesystem.
Aording to the self-onguration and self-optimising aspet of the self-
management, aself-management apability ouldhave theintentionto tune a
ertainongurationparameterstoimprovetheperformaneofthesystem,and
ouldalsohavetheintentionto ompleteorupdate aertainongurationpa-
rametersfollowinghighlevelpoliies,inreationtohangeeventsinthesystem
orin theenvironment.SelfMML providestwoelementsto modelsuhongu-
rationsandhangeevents:
Change Event.Thiselementdesribesahangeeventinasystem.
Conguration.Thiselementdesribeaongurationdesription.
A self-management apability ould be related to aonguration with the
followingrelationships:tune,ompleteandupdate,indiatingthattheapability
trytotune,ompeteorupdate theonguration.Aapabilityouldberelated
to ahange event with treat relationship indiating that the apability treats
theevent.
SelfMML providesaset of ativity nodesto speifytheabstrat proess of
a self-management apability using ativities diagrams (see gure 3). A self-
managementproess usuallyhasastrutureaordingtofour phases[1℄:moni-
toring,analysis,planning,andplanexeution.Inmonitoringphasetheinterest-
inginformation isgathered;in theanalysisphase,theinformationis proessed
theplanexeutionphasetheseletedorbuiltplanisexeuted.
Fig.3.SelfMML(3)
Theelementsformonitoringandanalysisarethefollowing(seegure3):
Monitoring Node. This element desribes the monitoring ativities and
itontinuallygeneratestokensafter eahmonitoringyle. Themethod to
obtaininformationbymonitoringouldbepulling,pushing,intereptionor
anyotherkindorvariant;thenodedoesnotimplytheusingofanypartiular
method.
AnalysisNode.Thiselementdesribestheanalysisativitytoinferknowl-
edgefromthemonitoringreports.
Theprovided elements to model the seletion oronstrution of plans are
thefollowing(seegure3):
PlanSeletionNode.ThiselementisfortheseletionofplansusingOCL
expression,itreeivestokensfromtheinomingedgeandopyoneforeah
outgoingedges. Theontinuity ofthetokendepends onthePlan Seletion
GuardNode.
Plan SeletionGuard Node.Thiselementis toonstraintheexeution
of plans, it reeives tokens from the inoming edge and presents them to
theoutgoingedgesonlyiftheOCLexpressiondesribedinthespeiation
propertyisevaluatedto true.
Plan Seletion Proess Node.This elementdesribesaseletionwhih
isdonebyamoresophistiatedproessthatannotbeexpressedbyOCL.It
opiesallinomingtokensto alloutgoingedges,but theontinuityofsuh
tokensdependsontheevaluationoftheguardsontheoutgoingedges.Then,
asimpletermsin guardsanbeusedtodesribewhatplanisseleted.
PlanConstrution Node.Thiselementdesribesaplanonstrutiona-
tivity.
Inorder to speify the plan exeution ativitiesthe language provides the
followingelements(seegure3):
Plan Step Exeution Node. This element desribesa stepof a ertain
exeuted(usefulwhentheplanisonstruted).
3 Case Study: The Servie Re-binding
Thestudiedsystemisablogsystemsuh asblogger.om. Publisheransubmit
postsusing apublishingservie. Thispublishing servieletsuserswriteapost
and attah to thepost anykindof les. It will usean externalstorageservie
tostoretheattahedles.
Thisservieisonstrainedbytwoqualityrequirementsrelatedtotheavail-
abilityandthereliability.Bothrequirementsareinludedinanaeptablequal-
itylevel forstandardusers.Therst requirementonstrains theavailabilityof
thepublishingserviein avaluethatshouldbeequalorgreaterthan98%.The
seondrequirementonstrainsthereliabilityinafaultresponselikelihoodvalue
equalorlessthan0.05(seegure4).
Severalproblemsanaettherequirementsfullment,thispaperidentied
onlyfourofthem.Therearetwofailuresthatanaetthenormaloperationof
theservie:theused storageserviebeomesunavailable;andtheusedstorage
servie givestoomany fault responses, beoming unreliable. Bothfailures an
auseothertwo:theunavailabilityandtheunreliabilityofthepublishingservie
respetively, and an threaten the quality requirements satisfation desribed
before(seegure4).
Fig.4.FailuresandQualityGoalsdiagram
Bothfailures in thepublishing servie ativatetwofailure ases (seegure
4). The Frequent Error Responses Submitting Posts desribes that randomly
thesystemanswerswithanunexpetederrorwhenthepublisherissubmittinga
newpost.ThePublishingServieUnavailabledesribesthatwhenthepublisher
aessestotheserviethesystemshowsthemessageThePublishingServieis
have the apability of deteting suh problems and automatially re-bind to
analternativeStorage Servie,followingagivenseletionriteriabasedonthe
quality levels oered by them. It assumes that exist a Registry that have a
full desriptionof StorageServiesthat anbeusedbythePublishing Servie.
Thesystemshould trytoseletthe serviethatoersthehighestqualitylevel
related to the availability and the reliability. But, when the seletion is not
lear(beauseexistanalternativewiththehighestavailabilitybut withoutthe
highest reliability, orotherwise)the system should follow the poliy desribed
byanadministrator.Inordertoavoidthere-seletionofaproblematiservie
the system will manage a blak list of them and will use the list to subtrat
problemati serviesfrom thelistgivenbytheRegistry.Thisapabilityshould
bepresentintheprovidersoftwareagentsofthePublishingServie.
Fig.5.ThePublishingServieRe-bindingCapabilitytreatingproblemsdiagram
Theapabilitywill try to reover the systemfrom theStorage Servie Un-
available andStorageServieBeomesUnreliablefailures.Italsodeativates the
failure asesaused indiretlybythe failures.These intentions arerelated to
theself-healingaspetoftheapability(seegure5).
Sinetheapabilityseletstheserviewhih oersthehighestqualitylevel
inavailabilityandreliabilityattributes,itreduesthelikelihoodofthePublish-
ingServieUnavailable andPublishing ServieBeomesUnreliable failures(see
gure5). Therefore,theapabilityontributestothesatisfationof bothqual-
ityrequirements:thehighavailabilityandthehighreliabilityoftheservie(see
gure6).
Theapabilityrequiresthedevelopmentofsomeuseasesinordertooperate
properly(seegure6). ThealternativestorageserviesarefoundinaRegistry,
thus the apability needsthe loation of this registryas input. TheCongure
RegistryLoation useasedesribesthefuntionalityofonguringtheloation
oftheregistry.Theapabilitywillmanageablaklistofservies,butproblemati
servies ould be healedand the administrator ould need removeit from the
blaklist atrun-time.Buteven,theadministratorouldneedadd problemati
ityrequirementsdiagram
Blak List useasedesribesthisfuntionality. Alsotheapabilityrequiresthe
CongureQoSCriteriafor Seletion useasetolettheadministratorongure
whatQoSriteriatheapabilityshould takeintoaounttoseletalternatives;
and also requires theView Re-binding Result Report use asewhih desribes
thefuntionalityof viewing,bythe administrator,the re-bindinglogsthat are
produedat run-time.
Thisapabilityis detailed by aself-managementproessmodel(gure 7,8
and 9). Thereare twomonitoringativities: Storage Servie FaultsMonitoring
and Storage Servie Availability Monitoring. The formermonitors thenumber
offaults inaperiodoftime inorderto updatetheurrentvalueof thequality
metrifault-response-likelihoodoftheStorageServie;andthelattermonitors
the urrent operational status (available, unavailable) of the Storage Servie
too. These monitoring ativities generate reports whih are onsumed by the
AnalysisOftheNeedstoRebind.TheStorageServieFaultsMonitoring ativity
will monitor theusing of the StorageServie in order to ath faults, and the
StorageServie Availability Monitoring ouldmonitortheusing,butalsoould
do themonitoringeither diretly askingto the Storage Servie, orsubsribing
itselfto someheartbeatsignal.
The Analysis Of the Needs to Rebind ativity deides if the rebinding is
neededornot.Thedeisionismadeusingthemonitoringreportsandthequal-
ityrequirementsof thestorageservie. Ifthefault-response-likelihood metri
of the Storage Servie is equalorgreater than 0.05 thereliabilityof the Pub-
lishingServiewillderease,andiftheStorageServiebeomesunavailablethe
Publishing Servie will getinto failure. Therefore, in these asestherebinding
will be needed. However,the Storage Servie ould havea notiationsystem
thatinformtoitslientsoftemporaryunavailabilityforadministrationpurpose.
Then the analysis ativity ould take into aountsuh informations to make
abetterdeisionalulatinghowtheestimatedperiodoftimein unavailability
an aet the quality level of the Publishing Servie. Another ase where the
rebindingisnotneedediswhenthereisalreadyarebindinginexeution.
Ifthe rebindingis needed, thenthe proess getinto aplan seletionphase
andidates or not. There are twoplans: update the blak list, blok the using
of the publishing servie, and do nothing,beause there are no andidates; or
updatetheblaklistandrebind,beausethereisat lessoneandidate.
Fig.8.ThePublishingServieRe-bindingProess(2)diagram
The gure8 shows the diagram of the part orresponding to the seletion
andexeutionoftheplanwhentherearenoandidates.Therstelementsinthe
owistheplanseletionguardnodethat ontainstheOCLspeiationwhih
onstrains the opy of the token to the outgoing edge. In this ase, the on-
straintis:iftheandidateslistisemptythenletsthetokenontinue.Therest
ofelementsintheowaretheupdatingoftheblaklistwith theurrentstor-
ageservie,theunavailabilitynotiationandtheunregisteringtoisolateitself
fromtherestofthesystem.TheFinalNodeindiatesthattheself-management
proesswillstopompletely,eventhemonitoringativities.
Thegure9showsthediagramofthepartorrespondingtotheseletionand
exeutionoftheplanwhenthereisatlessoneandidate.Asbefore,therstele-
mentsintheowistheplanseletionguardthatonstrainstheopyofthetoken
totheoutgoingedge.Whenthereisatlessoneandidateinthelistthetokenis
opyandtheowontinuethroughtherestofplanstepativities.Theplanrst
updatestheblaklistandnotiesatemporaryunavailabilityforadministration
purpose. Afterthat,seletsoneservieaordingtothegivenseletionriteria
and rebinds the publishing servie to it. Finally, noties the availability. The