Collaborations, Semantic Interfaces and Service Goals: a way forward for Service Engineering
MetadataVis full innførsel
The challenges faced when designing and deploying convergent telecommunication services are well know to practitioners. While good tools and methods are available for designing, implementing and testing system parts that run on a single computer, there is a lot to be desired when it comes to the cross-cutting aspects of services that require cooperation between several software components distributed over several machines. Our work addresses the latter issues. Firstly it defines services in a more general way than much of the current thinking, exemplified by Service Oriented Architecture; we consider a service to involve a collaboration between objects, rather than an interface to an object. This means that a larger set of problems can be addressed by services, due to a more general definition. Secondly, we present the core concept of semantic connectors as a reusable modelling construct. Semantic connectors, and the pair of semantic interfaces they define, are used as elements in the composition of more complex services, without any limitations regarding the number of objects participating in the service. Semantic connectors can be designed and validated as separate entities. Semantic interfaces are small state machines, and opposite semantic interfaces must adhere to basic safety properties, entailing that all output from one interface must be accepted as input in the opposite interface, and vice-versa, states taken into consideration. The “semantic” aspect of semantic connectors is expressed by what we call service goals, which characterize events or states that are desirable to achieve over the semantic connector. Service goals are used to check whether collaborations between objects can achieve their intentions; if one can prove that service goals never can be achieved, then the collaboration has no useful purpose. We call this a validation of basic liveness properties, which comes as an add-on to the validation of basic safety properties. Furthermore, the behaviour of services composed of semantic interfaces can be characterised by what we call goal sequences. These provide an overview of the service logic, focusing on the achievement of goals of the constituent semantic connectors. Collaboration goal sequences facilitate the validation of composite service structures, and can be used to derive role goal sequences that describe relationships between goals of semantic interfaces. Actor goal sequences describe the ability of objects to play semantic interfaces, taking sequences of goals into consideration. In addition to a compositional approach to service design and validation, our work also shows how semantic interfaces can facilitate service discovery at runtime. By comparing semantic interfaces and actor goal sequences of potentially connected actors, it is possible to determine what services opportunities are available between peers, both in general and at any specific time, i.e. dependent on the current context. Context dependent service discovery is expected to increase in importance as the number and diversity of terminal types, signalling and transport networks, and service providers increase. Our work builds upon the work of other researchers, but represents a new approach. To the best of our knowledge, our suggestions are new and original. Hence there is little to compare with in terms of other initiatives, although there is a large volume of work that constitutes our point of departure. We use the second version of the Unified Modeling Language, UML 2 as a modelling language. We make original and innovative use of some of the new constructs in UML, in particular collaborations and collaboration uses, as well as interaction overviews. This may be of interest to the UML community at large, not only to designers of convergent services. The ability to model cross-cutting concerns using UML is of general importance. Finally, we note that this work is being used as a basis for ongoing research and evaluation work, most notably by the SIMS project funded by the European Commission, and by a number of doctoral students at the Norwegian University of Science and Technology.