Abstract
Asynchronous communications are prominent in distributed and mobile systems. Often concurrent systems consider an abstract point of view with synchronous communications. However it seems more realistic and finer to consider asynchronous communicating systems, since it provides a more primitive communication protocol and maximize the concurrency. Several languages and models have been defined using this communication mode: agent, actor, mobile computation, and so on. Here we reconsider a previous component model with full data types and synchronous communications with an asynchronous flavour. The dynamic behaviour of a component is represented as a structured symbolic transition system with mailboxes. We also present an algorithm devoted to an analysis of the dynamic behaviour of the system. This algorithm decides if the system has bound mailboxes and computes the reachable mailbox contents of the system. The component model and the algorithm are illustrated on a flight system reservation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
ProActive, http://www-sop.inria.fr/oasis/ProActive/
Achermann, F., Nierstrasz, O.: Applications = Components + Scripts – A Tour of Piccola. In: Aksit, M. (ed.) Software Architectures and Component Technology, pp. 261–292. Kluwer, Dordrecht (2001)
Agha, G.: Concurrent Object-Oriented Programming. Communication of the ACM 33(9), 125–141 (1990)
Agha, G., Hewitt, C.: Concurrent programming using actors: Exploiting large-scale parallelism. In: Maheshwari, S.N. (ed.) FSTTCS 1985. LNCS, vol. 206, pp. 19–40. Springer, Heidelberg (1985)
Allemand, M., Royer, J.-C.: Mixed Formal Specification with PVS. In: Proceedings of the 15th IPDPS 2002 Symposium, FMPPTA. IEEE Computer Society, Los Alamitos (2002)
Allen, R., Douence, R., Garlan, D.: Specifying and Analyzing Dynamic Software Architectures. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 21–37. Springer, Heidelberg (1998)
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)
Arnold, A.: Finite Transition Systems. International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1994) ISBN 0-13-092990-5
Caromel, D.: Object Based Concurrency: Ten Language Features to Achieve Reuse. In: Workshop on Object Based Concurrency and Reuse, Utrecht, the Netherlands, June 1992, ECOOP 1992 (1992)
Caromel, D.: Toward a method of object-oriented concurrent programming. Communications of the ACM 36(9), 90–102 (1993)
Choppy, C., Poizat, P., Royer, J.-C.: Formal Specification of Mixed Components with Korrigan. In: Proceedings of the 8th Asia-Pacific Software Engineering Conference, APSEC 2001, pp. 169–176. IEEE, Los Alamitos (2001)
Choppy, C., Poizat, P., Royer, J.-C.: Specification of Mixed Systems in KORRIGAN with the Support of a UML-Inspired Graphical Notation. In: Hussmann, H. (ed.) FASE 2001. LNCS, vol. 2029, pp. 124–139. Springer, Heidelberg (2001)
Clarke, E.M., Grumberg, O., Long, D.E.: Verification tools for finite-state concurrent systems. In: van Katwijk, J. (ed.) Ada-Europe 1992. LNCS, vol. 603, Springer, Heidelberg (1992)
Denker, G., Meseguer, J., Talcott, C.L.: Protocol specification and analysis in Maude. In: Heintze, N., Wing, J. (eds.) Proceedings of Workshop on Formal Methods and Security Protocols, Indianapolis, Indiana, June 25 (1998), http://www.cs.bell-labs.com/who/nch/fmsp/index.html
Emmerich, W.: Distributed component technologies and their software engineering implications. In: Proceedings of the 24th Conference on Software Engeneering (ICSE 2002), pp. 537–546. ACM Press, New York (2002)
Emmerich, W., Kaveh, N.: F2: Component technologies: Java beans, COM, CORBA, RMI, EJB and the CORBA component model. In: Gruhn, V. (ed.) Proceedings of the Joint 8th European Software Engeneering Conference and 9th ACM SIGSOFT Symposium on the Foundation of Software Engeneering (ESEC/FSE 2001). SOFTWARE ENGINEERING NOTES, vol. 26(5), pp. 311–312. ACM Press, New York (2001)
Harel, D.: Statecharts: A visual formulation for complex systems. Science of Computer Programming 8(3), 231–274 (1987)
Honda, K., Tokoro, M.: An object calculus for synchronous communication. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 133–147. Springer, Heidelberg (1991)
Inverardi, P., Wolf, A.L., Yankelevich, D.: Static checking of system behaviors using derived component assumptions. ACM Transactions on Software Engineering and Methodology 9(3), 239–272 (2000)
ISO/IEC. LOTOS: A Formal Description Technique based on the Temporal Ordering of Observational Behaviour. ISO/IEC 8807, International Organization for Standardization (1989)
Jackson, M., Zave, P.: Distributed feature composition: A virtual architecture for telecommunications services. IEEE Transactions on Software Engineering 24(10), 831–847 (1998)
Kaveh, N., Emmerich, W.: Deadlock detection in distributed object systems. In: Gruhn, V. (ed.) Proceedings of the Joint 8th European Software Engeneering Conference and 9th ACM SIGSOFT Symposium on the Foundation of Software Engeneering (ESEC/FSE 2001), September 10-14. SOFTWARE ENGINEERING NOTES, vol. 26(5), pp. 44–51. ACM Press, New York (2001)
Lamport, L., Lynch, N.: Distributed Computing: Models and Methods, pp. 1156–1199. Elsevier Science Publishers, Amsterdam (1990)
Lutz, M.: Programming Python. O’Reilly & Associates, Sebastopol (1996)
Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)
Murata, T.: Petri nets: properties, analysis, and applications. Proceedings of the IEEE 77(4), 541–580 (1989)
OMG. CORBA Component Model Specification, v3.0. Technical report, Object Management Group (2002), www.omg.org/technology/documents/
Peng, L., Romanczuk, A., Royer, J.-C.: A Translation of UML Components into Formal Specifications. In: D’Hondt, T. (ed.) TOOLS East Europe 2002, pp. 60–75. Kluwer Academic Publishers, Dordrecht (2003) ISBN: 1-4020-7428-X
Rajamani, S.K., Rehof, J.: Conformance checking for models of asynchronous message passing software. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 166–179. Springer, Heidelberg (2002)
Royer, J.-C.: Formal Specification and Temporal Proof Techniques for Mixed Systems. In: Proceedings of the 15th IPDPS 2001 Symposium, FMPPTA, San Francisco, USA. IEEE Computer Society, Los Alamitos (2001)
Royer, J.-C.: The GAT Approach to Specify Mixed Systems. Informatica 27(1), 89–103 (2003)
Royer, J.-C., Xu, M.: Analysing Mailboxes of Asynchronous Communicating Components. Technical Report 03-09, Ecoles des Mines de Nantes (2003), http://www.emn.fr/x-info/jroyer
Thorn, T.: Programming languages for mobile code. ACM Computing Surveys 29(3), 213–239 (1997)
Wooldridge, M., Ciancarini, P.: Agent-Oriented Software Engineering: The State of the Art. In: Ciancarini, P., Wooldridge, M. (eds.) AOSE 2000. LNCS, vol. 1957, pp. 1–28. Springer, Heidelberg (2000)
Zave, P., Jackson, M.: A component-based approach to telecommunication software. IEEE Software 15(5), 70–78 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Royer, JC., Xu, M. (2003). Analysing Mailboxes of Asynchronous Communicating Components. In: Meersman, R., Tari, Z., Schmidt, D.C. (eds) On The Move to Meaningful Internet Systems 2003: CoopIS, DOA, and ODBASE. OTM 2003. Lecture Notes in Computer Science, vol 2888. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39964-3_89
Download citation
DOI: https://doi.org/10.1007/978-3-540-39964-3_89
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20498-5
Online ISBN: 978-3-540-39964-3
eBook Packages: Springer Book Archive