Service Computing, or Service-Oriented Computing/Architecture (SOC/SOA) focuses on “services” as the primary elements that constitute the system. Here “services” mean software components that are published on networks with machine-accessible self-description and interface. Services are often less granular than components, and meaningful and ready to be incorporated into various workflows, or business processes, to support human activities.
A variety of services have been explored in the research community as well as in the actual web and organizations (business). Initially, classical web-based applications were investigated such as travel reservation and stock information access. Recently, emerging services are also investigated, including cloud services (e.g., Infrastructure-as-a-Service), ambient services (e.g., projectors), and even human agents who tightly work with computer-based services. Thus Services Computing has been providing essential foundations for various computing paradigms, such as Cloud Computing, Ubiquitous Computing and Cyber-Physical Systems.
The focus on services facilitates to tackle challenges in various technical approaches in computer science and software engineering, as follows.
- Reflect requirements and their changes in organizations in an agile and efficient way, by constructing a system as a combination of reusable services that are defined in granularity meaningful human activities. (Software Engineering viewpoint)
- Facilitate development of intelligent applications, by providing access to meta-knowledge on services as well as services themselves. (Artificial Intelligence aspect)
- Achieve high interoperability, including runtime adaptation, by providing standardized specifications on explicit description and exchange of meta-knowledge. (Distributed Computing aspect)
In order to actually leverage these potential benefits, it is necessary to tackle several challenges. Our group has been investigating challenges in Services Computing from the following three viewpoints.
- Modeling and Analysis of Service Functionality for Service Composition: Computational methods to explore functional aspects of services and their combinations
- Modeling, Analysis and Guarantee of Quality of Services (QoS) for Service Selection and Composition: Computational methods to explore non-functional aspects (or quality) of services and their combinations
- Engineering of Evolution and Adaptation in Service-Oriented Systems: Engineering methods to develop and manage services and their combinations, integrating functional and non-functional aspects
Please also refer to publications (at the bottom of this page) for the latest information.
In addition to individual technical studies, we are working on a project on "City Services" involving 9 organs and 4 cities in EU and Japan. Details will appear later.
A. Modeling and Analysis of Service Functionality for Service Composition
In this research group we focus on automatic web service composition. Our research ranges from designing abstract planning algorithms to providing concrete solutions that address trust issues and WSDL implementation details. By generating workflows automatically a virtually unlimited number of composite services can be provided in order to further adapt to the requirements of the users, and by applying trust value of services, we can select the service candidates that work best in our workflows.
A-1. Interface, Semantics and Planning
In our studies we are developing a planning algorithm that composes fault tolerant workflows, taking QoS attributes such as the price or the response time into consideration. Apart from that, we are examining heuristics to prune the potentially exponential search space. Therefore, the registered services are pre-processed and functionally similar services are arranged in clusters in order to detect backup services and to avoid unnecessary computations.
Moreover, we investigate how to bridge the gap between semantic web service composition and concrete WSDL implementations. Planning algorithms use semantic web services to compose workflows, but WS frameworks rely on WSDL descriptions. As a consequence, if two semantic web services can be connected according to the shared ontology, a blindfold application might lead to inconsistencies. Therefore, we analyze methods to ensure the consistency of executable workflows on the data-structural level.
A-2. Experiences and Trusts
The benefit of assigning a trust value for web services is to answer the question that "Do the services functionally provide us with what they claim and can we trust them to give us what we expect from them?", provided that a group of service candidates claim to provide the same functionality under similar QoS settings. The trust value could be measured and derived based on previous interactions, client ratings and users' belief on the trustworthy of the service．
Given the trust value for each service, one would want to choose the services for the composition that achieve the highest trust value. Here in our ongoing work, we consider the trust value as a probability, i.e. Subjective or Bayesian probability, representing the degree of belief a client has in the trustworthiness of a service and try to benefit from trust values in service compositions by modeling the dependency between the probabilistic trust values of those services.
B. Modeling, Analysis and Guarantee of Quality of Services (QoS) for Service Selection and Composition
As the usage of services becomes more widespread more and more services will be available to users. This will enable them to choose between many services with equivalent or similar functionality. Given services with the needed functionality, users want to choose the services with the best non-functional aspects. These are defined by Quality of Service (QoS) attributes, specifying for example the response time and the availability of a certain service. These QoS are given in form of a service level agreement (SLA) that describes the QoS that a provider will guarantee for his service.
B-1. Modeling and Analysis
One important aspect is how to model the QoS. Usually QoS are given in SLAs as a single value. When specifying the price of a service invocation this is a precise description, but when QoS like response time are specified in a SLA this value specifies the worst possible value (e.g. the worst response time).
For instance, we also deal with QoS that are described not by a single value, but by a probability distribution, that for instance can precisely describe how likely it is that a service will take 200ms to deliver a response to the user. Also while SLAs usually just specify one value for each QoS, we also deal with more sophisticated contracts. Such a contract can contain conditional statements. For example, the service provider could guarantee different QoS depending on the time of the service invocation (e.g. during peak usage times the response time could be higher).
The analysis of the QoS is highly dependent of the previously described modeling. More complex description of QoS and SLAs can of course make the analysis more costly and complex, as well.
B-2. Service Selection
Given several services and their QoS, appropriate services have to be selected for users. Users can specify their preferences regarding the QoS stating which QoS are most important to them (e.g. a cheap price more important than a fast response time) and what constraints they want to enforce (e.g. a price below 5$ per invocation). Finding a service that best matches the user’s preferences and constraints can be modeled as an optimization problem and solved with corresponding algorithms.
We have several approaches dealing with service selection:
- Considering QoS specified probabilistically with conditional contracts
- Achieving a high reliability/better QoS for the service invocation by selecting optimal alternative and backup services
B-3. Service Composition
Service composition also deals with selecting services, selecting all necessary services to invoke an entire service composition that can consist of many individual services. Similar to service selections, users specify their preferences and constraints regarding the QoS, again resulting in an optimization problem to be solved in order to find the most suitable services. This is a combinatorial problem as we cannot choose each service for the composition independently, but must always consider the overall QoS for the combinations of services needed for the composition.
For such compositions we also consider SLAs which incorporate interdependencies between services chosen in the same composition, e.g. if all services are chosen from the same provider a discount is provided.
A big issue that we tackle is the time complexity of computing an optimal service composition regarding the user’s QoS preferences and constraints. In order to apply an efficient polynomial algorithm to the problem we consider multiple executions of services and optimize and guarantee the QoS for them, instead for just a single execution, as we believe that services will be executed many times. In this work we allow that for the same task in a service composition different services will be invoked over the term of multiple executions in a certain ration determined to be optimal by our algorithm.
C. Engineering of Evolution and Adaptation in Service-Oriented Systems
Service-oriented system development aims at improving agility and flexibility by constructing applications as workflows, or business processes, that define meaningful combination of services. Essences of services and their combination should be modeled, analyzed and validated through the development process in an efficient and reliable way. Difficulties lie in the complexity of incorporating multiple aspects to support Value-Added Functionalities and Non-Functional Requirements (NFR). In addition, evolution (re-design) and adaptation (runtime re-configuration) are consequences to changes in environments and user requirements.
C-1. Incorporation of Value-Added Functionalities and Non-Functional Requirements
Our group has investigated the following aspects incorporated into service-oriented systems, or workflows/business processes:
- Embedding behaviors for Non-Functional Requirements, contract compliance or value-added services, such as authentication and logging as well as format translation and payment
- Mobility management for functionality (mobile codes) as well as data
- Adaptive behaviors involving (re-)selection of services at runtime
C-2. Technical Foundations: Description, Verification and Integration
Solid technical foundations are explored to guarantee efficiency and reliability when dealing with the aspects mentioned above. Deliverables in the development process should be constructed and verified in a efficient and reliable way. In this sense, description and verification are the two key aspects of our group. In addition, it is necessary to integrate elemental methods to form frameworks and methodologies to provide comprehensive support for the targeted parts in the development process.
In order to facilitate an efficient construction of deliverables (e.g., interaction design models), language design is the key to allow for involving the essences with minimal efforts. Patterns and Domain-Specific Language/Modeling (DSL/DSM) are defined to identify and cover typical usages and provide in-depth support for the usages through higher-level descriptions of goals or policies. It minimizes the efforts and responsibilities of the developers while keeping the required customizability. The principle of "separation of concerns" is also significant to efficiently reflect partial changes, avoiding complex descriptions where multiple aspects are scattered (e.g., Aspect-Oriented Languages).
In order to guarantee the quality of deliverables through the verification and validation process, descriptions should be coupled with theoretical foundations and analysis methods. For example, state transitions are the primary aspects in workflows. For its sound support, automata, petri nets or process algebras are used as a theoretical foundation. Concrete methods with clear usages are also necessary on basis of such foundations. For example, model checking allows for exhaustive exploration of possible state changes in concurrent workflows to find undesirable situations. For each kind of the difficulties or possible deficiencies, adequate technical foundations should be used and elaborated into concrete methods and tools.
Finally, it is necessary to integrate elemental methods to form frameworks and methodologies to provide comprehensive supports for target parts in the development process.
- Fuyuki Ishikawa (Associate Professor)
- Ryuichi Takahashi (Specially Appointed Assistant Professor)
- Yongbo Wang (D2)
- Adrian Klein, Fuyuki Ishikawa, Shinichi Honiden, SanGA: A Self-adaptive Network-aware Approach to Service Composition, IEEE Transactions on Services Computing (to appear)
- Florian Wagner, Benjamin Kloepper, Fuyuki Ishikawa, Shinichi Honiden, Towards Robust Service Compositions in the Context of Functionally Diverse Services, The 21st International World Wide Web Conference (WWW 2012), pp.969-978, April 2012
- Adrian Klein, Fuyuki Ishikawa, Shinichi Honiden, Towards Network-aware Service Composition in the Cloud, The 21st International World Wide Web Conference (WWW 2012), pp.959-968, April 2012
- Kenji Watahiki, Fuyuki Ishikawa, Kunihiko Hiraishi, Formal Verification of Business Processes with Temporal and Resource Constraints, The 2011 IEEE International Conference on Systems, Man, and Cybernetics (IEEE SMC 2011), pp.1173-1180, October 2011
- Nobuaki Hiratsuka, Fuyuki Ishikawa, Shinichi Honiden, Service Selection with Combinational Use of Functionally-Equivalent Services, The 9th International Conference on Web Services (ICWS 2011), pp.97-104, July 2011
- Adrian Klein, Fuyuki Ishikawa, Shinichi Honiden, Efficient QoS-aware Service Composition with a Probabilistic Service Selection Policy, The 8th International Conference on Service-Oriented Computing (ICSOC 2010), pp.182-196, December 2010
- Adrian Klein, Fuyuki Ishikawa, Bernhard Bauer, A Probabilistic Approach to Service Selection with Conditional Contracts and Usage Patterns, The 7th International Conference on Service-Oriented Computing (ICSOC 2009), pp.253-268, November 2009
- Fuyuki Ishikawa, Yasuyuki Tahara, Nobukazu Yoshioka, and Shinichi Honiden, Formal Model of Mobile BPEL4WS Process, International Journal of Business Process Integration and Management (IJBPIM), Vol. 1 Issue 3, pp.192-209, September 2006
- Fuyuki Ishikawa, Yasuyuki Tahara, Nobukazu Yoshioka, and Shinichi Honiden, A Framework for Synthesis of Web Services and Mobile Agents, International Journal of Pervasive Computing and Communications (JPCC), Vol.1 Issue3, pp.227-245, September 2005