SSE - Service Specification Environment

Overview

SSE is an Eclipse-based framework realizing research concepts from the area of language engineering investigated in Subproject B1 "Parameterized Service Specifications".

On the one hand, SSE consists of a comprehensive service specification language covering different functional and non-functional service aspects. On the other hand, SSE supports transformations of existing service specifications written in different languages into the comprehensive specification language of SSE using model transformations by-example and evolutionary algorithms.

The comprehensive specification language of SSE is developed in a way to enable its configuration for various service markets considered within the scope of the CRC 901 "On-The-Fly Computing". This configuration is realized by LM Configurator.

SSE Features

  • Creating comprehensive service specifications
    • Specification of different functional and non-functional service aspects in a comprehensive Service Specification Language (SSL) defined in the form of a metamodel and its corresponding editors.
  • Transformation of service specifications written in other languages to SSL for matching
    • Hand-written transformations from SAWSDL, OWL-S, and UML to the SSL.
    • The approach of model transformations by-example using evolutionary algorithms to transform service specifications written in other existing languages to the SSL.
  • Metamodel operations
    • Calculating metamodel coverage of the SSL by given service specifications.
    • Creation of metamodel views on SSL, in order to filter out irrelevant language concepts in a view.
  • Example service specifications and their expected matching results for different application domains
    • Touristic domain
    • University management domain
    • Water net optimization domain
    • Public sector domain

Please note that developed concepts are not limited to SSL only but are generally applicable to any language defined in the form of a metamodel.

SSL Features

In the following, we describe the comprehensive SSL in detail. Service specifications created in the SSL are ontology-based. Ontologies used in the SSE are in the owl-format created with the tool Protégé.

  • Structural functional properties
    • Software services with their provided and required interfaces
    • Operation signatures with signature names, input parameters, output parameters, and expections. Specification of parameters includes their names, data types, and optionality.
    • Data types used in operation signatures with references to ontologies.
    • Service compositions with internal services and connectors (assembly and delegation) between them.
  • Behavioral functional properties
    • Pre- and postconditions for operation signatures in the form of first-order logic.
    • Protocols for service interfaces in the form of simple finite automata.
    • Service Effect Specifications (SEFFs) in the form of a control flow specifing the internal behavior of service interfaces or service operations.
  • Deployment properties (can be seen as part of functional properties)
    • Hardware resources environments with nodes as CPU or HDD and network properties as delay or data rate.
    • Service deployment in the hardware resources environments.
    • Usage with user behavior, e.g., arrival rates
  • Non-functional properties
    • Metadata of services with service categories, information about the service provider, service version, and a list of keywords.
    • Privacy properties.
    • Reputation of services.
    • Simple pricing of services.
    • Price Models
    • Response time of service interfaces and service operations.
  • Service requests
    • We represent requests as required interfaces.
    • For some service aspects, e.g., privacy and reputation, information additional to a service specification is required.

Parts of the SSL are based on the Palladio Component Model (PCM).

SEE Installation

Try out the SSE by installing our nightly build!

SSE Help

Get familiar with the SSE over screencasts or help contents! Browse the SSE screencasts. Download the SSE help contents.

For a complete language specification, have a look at our TechReport:

  • Svetlana Arifulina, Marie Christin Platenius, Matthias Becker, Gregor Engels, Wilhelm Schäfer:
    An Overview of Service Specification Language and Matching in On-The-Fly Computing
    Technical Report tr-ri-15-347 (goo.gl/qVXo4T(2015)

SSE and other tools

  • SeSAME: In cooperation with the subproject B3, we developed our integrated tool-suite SeSAME (Service Specification Analysis and Matching Environment). SeSAME consists of the SSE, functional analysis, and non-functional analysis (both of the subproject B3). SeSAME is described in our paper "SeSAME: Modeling and Analyzing High-Quality Service Compositions", which was presented at the Automated Software Engineering conference (ASE 2014).
  • MatchBox: Service specifications created with SSE can be matched using our tool MatchBox.
  • LM Configurator: LM Configurator enables configuration of the comprehensive service specification language (SSL) of SSE.

Contact

If you have any questions regarding SSE, please, contact the research staff from Subproject B1.