spacer search

Software Engineering for Service-Oriented Overlay Computers
Software Engineering for Service-Oriented Overlay Computers

Main Menu

Service Orchestration in E-Learning Print
This development scenario describes one of the issues of the E-Learning Case Study.

Problem Statement

Dynamic binding based on non-functional constraints is one of the major open problems in SOA. The challenge is in both the modelling and verification of such systems as well as in the realisation of the relevant runtime infrastructure, in particular in the face of evolving constraints.


A student enrolls to an on-line university to obtain a degree. In order to do that, she has to attend several electronic courses and pass the corresponding exams, so obtaining some credits. Once enough credits have been collected she can eventually ask for a thesis. Upon completion of her thesis the student will obtain her degree.

Both the university and the student may need some additional requirements to be fullfilled. The university requires that


  1. Course prerequisites are respected
  2. To obtain a thesis in a given area, all the base exams of that area must be passed
  3. To obtain a degree, a minimum number of credits is needed
The student may as well require that


  1. She does not attend any course of her least favoured area
  2. She avoids courses requiring physical attendance of lectures
  3. For non-mandatory exams, she chooses only those having no oral test (e.g. multi-choice tests)
Students shall obtain a schedule for their studies, which lists the exams to pass in the right order. The schedule must respect the student's requirements, and must guarantee that a degree can be obtained if all the exams listed are passed. As the student career evolves, the plan can be refined, and different constraints may be used for the selection.



The Lambda-req calculus developed within the project provides a language with operational semantics capturing this dynamic orchastration problem, which provides at the same time an abstract model for the runtime infrastructure required. A specification in that calculus can be derived from a UML model. Based on this it is possible to reason about properties of the system, e.g., whether a student can obtain a degree by passing only multiple-choice exams, etc.



  • UML2 sequence and state-machine diagrams
  • Lambda-req


  • UML2 CASE tool
  • Type inference tool for Lambda-req
  • Model checker and planner

The Sensoria Project Website
2005 - 2010