blocks, a building block presenting the UPnP light
service, a building block presenting the send email
Web service and a building block presenting the
UPnP temperature sensor (on SunSpot).
The behavior of the composite service is
described using activity diagram. We consider that a
building block is an entity that executes
functionalities. Therefore, a model of collaboration
of these entities using activity diagram is executable.
The problem is how to formalize the activity
diagrams as they are not formal enough. We will
work on this in future work.
5 RELATED WORKS
Service composition is the only way for the
development of SBA. SBA should able to include
different service description technologies as a
consequence of different ways of implementing
service-based systems. Unfortunately, only a few
method supports for non-Web Services technology,
while there exists other service technologies that are
potential to be included in the development SBA.
In Web service contexts, different techniques
and composition languages exist. For examples,
WS-BPEL (Ouyang et al. 2007) is considered as a
composition language that can be used to compose
Web services. However, BPEL is not a model-based
language and for the execution, there is a need to
develop/implement BPEL engines.
SOAML (OMG 2009) is also a language that can
be considered as for services composition. However,
SOAML is an UML profile and it is still a problem
to automate the code generation from UML models.
The AMG abstract (or represent) existing
services and present them graphically. The services
are not limited for only Web services, but also other
services (e.g. OSGi and UPnP services). AMG
abstracts (or presents) existing services as building
blocks, then based on the building block service
integrators can specify building block interactions to
define a new SBA. Since each building block refers
to implementation class, code can be generated
automatically.
6 CONCLUSIONS
We have proposed and demonstrated the AMG
(abstract, model, and generate), a model-driven
method for developing service-based applications.
The prototyped AMG-abstractor abstracts existing
services and presents them as building blocks. With
these building blocks, a model of service-based
software is created. At the end, code generators are
used to generate code from the models. The AMG
generates code fully automated, since each building
block refers to its implementation class.
ACKNOWLEDGEMENTS
This work has been supported by The Research
Council of Norway in the ISIS project.
REFERENCES
Allweyer, Thomas. 2009. BPMN - Business Process
Modeling Notation. BoD, February. http://
www.amazon.ca/exe℅bidos/redirect?tag=citeulike09-
20&path=ASIN/3837070042.
Dahl, Ole-Johan, BJørn Myhrhaug, and Kristen Nygaard.
1968. Some features of the SIMULA 67 language. In
Proceedings of the second conference on Applications
of simulations, 29–31. New York, New York, United
States: Winter Simulation Conference. http://portal.
acm.org/citation.cfm?id=805258.
Erl, Thomas. 2005. Service-Oriented Architecture (SOA):
Concepts, Technology, and Design. Prentice Hall
PTR, August.
Goodwill, James. 2004. Apache Axis Live: A Web
Services Tutorial. Sourcebeat, December.
Jeronimo, Michael, and Jack Weast. 2003. UPnP Design
by Example: A Software Developer's Guide to
Universal Plug and Play. Intel Press, May.
Kleppe, Anneke G., Jos B. Warmer, and Wim Bast. 2003.
MDA explained. Addison-Wesley, May.
Kraemer, Frank Alexander. 2007. Arctis and Ramses:
Tool Suites for Rapid Service Engineering. In
Proceedings of NIK 2007 (Norsk
informatikkonferanse), Oslo, Norway. Oslo: Tapir
Akademisk Forlag.
McIlroy, D. 1968. Mass-Produced Software Components.
In Proceedings of the 1st International Conference on
Software Engineering, 98, 88.
Newcomer, Eric. 2002. Understanding Web Services:
XML, WSDL, SOAP, and UDDI. 7th ed. Addison-
Wesley Professional, May. http://www.informit.
com/store/product.aspx?isbn=9780201750812.
OASIS. 2009. Devices Profile for Web Services 1.1.
OASIS. http://specs.xmlsoap.org/ws/2006/02/devprof/.
OMG. 2009. Service oriented architecture Modeling
Language (SoaML): Specification for the UML Profile
and Metamodel for Services (UPMS). Object
Management Group.
Ouyang, Chun, Eric Verbeek, Wil M. P van der Aalst,
Stephan Breutel, Marlon Dumas, and Arthur H. M ter
Hofstede. 2007. Formal semantics and analysis of
control flow in WS-BPEL. Science of Computer
Programming 67, no. 2-3: 162–198. doi: http://dx.doi.
org/10.1016/j.scico.2007.03.02.
MODEL-DRIVEN APPROACHES FOR SERVICE-BASED APPLICATIONS DEVELOPMENT
291