On the Formalisation of an Application Integration Language Using Z Notation

Companies rely on applications in their software ecosystem to provide IT support for their business processes. It is common that these applications were not designed taking integration into account, which makes hard their reuse. Enterprise Application Integration (EAI) focuses on the design and implementation of integration solutions. The demand for integration has motivated the rapid growing of tools to support the construction of EAI solutions. Guarana is a proposal that can be used to design and implement EAI solutions, and different from other proposals includes a monitoring system that can be configured using a rule-based language to endow solutions with fault-tolerance. Although Guarana is available, it has not been formalised yet. This is a limitation since it is not possible to validate the rules written by software engineers, using the rule-based language, to ensure that all possibilities of failure in a given EAI solution are covered. Besides, it is not possible to generate automatically these rules based on the semantics of the EAI solution. In this paper we provide a formal specification of the language provided by Guarana to design EAI solutions, using Z notation.

[1]  Victor Romero,et al.  Mule in Action , 2009 .

[2]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[3]  London South Ten Commandments of Formal Methods … Ten Years Later , 2006 .

[4]  Axel van Lamsweerde,et al.  Formal specification: a roadmap , 2000, ICSE '00.

[5]  Elsayed M. Saad,et al.  Toward a Formalization of UML2.0 Metamodel using Z Specifications , 2007 .

[6]  Robert B. France,et al.  Towards a formalization of UML class structures in Z , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[7]  Manuel Lama,et al.  Toward the use of Petri nets for the formalization of OWL-S choreographies , 2012, Knowledge and Information Systems.

[8]  Mark Fisher,et al.  Spring Integration in Action , 2012 .

[9]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[10]  David A. Carrington,et al.  Formalizing the UML Class Diagram Using Object-Z , 1999, UML.

[11]  Claus Ibsen,et al.  Camel in Action , 2011 .

[12]  Rafael Corchuelo,et al.  A Domain-Specific Language to Design Enterprise Application Integration Solutions , 2011, Int. J. Cooperative Inf. Syst..

[13]  David G. Messerschmitt,et al.  Software Ecosystem: Understanding an Indispensable Technology and Industry , 2003 .

[14]  Rafael Corchuelo,et al.  A proposal to detect errors in Enterprise Application Integration solutions , 2012, J. Syst. Softw..

[15]  John B. Goodenough,et al.  Exception handling: issues and a proposed notation , 1975, CACM.

[16]  Sa Neung Hong,et al.  Formal semantics of the unified modeling language LU , 1995, Decis. Support Syst..

[17]  Edsger W. Dijkstra,et al.  Guarded commands, non-determinacy and a calculus for the derivation of programs , 1975, Language Hierarchies and Interfaces.

[18]  Bernhard Rumpe,et al.  Meaningful modeling: what's the semantics of "semantics"? , 2004, Computer.

[19]  Gregor Hohpe,et al.  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , 2003 .

[20]  Hartmut König,et al.  On the Formalization of UML Activities for Component-Based Protocol Design Specifications , 2012, SOFSEM.