A Semantically Enhanced Approach for Orchestration of Web Services in Factory Automation Systems
|Kustantaja||Tampere University of Technology|
|Tila||Julkaistu - 15 elokuuta 2014|
|Nimi||Tampere University of Technology. Publication|
|Kustantaja||Tampere University of Technology|
The Service-oriented Architecture (SOA) paradigm makes it possible to build systems from several independent components. Most typically, web services are chosen as the building blocks of such a system. A web service is essentially a passive software entity, which listens for request messages sent to it over the network, possibly reacts to the requests by performing some operations, and finally sends response messages to the request senders.
The traditional application domain of web services belongs to the so-called IT domain. While opening new horizons in software development life-cycles, web services have been adopted in various new application domains, including the domain of factory automation (software development for factory automation). Indeed, recent research projects have experimented with controlling production system equipment through web service interfaces. When migrated from pure software to the physical realm involving industrial equipment, web services set additional demands for the application domains. For example, since the domains involve operations with physical effects, roll-back or application recovery procedures become challenging. This research work targets the orchestration of factory automation systems encapsulated as web services and presents various techniques for overcoming the difficulties.
Orchestrating web services to accomplish a complicated production task can be difficult due to the transitoriness of both production equipment states and the set of available web services. Nevertheless, the selection of appropriate web services can be facilitated by augmenting each service with semantic information describing its conditions and effects. Web services augmented with such descriptions are termed semantic web services. While Web Ontology Language, OWL, is ideal for describing application domain concepts and property relationships, the OWL-S ontology, which is based on OWL, has been specifically developed for describing web services. Once the semantic service descriptions have been analyzed to find the appropriate web services, the selected services can be invoked using their syntactic WSDL descriptions.
In addition to automated web service selection, semantic descriptions allow the composition of web services to achieve production tasks. Service composition involves first analyzing the descriptions to determine the appropriate service invocation process for achieving the desired goal and then executing the process. This dissertation presents an approach in which the production equipment and their states are represented using an ontology, and the model is dynamically used in decision-making. In particular, the devices in the considered production systems provide web service interfaces through which they can be controlled, while semantic web service descriptions formulated in OWL-S make it possible to determine the conditions and effects of invoking the web services. The approach presented in this research work additionally involves a set of specialized web services that co-operate to achieve production goals using the domain web services. One of the services maintains a semantic model of the current system state, while another uses the model to compose the domain web services so that they jointly achieve the desired goals. The semantic model of the system is automatically updated based on event notifications sent by the domain services.
Software agents controlling production devices must maintain an up-to-date view of the physical world state in order to efficiently reason and plan their actions. Especially in a factory automation system, the world state undergoes rapid evolution, and the world view must remain synchronized with the changes. This research discusses two approaches to updating the world view based on event notifications sent by web services representing production devices in a manufacturing system. One of the approaches is based on separately specified update rules, and one automatically uses semantic web service descriptions formulated in OWL-S. While all of the examples presented in this research work specifically focus on the factory automation domain, the presented approaches are applicable to all domains involving semantic web services.
Semantic Web Service descriptions facilitate the automated discovery and composition of web services. Particularly in the production system domain, the service condition and effect descriptions are essential in selecting the appropriate service or service composition for a given task. OWL-S is one of the most popular semantic web service description languages, and due to its XML syntax, OWL-S can be effortlessly incorporated into service WSDL descriptions. However, developing OWL-S documents for each service instance is laborious. This dissertation presents an approach to automatically generating executable OWL-S descriptions from semantically annotated service WSDL files.
Computing clouds facilitate rapid and effortless resource allocation. Cloud consumers can generally be ignorant of the physical computing resources used or their geographical location, as the resources are abstracted into a commodity that can be dynamically leased from the cloud provider. In particular, Infrastructure-as-a-Service clouds allow clients to dynamically lease virtual machines that behave similarly to physical servers. However, executing an application by directly using computing cloud resources is complicated and typically involves similar steps as installing and executing an application on a physical machine. Moreover, starting numerous application instances on a single virtual machine may result in poor performance. Thus, this dissertation considers the development of a web service that facilitates the use of cloud resources by abstracting them. When the web service is used, an application can be effortlessly started in a computing cloud by invoking simple web service operations. Furthermore, when multiple applications are started, the workload can be automatically distributed between several virtual machines, resulting in higher performance.
To conclude, the results presented in this research work demonstrate that semantic web service descriptions can indeed facilitate automatic web service composition and invocation. However, the effort of developing semantic web service descriptions can partly undermine the benefits achieved through their application. Therefore, new tools and methods should be developed to minimize the effort of developing such descriptions.