Using a Coordination Language to Specify the Invoicing System

In this paper we present the speciication of an \invoicing system": two versions of it are shown. The rst does not take into account any interaction with the environment while the second considers it. The speciications are written in PoliS, a coordination language based on multiple tuple spaces. The operational semantics of PoliS allows the speciication of behavioral aspects of the systems enhancing the dynamics. We have analyzed the speciications with a parser in order to avoid syntax errors, and with a model checker that helps in understanding the dynamics of the system speciied. The model checker allowed us to verify some temporal properties on the Invoicing Systems. Some questions have risen due to the incompleteness of the requirements document: we discuss the possible evolutions of the two speciications.

[1]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.

[2]  Paolo Ciancarini PoliS: a programming model for multiple tuple spaces , 1991, Proceedings of the Sixth International Workshop on Software Specification and Design.

[3]  Paolo Ciancarini,et al.  A Logic for a Coordination Model with Multiple Spaces , 1998, Sci. Comput. Program..

[4]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[5]  John Nicholls,et al.  Z notation , 1994 .

[6]  Andy Evans,et al.  Specifying & Verifying Concurrent Systems Using Z , 1994, FME.

[7]  P. Ciancarini,et al.  A coordination model to specify systems including mobile agents , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

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

[9]  Stelvio Cimato,et al.  Engineering formal requirements: An analysis and testing method for Z documents , 1997, Ann. Softw. Eng..