Towards Model-Driven Communications

In modern distributed software systems, the issue of communication among composing parts represents a critical point, but the idea of extending conventional programming languages with general purpose communication constructs seems difficult to realize. As a consequence, there is a (growing) gap between the abstraction level required by distributed applications and the concepts provided by platforms that enable communication. This work intends to discuss how the Model Driven Software Development approach can be considered as a mature technology to generate in automatic way the schematic part of applications related to communication, by providing at the same time high level specialized languages useful in all the phases of software production. To achieve the goal, a stack of languages (meta-meta¬models) has been introduced in order to describe – at different levels of abstraction – the collaborative behavior of generic entities in terms of communication actions related to a taxonomy of messages. Finally, the generation of platforms for communication is viewed as a form of specification of language semantics, that provides executable models of applications together with model-checking supports and effective runtime environments.





References:
[1] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software.

Addison Wesley, 1995.
[2] F. Buschmann and D. C. Henney, Kevlin Schmidt, Pattern-Oriented Software Architecture: A Pattern Language for

Distributed Computing. John Wiley & Sons, 200, vol. 4.
[3] T. Erl, Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR, 2005.
[4] D. K. Barry, Web Services and Service-Oriented Architectures: The Savvy Manager's Guide. Morgan Kaufmann

Publishers, 2003.
[5] W3C, "Web services architecture home page," http://www.w3.org/TR/ws-arch/.
[6] C. Peltz, "Web services orchestration and choreography," Computer, vol. 36, no. 10, pp. 46-52, Oct. 2003.
[7] Axis, "Ax,s home page," http://ws.apache.org/axis/.
[8] Sun, "JMS home page," http://java.sun.com/products/jms/.
[9] JADE, "Home page," http://sharon.cselt.it/projects/jade/, 2000.
[10] T. Stahl and M. Volter, Model-Driven Software Development. John Wiley & Sons, Ltd, 2005.
[11] M. P. Ward, "Language oriented programming," http://wwww.cse.dmu.ac.uk/mward/martin/papers/middle-out-t.pdf.
[12] Maude, "Maude home page," http://maude.cs.uiuc.edu/.
[13] OSGi, "OSGi home page", http://www.osgi.org/Main/HomePage.
[14] Xtext, "Xtext home page", http://www.eclipse.org/Xtext/.
[15] EMF, "EMF home page," http://www.eclipse.org/modeling/emf/.
[16] UML, "Home page," http://www.uml.org/.
[17] XMI, "XMI home page," http://www.omg.org/technology/documents/formal/xmi.htm.
[18] D. Gelernter, "Generative communication in Linda," ACM Transactions on Programming Languages and Systems, vol. 7, no. 1, pp. 80-112, Jan. 1985.
[19] Equinox, "Equinox home page" http://www.eclipse.org/equinox/.
[20] "tuProlog at SourceForge," http://tuprolog.sourced-forge.net.
[21] FIPA ACL, "Fipa acl home page," http://www.fipa.org/repository/aclspecs.html.
[22] RDF, "RDF home page," http://www.w3.org/RDF/.
[23] J. Peterson, Petri Net Theory and the Modeling of Systems. Prentice Hall, 1981.
[24] WS-CDL, "WS-CDL home page," http://www.w3.org/TR/2004/WD-ws-cdl-10-20041217/.