Collaborations, Semantic Interfaces and Service Goals: a way forward for Service Engineering

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.

[1]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[2]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[3]  Jacqueline Floch,et al.  ICT Convergence: Modeling Issues , 2004, SAM.

[4]  Axel van Lamsweerde,et al.  From Object Orientation to Goal Orientation: A Paradigm Shift for Requirements Engineering , 2002, RISSEF.

[5]  Jacqueline Floch,et al.  Towards Dynamic Composition of Hybrid Communication Services , 2000, SMARTNET.

[6]  Jacqueline Floch,et al.  Towards Plug-and-Play Services: Design and Validation Using Roles , 2003 .

[7]  Rolv Bræk,et al.  A Policy-driven Approach to Dynamic Composition of Authentication and Authorization Patterns and Services , 2006, J. Comput..

[8]  Wolfgang Kellerer,et al.  A generic and implementation independent service description model , 2001, Proceedings 21st International Conference on Distributed Computing Systems Workshops.

[9]  Heiko Krumm,et al.  A framework for modeling transfer protocols , 2000, Comput. Networks.

[10]  Dave Thomas,et al.  State Machines , 2002, IEEE Softw..

[11]  Axel van Lamsweerde,et al.  From System Goals to Software Architecture , 2003, SFM.

[12]  Birgit Geppert,et al.  CoSDL: An Experimental Language for Collaboration Specification , 2002, SAM.

[13]  Trygve Reenskaug,et al.  Working with objects - the OOram software engineering method , 1995 .

[14]  Daniel Amyot,et al.  Service Discovery and Component Reuse with Semantic Interfaces , 2005, SDL Forum.

[15]  Holger Giese,et al.  Incremental Design and Formal Verification with UML/RT in the FUJABA Real-Time Tool Suite , 2004 .

[16]  Itu-T Specification and Description Language (SDL) , 1999 .

[17]  Ingolf Krüger,et al.  Modeling crosscutting services with UML sequence diagrams , 2005, MoDELS'05.

[18]  Ingolf H. Krüger Towards a process and tool-chain for service-oriented automotive software engineering , 2004, ICSE 2004.

[19]  Hector J. Levesque,et al.  Intention is Choice with Commitment , 1990, Artif. Intell..

[20]  John Mylopoulos,et al.  From object-oriented to goal-oriented requirements analysis , 1999, CACM.

[21]  Peter Herrmann,et al.  Formal Security Policy Verification of Distributed Component-Structured Software , 2003, FORTE.

[22]  N. Meyers,et al.  H = W. , 1964, Proceedings of the National Academy of Sciences of the United States of America.

[23]  Juan Llorens Morillo,et al.  The meaning of multiplicity of n-ary associations in UML , 2002, Software and Systems Modeling.

[24]  Thomas Maier,et al.  Turning Collaboration Diagram Strips into Storycharts , 2002 .

[25]  Peter Herrmann,et al.  Aligning UML 2.0 State Machines and Temporal Logic for the Efficient Execution of Services , 2006, OTM Conferences.

[26]  Birgit Geppert,et al.  Collaboration-Based Design of SDL Systems , 2001, SDL Forum.

[27]  A. Udaya Shankar,et al.  Protocol Verification via Projections , 1984, IEEE Transactions on Software Engineering.

[28]  Charles W. Bachman,et al.  The Role Concept in Data Models , 1977, VLDB.

[29]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[30]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[31]  Rolv Bræk,et al.  A collaboration-based approach to service specification and detection of implied scenarios , 2006, SCESM '06.

[32]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[33]  Vladimir Mencl Specifying Component Behavior with Port State Machines , 2004, Electron. Notes Theor. Comput. Sci..

[34]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[35]  Frederick C. Hennie,et al.  Finite-state Models for Logical Machines , 1968 .

[36]  Steve Jones,et al.  Toward an acceptable definition of service [service-oriented architecture] , 2005, IEEE Software.

[37]  J.E.Y. Rosseboe,et al.  Towards a framework of authentication and authorization patterns for ensuring availability in service composition , 2006 .

[38]  Thomas R. Gruber,et al.  A Translation Approach to Portable Ontologies , 1993 .

[39]  Richard Torbjørn Sanders,et al.  Discovering Service Opportunities by Evaluating Service Goals , 2004 .

[40]  Rolv Bræk Using Roles with Types and Objects for Service Development , 1999, SMARTNET.

[41]  Humberto Nicolás Castejón Synthesizing State-Machine Behaviour from UML Collaborations and Use Case Maps , 2005 .

[42]  Ramaswamy Chandramouli,et al.  The Queen's Guard: A Secure Enforcement of Fine-grained Access Control In Distributed Data Analytics Platforms , 2001, ACM Trans. Inf. Syst. Secur..

[43]  Kathi Fisler,et al.  Modular verification of collaboration-based software designs , 2001, ESEC/FSE-9.

[44]  Peter Herrmann,et al.  Service Specification by Composition of Collaborations--An Example , 2006, 2006 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology Workshops.

[45]  Jacqueline Floch,et al.  Using SDL for Modeling Behavior Composition , 2003, SDL Forum.

[46]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[47]  Rolv Bræk,et al.  Dynamic Role Binding in a Service Oriented Architecture , 2005, INTELLCOMM.

[48]  Andreas Prinz,et al.  Application of Stuck-Free Conformance to Service-Role Composition , 2006, SAM.

[49]  Rolv Bræk,et al.  Formalizing Collaboration Goal Sequences for Service Choreography , 2006, FORTE.

[50]  Elie Najm,et al.  Assembling components with behavioural contracts , 2005, Ann. des Télécommunications.

[51]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[52]  Chuan Yi Tang,et al.  A 2.|E|-Bit Distributed Algorithm for the Directed Euler Trail Problem , 1993, Inf. Process. Lett..

[53]  Hein Meling,et al.  Towards a Plug and Play Architecture for Telecommunications , 1999, SMARTNET.

[54]  Jacqueline Floch,et al.  A Compositional Approach to Service Validation , 2005, SDL Forum.

[55]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[56]  Richard Torbjørn Sanders,et al.  Modeling peer-to-peer service goals in UML , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[57]  Jacqueline Floch,et al.  Using Projections for the Detection of Anomalous Behaviors , 2003, SDL Forum.