Animation-Based Service Specification, Verification and Validation

Biljana Bajić-Bizumić
2015
Suisse 2015 PAR Biljana BAJIĆ-BIZUMIĆ 2 3 Thesis Statement Service specifications are used to represent the service systems on different levels of abstraction: from business down to IT. High-level service specifications are mostly used for communication among different participants, to catalyze the discussions between them; but only service specifications modeling IT systems have enough details to be simulated and executed. As a consequence, it becomes difficult to create precise specifications
more » ... at high-levels of abstraction, potentially leading to severe project problems. This can be compensated with the use of formal methods and code generation techniques to obtain abstract, yet precise specifications with services that can be simulated and prototyped. By capturing design decisions, the high-level service specifications can be refined into more detailed ones, with the possibility to validate the specification at any level of abstraction. Abstract [Context] With the expansion of services and service science, service systems have become an important abstraction for the service revolution. Service is defined as the application of resources (including competences, skills, and knowledge) to make changes that have value for another (system). The service system is a configuration of people, technologies, and other resources that interact with other service systems to create mutual value. Many systems can be viewed as service systems, including families, cities, and companies, among many others. Therefore, services became very important for unifying concepts from various disciplines. Service specifications are used to represent service systems on different levels of abstraction: from business down to IT. [Motivation and Problem] Traditionally, high-level service specifications are used only for communication among different participants, to catalyze the discussions between them; but only the specifications modeling IT systems have enough details to be simulated and executed. As a consequence, it becomes difficult to create precise high-level specifications and make sure that the implemented services are those that correspond to the business needs, potentially leading to severe project problems. Therefore, the challenge is to create abstract, yet precise service specifications, while keeping the relation between specifications at different levels of abstraction. [Idea and Results] In this work, we use formal methods and code generation techniques to create service-prototypes from service specifications at any level of abstraction, keeping the relations between different specifications. Stakeholders can try out the prototypes and give feedback regarding services that are being provided. This way, prototypes are used to validate the specifications and detect inconsistencies and unexpected behavior. [Contribution] The contributions of our work are threefold. First, we provide the visual formalism for service specification and simulation, by adding the necessary concepts to the existing method SEAM. Second, we define two design spirals: for service specification and for service validation and verification. The service specification spiral enables us to keep the relation between several service specifications. It includes steps with explicit design decisions on how to refine high-level specifications in order to include all the details necessary for providing the identified services. The validation and verification spiral is used to validate and verify specifications at any level of abstraction. Finally, it provides an 4 environment that enables the simulation and prototyping of service specifications that are then used for their validation and verification. [Relevance] In addition to the theoretical contribution to the knowledge base of service design, we also provide the tools and guidelines that help business and IT analysts create and validate the service model, as confirmed by a survey conducted with practitioners. We illustrate the application of this work with a case study based on a consulting project we conducted at EPFL. Stellungsnahme Service-Spezifikationen werden verwendet, um Service-Systeme auf unterschiedlichen Abstraktionsebenen zu definieren: vom Business-Level bis zur IT. High-Level-Service-Spezifikationen für Geschäftsmodelle dienen vor allem der Kommunikation zwischen den verschiedenen Parteien als Diskussionsbasis, wobei nur IT-Spezifikationen genügend Details für Simulationen bieten. Entsprechend schwierig ist es, präzise Geschäftsmodelle zu formulieren, was Tür und Tor für schwerwiegende Probleme im Projekt öffnet. Dies kann durch den Einsatz von formalen Methoden und Codegenerierungs-Techniken kompensiert werden. Dies resultiert in abstrakten und dennoch präzisen Spezifikationen und kann simuliert und in einem Prototypen implementiert werden. Durch die detaillierte Erfassung von Design-Entscheidungen können die High-Level-Service-Spezifikationen verfeinert werden, was erlaubt, die Spezifikation jeder Abstraktionsebene zu überprüfen. Zusammenfassung [Kontext] Im Laufe des Ausbaus der Dienstleistungen und dessen Wissenschaft wurden Service-Systeme zu einer wichtigen Abstraktion in der Dienstleistungsrevolution. Service wird definiert als die Anwendung von Ressourcen (einschliesslich Kompetenzen, Fertigkeiten und Wissen), um Wertsteigerungen in für einen anderen (oder ein anderes System) herbeizuführen. Das Service-System ist eine Anordnung von Menschen, Technologien und anderen Ressourcen, die mit anderen Dienstleistungssystemen interagieren, um gegenseitigen Nutzen zu schaffen. Viele Systeme können als Service-Systeme verstanden werden, wie z.B. Familien, Städte und Unternehmen. Entsprechend wurden Dienstleistungen für vereinheitlichende Konzepte aus verschiedenen Disziplinen sehr wichtig. Service-Spezifikationen werden verwendet, um unterschiedliche Service-Systeme auf unterschiedlichen Abstraktionsebenen zu repräsentieren: von Business bis zur IT. [Motivation und Problem] Traditionell dienen High-Level-Service-Spezifikationen für Geschäftsmodelle vor allem der Kommunikation zwischen den verschiedenen Parteien als Diskussionsbasis, wobei nur IT-Spezifikationen genügend Details für Simulationen bieten. Entsprechend schwierig ist es, präzise Geschäftsmodelle zu formulieren, was Tür und Tor für schwerwiegende Probleme im Projekt öffnet. Die Herausforderung besteht darin, abstrakte und dennoch präzise Service-Spezifikationen zu erstellen und dabei die Beziehung zwischen Daten auf verschiedenen Abstraktionsebenen zu erhalten. [Idee und Ergebnisse] Diese Arbeit befasst sich mit High-Level-Service-Spezifikationen und deren Umwandlung in genauere Spezifikationen. Es kommen formale Methoden und Code-Generierungstechniken zum Einsatz, um die Service-Prototypen aus den Service-Spezifikationen auf jeder Abstraktionsebene zu erstellen, wobei die Beziehung zwischen verschiedenen Spezifikationen gewahrt bleiben. Die Benutzer können die Prototypen ausprobieren und Feedback zum erhaltenen Service geben, wobei Daten validiert sowie Inkonsistenzen und unerwartetes Verhalten aufgedeckt werden können. [Beitrag] Diese Arbeit leistet drei Hauptbeiträge. Zum einen beschreibt sie einen visuellen Formalismus für Service-Spezifikation und Simulation, indem sie das bestehende SEAM-Verfahren um Konzepte erweitert. Das zweite Ergebnis ist eine Reihe von spiralförmigen Prozessen: für Service-Spezifikation sowie für Service-Validierung und 6 Verifizierung. Der Spiralprozess ermöglicht es, die Beziehung zwischen verschiedenen Service-Spezifikationen aufrecht zu erhalten. Ebenso beschreibt der Spiral-Prozess die Schritte mit expliziten Design-Entscheidungen, um die High-Level-Spezifikationen zu verbessern, inklusive aller notwendigen Angaben damit die identifizierten Dienste gewährleistet werden können. Validierung und Verifizierung innerhalb des Spiral-Prozesses stellt dann das Einhalten der Spezifikationen über die Abstraktionsebenen hinweg sicher. Zum Dritten beschreibt die Arbeit ein Rahmenwerk für die Simulation und das Erstellen der Service-Spezifikations-Protoypen, welche dann zur Validierung und Verifizierung verwendet werden können. [Relevanz] Neben theoretischen Beiträgen zur Wissensgrundlage im Service-Design beschreibt die vorliegende Arbeit auch Werkzeuge und Richtlinien für Business-und IT-Analysten, die erlauben, das Geschäftsmodell zu validieren. Die praktische Relevanz wurde mit einer Umfrage unter Fachpersonen bestätigt. Zudem führten wir eine Fallstudie im Rahmen eines Beratungsprojektes an der EPFL durch.
doi:10.5075/epfl-thesis-6551 fatcat:wql7pkjzwvcwtdfk4syhqyxk2u