Thursday, 14 May 2009

Formal specifications for web services: back to the future

Last week, I have started to study WSMO , Web Service Modeling Ontology. It offers a quite formal specification of web services based on state machines. When I completed my study in 1984, there were two candidates under development for specification of system interactions, namely Estelle and Lotos. Whereas the one was based on the state machine approach, the other was based on process algebra's. During the 80-s and 90-s lots of effort has been invested in these two languages, including their tooling. They ceased to exist or are at the most dorment.
Another still active community is that of Petrinets. Whereas an approach like WSMO has a fairly strong focus on information and its semantics (ontology), Petrinets have a focus on processes and the flow of tokens through those processes. Both approaches have a strong foundation in theory, e.g. take the language to specify axioms in WSMO. Furthermore, both have various tools supporting the theory. However, we are back to the future: the theory is too abstract to apply by 'normal' people without knowledge of abstract specification languages, process algebra's and what have you. The main question is: are we back to complex specification methods that are formally and theoretical quite correct, but can not be applied in practice yet? What could be done?