Language Support for Connector Abstractions

Software connectors are increasingly recognized as an important consideration in the design and implementation of object-oriented software systems. Connectors can be used to communicate across a distributed system, coordinate the activities of several objects, or adapt one object’s interface to the interface of another. Mainstream object-oriented languages, however, do not provide explicit support for connectors. As a result, connection code is intermingled with application code, making it difficult to understand, evolve, and reuse connection mechanisms.

[1]  Gary T. Leavens,et al.  MultiJava: modular open classes and symmetric multiple dispatch for Java , 2000, OOPSLA '00.

[2]  Richard N. Taylor,et al.  Using off-the-shelf middleware to implement connectors in distributed software architectures , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[3]  A. Watson,et al.  OMG (Object Management Group) architecture and CORBA (common object request broker architecture) specification , 2002 .

[4]  E PerryDewayne,et al.  Foundations for the study of software architecture , 1992 .

[5]  Mary Shaw,et al.  Abstractions and implementations for architectural connections , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[6]  Scott F. Smith,et al.  Modular Internet Programming with Cells , 2002, ECOOP.

[7]  David Notkin,et al.  Architectural Reasoning in ArchJava , 2002, ECOOP.

[8]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[9]  Peyman Oreizy,et al.  Using object-oriented typing to support architectural design in the C2 style , 1996, SIGSOFT '96.

[10]  Mira Mezini,et al.  Integrating independent components with on-demand remodularization , 2002, OOPSLA '02.

[11]  Nenad Medvidovic,et al.  Towards a taxonomy of software connectors , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[12]  Calton Pu,et al.  Infopipes: An abstraction for multimedia streaming , 2002, Multimedia Systems.

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

[14]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[15]  Premkumar T. Devanbu,et al.  DADO: enhancing middleware to support crosscutting features in distributed, heterogeneous systems , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[16]  Vugranam C. Sreedhar,et al.  Mixin'Up components , 2002, ICSE '02.

[17]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[18]  Martin Odersky,et al.  Making the future safe for the past: adding genericity to the Java programming language , 1998, OOPSLA '98.

[19]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[20]  Gordon S. Blair,et al.  The Design and Implementation of Open ORB 2 , 2001, IEEE Distributed Syst. Online.

[21]  Ciarán Bryce,et al.  Lana: An Approach to Programming Autonomous Systems , 2002, ECOOP.

[22]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

[23]  Shi-Kuo Chang,et al.  Advances in Software Engineering and Knowledge Engineering , 1993, Series on Software Engineering and Knowledge Engineering.

[24]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[25]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

[26]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[27]  Brian N. Bershad,et al.  A Remote Procedure Call Facility for Interconnecting Heterogeneous Computer Systems , 1987, IEEE Transactions on Software Engineering.

[28]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[29]  Sérgio Soares,et al.  Implementing distribution and persistence aspects with aspectJ , 2002, OOPSLA '02.

[30]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

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

[32]  João Costa Seco,et al.  A Basic Model of Typed Components , 2000, ECOOP.

[33]  Matthew Lease,et al.  PlantCare: An Investigation in Practical Ubiquitous Systems , 2002, UbiComp.

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