Aspect-oriented interaction in multi-organisational web-based systems

Separation of concerns has been presented as a promising tool to tackle the design of complex systems in which cross-cutting properties that do not fit into the scope of a class must be satisfied. Unfortunately, current proposals assume that objects interact by means of object-oriented method calls, which implies that they embed interactions with others into their functional code. This makes them dependent on this interaction model, and makes it difficult to reuse them in a context in which another interaction model is more suited, e.g., tuple spaces, multiparty meetings, ports, and so forth. In this paper, we show that functionality can be described separately from the interaction model used, which helps enhance reusability of functional code and coordination patterns. Our proposal is innovative in that it is the first that achieves a clear separation between functionality and interaction in an aspect-oriented manner. In order to show that it is feasible, we adapted the multiparty interaction model to the context of multiorganisational web-based systems and developed a class framework to build business objects whose performance rates comparably to handmade implementations; the development time, however, decreases significantly.

[1]  Avelino Francisco Zorzo,et al.  A distributed object-oriented framework for dependable multiparty interactions , 1999, OOPSLA '99.

[2]  Ira R. Forman,et al.  Interacting processes: a multiparty approach to coordinated distributed programming , 1996 .

[3]  A Framework for Aspect-Oriented Multiparty Coordination , 2001, DAIS.

[4]  Gul Agha,et al.  A LINGUISTIC FRAMEWORK FOR DYNAMIC COMPOSITION OF DEPENDABILITY PROTOCOLS , 1993 .

[5]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[6]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[7]  Wouter Joosen,et al.  Composing Non-orthogonal Meta-programs , 1999 .

[8]  Mehmet Aksit Separation and composition of concerns in the object-oriented model , 1996, CSUR.

[9]  Tzilla Elrad,et al.  A layered approach to building open aspect-oriented systems: a framework for the design of on-demand system demodularization , 2001, CACM.

[10]  Robert J. Walker,et al.  Evaluating Emerging Software Development Technologies: Lessons Learned from Assessing Aspect-Oriented Programming , 1999, IEEE Trans. Software Eng..

[11]  José Antonio Pérez,et al.  An enablement detection algorithm for open multiparty interactions , 2002, SAC '02.

[12]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[13]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[14]  Douglas C. Schmidt,et al.  Lessons learned building reusable OO frameworks for distributed software , 1997, CACM.

[15]  Mohamed Fayad,et al.  Enterprise frameworks characteristics, criteria, and challenges , 2000, CACM.

[16]  John R. Gilbert,et al.  Aspect-Oriented Programming of Sparse Matrix Code , 1997, ISCOPE.

[17]  Dennis de Champeaux,et al.  Object-Oriented Analysis and Top-Down Software Development , 1991, ECOOP.

[18]  Watts S. Humphrey,et al.  Results of Applying the Personal Software Process , 1997, Computer.

[19]  Douglas C. Schmidt,et al.  Implementing application frameworks: object-oriented frameworks at work , 1999 .

[20]  Gregor Kiczales,et al.  Discussing Aspects of Aspect-Oriented Programming , 2001 .

[21]  Rafael Corchuelo,et al.  Implementing multiparty interactions on a network computer , 1999, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[22]  Mohamed Fayad,et al.  E-Frame: A Process-Based Object-Oriented Framework for E-Commerce , 2001, International Conference on Internet Computing.

[23]  Lidia Fuentes,et al.  Separation of coordination in a dynamic aspect oriented framework , 2002, AOSD '02.

[24]  Laurence Duchien,et al.  An Automatic Aspect Weaver with a Reflective Programming Language , 1999, Reflection.

[25]  Jorge J. Gómez-Sanz,et al.  Agent Oriented Analysis Using Message/UML , 2001, AOSE.

[26]  Karl J. Lieberherr From transience to persistence in object-oriented programming: architectures and patterns , 1996, CSUR.

[27]  Gregor Kiczales,et al.  D: A Language Framework for Distributed Programming , 1997 .

[28]  José Alves Marques,et al.  Development of distributed applications with separation of concerns , 1995, Proceedings 1995 Asia Pacific Software Engineering Conference.

[29]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[30]  Douglas C. Schmidt,et al.  Building application frameworks: object-oriented foundations of framework design , 1999 .

[31]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[32]  H. Van Dyke Parunak,et al.  Representing Agent Interaction Protocols in UML , 2000, AOSE.

[33]  Jörg P. Müller,et al.  Agent UML: A Formalism for Specifying Multiagent Software Systems , 2001, Int. J. Softw. Eng. Knowl. Eng..

[34]  Tzilla Elrad,et al.  An Aspect-Oriented Design Framework for Concurrent Systems , 1999, ECOOP Workshops.

