One of the issues that developers of service-oriented systems currently discuss is the lack of practical, but formal modeling notations and tools that can assist in developing more robust, reliable and trustworthy systems. Existing solutions tend to be either too specialized and complex to use by common developers, or lack enough formal underpinnings to provide useful analyses.

This line of work presents an approach to model structural and behavioral properties of service-oriented systems with UML and OCL. Essential service-oriented concepts as service request, service provision or orchestration are formally represented by UML concepts. The models can be executed, tested and analyzed, and feedback is given to the developer in terms of UML and OCL models, improving easy-of-use and understandability of results. This approach also supports the automatic generation of test scenarios in which, for example, the availability of services can be checked. Furthermore, the consistency of the service model can be proved by constructing test scenarios.

Case Studies

Online Test

When creating an online test for students, the first step is its design. Once the teacher has it designed, requests from a service provider to make it available online. Students as service requester conduct the test online. The results are recorded and are passed to the teacher for evaluation and result declaration as another service. A second service provider is the examination administration that offers a service to check for the legitimation of the students to participate in the test and record their results.

Ndi Moyo

Ndi Moyo es is a company [1] (its name is fictional for privacy reasons) that provides hundreds of services. For instance, one possible scenario is the following. A customer wants to buy a ticket for a journey. She has already consulted Ndi Moyo's online timetable for her preferred date, time and means of travel. To buy the ticket, the user can choose between various payment methods (credit card, company business card, bank card etc.). She can also choose her preferred way of receiving the ticket (E-ticket, mail, collecting from the customer service desk at Ndi Moyo).

The source files (and images of some of the diagrams) for this case study can be downloaded from NdiMoyo.zip

Manufacturing and Logistics

This case study was presented by Komoda in his work [2] along with other two industrial systems, in all of them SOA is successfully applied. This one deals with the unification and improvement of a manufacturing and logistic system. The main concern was the need for reducing the lead-time from order received to shipment. The SOA solution counts on eight sub-systems that are used as services: order entry system, sales management system, three different production management systems, a logistic management system, a sales department and a logistic center.

One possible scenario of such system is the treatment of purchase orders. When a customer places an order, it is received by the sales department. The sales department registers the order and submits it along with other information to the Order Entry System. This system contacts the Sales Management System, the three Production Management Systems and the Logistic Management System. These systems reply with the due date in which the products will be ready. The Order Entry System also interacts with the Logistic center for designating the shipping. When it has all the required information, the Order Entry System replies to the Sales Department, which in turn replies to the customer. In our scenario, finally, the Customer proceeds to pay the order and confirms when it is received.

The source files (and images of some of the diagrams) for this case study can be downloaded from Manufacturing.zip


[1] Nasr, K.A., Gross, H., van Deursen, A.: Adopting and evaluating service oriented architecture in industry. In: 14th European Conference on Software Maintenance and Reengineering, CSMR 2010, 15-18 March 2010, Madrid, Spain, pp. 11-20 (2010)

[2] Komoda, N.: Service oriented architecture (soa) in industrial systems. In: 2006 4th IEEE International Conference on Industrial Informatics, pp. 1-5 (2006)