Domain-specific language for coordination patterns

The integration and composition of software systems requires a good architectural design phase to speed up communications between (remote) components. However, during implementation phase, the code to coordinate such components often ends up mixed in the main business code. This leads to maintenance problems, raising the need for, on the one hand, separating the coordination code from the business code, and on the other hand, providing mechanisms for analysis and comprehension of the architectural decisions once made. In this context our aim is at developing a domain-specific language, CoordL, to describe typical coordination patterns. From our point of view, coordination patterns are abstractions, in a graph form, over the composition of coordination statements from the system code. These patterns would allow us to identify, by means of pattern-based graph search strategies, the code responsible for the coordination of the several components in a system. The recovering and separation of the architectural decisions for a better comprehension of the software is the main purpose of this pattern language.

[1]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.

[2]  Malik Magdon-Ismail,et al.  Discovery, analysis and monitoring of hidden social networks and their evolution , 2008, 2008 IEEE Conference on Technologies for Homeland Security.

[3]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[4]  Ee-Peng Lim,et al.  Social Network Discovery by Mining Spatio-Temporal Events , 2005, Comput. Math. Organ. Theory.

[5]  IEEE-SA Standards Board , 2000 .

[6]  David Notkin,et al.  ArchJava: connecting software architecture to implementation , 2002, ICSE '02.

[7]  Robert J. Allen A formal approach to software architecture , 1997 .

[8]  Erhard Plödereder,et al.  Bauhaus - A Tool Suite for Program Analysis and Reverse Engineering , 2006, Ada-Europe.

[9]  David Garlan,et al.  Acme: architectural description of component-based systems , 2000 .

[10]  Joseph A. Goguen,et al.  Reusing and Interconnecting Software Components , 1986, Computer.

[11]  Nuno F. Rodrigues,et al.  Slicing techniques applied to architectural analysis of legacy software , 2009 .

[12]  Frank Buschmann,et al.  A system of patterns , 1995 .

[13]  Philippe Kruchten,et al.  A Tool to Visualize Architectural Design Decisions , 2008, QoSA.

[14]  Luís Soares Barbosa,et al.  Slicing for architectural analysis , 2010, Sci. Comput. Program..

[15]  Jeffrey G. Gray,et al.  Using Ontologies in the Domain Analysis of Domain-Specific Languages , 2009, TWOMDE@MoDELS.

[16]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[17]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[18]  Boudewijn F. van Dongen,et al.  Workflow mining: A survey of issues and approaches , 2003, Data Knowl. Eng..

[19]  Alexander L. Wolf,et al.  Discovering models of software processes from event-based data , 1998, TSEM.

[20]  Terence Parr The Definitive ANTLR Reference: Building Domain-Specific Languages , 2007 .

[21]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000, Softw. Pract. Exp..

[22]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[23]  J. Misra Computation Orchestration : A Basis for Wide-Area Computing , 2005 .

[24]  Margaret-Anne D. Storey,et al.  Theories, tools and research methods in program comprehension: past, present and future , 2006, Software Quality Journal.

[25]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[26]  Kamran Sartipi,et al.  Alborz: An Interactive Toolkit to Extract Static and Dynamic Views of a Software System , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[27]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[28]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture Volume 1: A System of Patterns , 1996 .

[29]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[30]  Radford M. Neal Pattern Recognition and Machine Learning , 2007, Technometrics.

[31]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.