[35]  Rafael Corchuelo,et al.  Object-Oriented Business Solutions , 2001, ECOOP Workshops.

[36]  David S. Platt Introducing Microsoft .NET, Second Edition , 2002 .

[37]  José Antonio Peregrina Pérez,et al.  An Order-Based, Distributed Algorithm for Implementing Multiparty Interactions , 2002, COORDINATION.

[38]  Martin P. Robillard,et al.  Does aspect-oriented programming work? , 2001, CACM.

[39]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[40]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[41]  Harold Ossher,et al.  Using multidimensional separation of concerns to (re)shape evolving software , 2001, CACM.

[42]  Jeffrey G. Gray,et al.  Handling crosscutting constraints in domain-specific modeling , 2001, CACM.

[43]  Gregory T. Sullivan Aspect-oriented programming using reflection and metaobject protocols , 2001, CACM.

[44]  Gregor Kiczales,et al.  Discussing aspects of AOP , 2001, CACM.

[45]  Akinori Yonezawa,et al.  Abstracting Object Interactions Using Composition Filters , 1993, ECOOP Workshop.

[46]  Will Hayes,et al.  An Experience Report on the Personal Software Process , 2000, IEEE Softw..

[47]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[48]  Robert E. Filman,et al.  What Is Aspect-Oriented Programming , 2001 .

[49]  Gregor Kiczales,et al.  Aspect-Oriented Incremental Customization of Middleware Services , 2001 .

[50]  Rajive L. Bagrodia,et al.  Process Synchronization: Design and Performance Evaluation of Distributed Algorithms , 1989, IEEE Trans. Software Eng..

[51]  Yuh-Jzer Joung,et al.  Strong Interaction Fairness Via Randomization , 1998, IEEE Trans. Parallel Distributed Syst..

[52]  Tzilla Elrad,et al.  Designing an aspect-oriented framework in an object-oriented environment , 2000, CSUR.

[53]  David S. Platt,et al.  Introducing Microsoft® .NET , 2001 .

[54]  Ralph Johnson,et al.  Domain-specific application frameworks: framework experience by industry , 1999 .

[55]  Trygve Reenskaug,et al.  Working with objects - the OOram software engineering method , 1995 .

[56]  Karl Aberer,et al.  CrossFlow: Cross-Organizational Workflow Management in Dynamic Virtual Enterprises , 2000 .

[57]  I. R. Forman,et al.  Design by decomposition of multiparty interactions in Raddle87 , 1989, IWSSD '89.

[58]  Lodewijk Bergmans,et al.  An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach , 1992, ECOOP.

[59]  Karl J. Lieberherr,et al.  Aspect-oriented programming with adaptive methods , 2001, CACM.

[60]  José Antonio Pérez,et al.  A multiparty coordination aspect language , 2000, SIGP.

[61]  Languages Object-Oriented Programming Systems,et al.  OOPSLA 2000 : conference proceedings : objects for the new millennium : Conference on Object-Oriented Programming, Systems, Languages, and Applications, Minneapolis Convention Center, Minneapolis, Minnesota, USA, October 15-19, 2000 , 2000 .

[62]  Yuh-Jzer Joung,et al.  Two decentralized algorithms for strong interaction fairness for systems with unbounded speed variability , 2000, Theor. Comput. Sci..

[63]  Lodewijk Bergmans,et al.  Composing crosscutting concerns using composition filters , 2001, CACM.

[64]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[65]  Trygve Reenskaug,et al.  Working with objects , 1995 .

[66]  Bedir Tekinerdogan,et al.  Building Application Frameworks: Object-Oriented Foundations of Framework Design (M. Fayad, D. Schmidt, R. Johnson (eds.) , 1999 .

[67]  Marcelo R. Campo,et al.  Analyzing the role of aspects in software design , 2001, CACM.

[68]  Bernhard Bauer,et al.  Agent UML : A formalism for specifying multiagent interaction , 2001 .

[69]  Ken Arnold,et al.  JavaSpaces¿ Principles, Patterns, and Practice , 1999 .

[70]  Gul A. Agha,et al.  A Language Framework for Multi-Object Coordination , 1993, ECOOP.

[71]  Rebecca Wirfs-Brock,et al.  Designing object-oriented software , 1990 .

[72]  Miguel Toro Bonilla,et al.  a framework for aspect–oriented multiparty coordination , 2002 .

[73]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[74]  Robert Englander,et al.  Java and SOAP , 2002 .

[75]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns , 1995 .

[76]  Watts S. Humphrey,et al.  Introduction to the Personal Software Process , 1996 .

[77]  Arie Shoshani,et al.  System Deadlocks , 1971, CSUR.

[78]  Tzilla Elrad,et al.  Aspect-oriented programming: Introduction , 2001, CACM.

[79]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.