Show simple item record

dc.contributor.authorCastejón, Humberto Nicolásnb_NO
dc.date.accessioned2014-12-19T14:11:35Z
dc.date.available2014-12-19T14:11:35Z
dc.date.created2009-02-03nb_NO
dc.date.issued2008nb_NO
dc.identifier158544nb_NO
dc.identifier.isbn978-82-471-1276-2 (electronic ver.)nb_NO
dc.identifier.isbn978-82-471-1275-5 (printed ver.)nb_NO
dc.identifier.urihttp://hdl.handle.net/11250/261494
dc.description.abstractThe development of distributed reactive systems is a complex and error-prone process. These systems consist of many separate autonomous components that operate concurrently and continuously interact with each other and with the environment in order to deliver services to the end-users. These systems are becoming more and more sophisticated, providing an ever expanding portfolio of services. In many cases new and customizable services are considered the key to increased revenues. Being able to rapidly develop and incrementally deploy such services, while avoiding undesired interactions with already existing services, therefore becomes strategically important. In this thesis we present a service-oriented and model-driven approach to engineering distributed reactive systems. The approach integrates model creation and analysis tightly. Services are explicitly modeled as collaborations between roles, using UML 2 collaborations. These offer powerful means to structure and reuse crosscutting system behavior, and to provide a high-level overview of it. Complex collaborations can be composed from more elementary ones, whose behavior can be completely described using sequence diagrams. The full behavior of a composite collaboration can in turn be described using a choreography graph, which defines the global execution ordering of its sub-collaborations.For each service collaboration, the state machine behavior of its roles can be automatically synthesized. These roles are then assigned to the components that will play them. The subsequent composition and coordination of such roles to form complete component behavior may call for human assistance. Having confidence in the correctness of the models being created is important.For that reason we identify some good practices in service modeling. We also propose early analysis techniques that help to uncover undesired or overlooked behaviors at two critical points during the modeling process. First, each service model is analyzed separately in search of realizability problems. That is, pathologies that may cause the joint behavior of the set of distributed roles synthesized from the service model to be different from the global behavior specified in the model. We provide algorithms to detect some realizability problems. Moreover, we discuss the actual nature of those problems and their underlying causes. This is important not only to adopt the most appropriate resolution when problems are detected, but also to avoid them in the first place. Second, the potential interactions between the roles that any component may play are analyzed, in order to adopt appropriate coordination measures. Finally, we recognize that service discovery and adaptation, and service personalization based on the service context and end-user preferences are increasingly important mechanisms. In this area we present policy-based mechanisms to allownb_NO
dc.languageengnb_NO
dc.publisherNorges teknisk-naturvitenskapelige universitet, Fakultet for informasjonsteknologi, matematikk og elektroteknikk, Institutt for telematikknb_NO
dc.relation.ispartofseriesDoktoravhandlinger ved NTNU, 1503-8181; 2008:287nb_NO
dc.relation.haspartCastejón, Humberto Nicolás ; von Bochmann, Gregor; Bræk, Rolv . Investigating the realizability of collaboration-based service specifications. , 2007.nb_NO
dc.titleCollaborations in Service Engineering:: Modeling, Analysis and Executionnb_NO
dc.typeDoctoral thesisnb_NO
dc.contributor.departmentNorges teknisk-naturvitenskapelige universitet, Fakultet for informasjonsteknologi, matematikk og elektroteknikk, Institutt for telematikknb_NO


Files in this item

Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record