SSE - Service Specification Environment
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.
- 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.
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).
Try out the SSE by installing our nightly build!
- Installation via Eclipse Update Site (All systems; requires installed Eclipse and Java)
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.
If you have any questions regarding SSE, please, contact the research staff from Subproject B1.