An architectural connector, a central notion in Architectural Description Languages (ADL) [9, 5], is an abstraction that captures interactions among software components. Existing approaches for representing architectural connectors in programming environments use object-based [6] and component-based [8, 1, 4] notations. Often architectural abstractions are realized in programming environments to ensure representational benefits provided by ADLs like separating computational and interaction concerns and treating connectors as first-class design elements. However, in such programming environments, complex connectors are represented through components. When connectors are represented through components, components and connectors are indistinguishable in terms of mechanisms used to realize them. One has to look for functionalities that components realize to decide whether it is a component or a connector. At the same time, primitive connectors are discernible elements in such programming environments. This paper explores an alternative mechanism i.e. aspect in aspectoriented programming language[7] to represent a connector. Appropriateness of aspects to represent connectors is demonstrated by implementing few examples of connectors in Java/AspectJ [3, 7] programming environment.
[1]
Marija Mikic-Rakic,et al.
A style-aware architectural middleware for resource-constrained, distributed systems
,
2005,
IEEE Transactions on Software Engineering.
[2]
David Notkin,et al.
ArchJava: connecting software architecture to implementation
,
2002,
ICSE '02.
[3]
Farhad Arbab.
Abstract Behavior Types: a foundation model for components and their composition
,
2005,
Sci. Comput. Program..
[4]
David Garlan,et al.
Reconciling the needs of architectural description with object-modeling notations
,
2002,
Sci. Comput. Program..
[5]
William G. Griswold,et al.
An Overview of AspectJ
,
2001,
ECOOP.
[6]
David Garlan,et al.
Acme: an architecture description interchange language
,
2010,
CASCON.
[7]
Richard N. Taylor,et al.
A Classification and Comparison Framework for Software Architecture Description Languages
,
2000,
IEEE Trans. Software Eng..
[8]
Ken Arnold,et al.
The Java Programming Language
,
1996
.