ABSTRACT
This paper proposes archface, a pointcut-based interface mechanism for bridging a gap between architectural design and its implementation. Archface, which encapsulates the essence of architectural design, is not only an architecture description language (ADL) but also a programming-level interface. Archface is based on the component-and-connector architecture, one of the most popular architectural styles. Archface is effective for software evolution because the trace-ability between design and its implementation can be realized by enforcing architectural constraints specified in archface on the program implementation. This traceability is bidirectional. In the modern software development, not only object orientation (OO) but also aspect orientation (AO) plays an important role in the architectural design because dealing with crosscutting concerns becomes crucial for designing reliable and maintainable software. In archface, AO can be easily introduced into architecture descriptions only with the component-and-connector mechanism. We do not have to distinguish AO from traditional OO-based design modeling approaches. Archface integrates not only design modeling with its implementation but also AO with OO.
- Aldrich, J., Chambers, C., and Notkin, D.: ArchJava: Connecting Software Architecture to Implementation, In Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), pp. 187--197, 2002. Google ScholarDigital Library
- Allen, R. and Garlan, D.: Formalizing Architectural Connection, In Proceedings of the 16th International Conference on Software Engineering (ICSE'94), pp. 71--80, 1994. Google ScholarDigital Library
- Bass, L., Clements, P., and Kazman, R.: Software Architecture in Practice (2nd edition), Addison-Wesley, 2003. Google ScholarDigital Library
- Cazzola, W., Pini, S., Ghoneim, A., and Saake, G.: Co-Evolving Application Code and Design Models by Exploiting Meta-Data, In Proceedings of the 12th Annual ACM Symposium on Applied Computing (SAC 2007), pp. 1275--1279, 2007. Google ScholarDigital Library
- Cazzola, W. and Pini, S.: On the Footprints of Join Points: The Blueprint Approach, In Journal of Object Technology, vol. 6, no. 7, Special Issue: Aspect-Oriented Modeling, pp. 167--192, 2007.Google Scholar
- D'Hondt, T., Volder, K. D., Mens, K., and Wuyts, R., Co-evolution of Object-Oriented Software Design and Implementation, In Aksit, M. (Ed.), Software Architectures and Component Technology (SACT 2000), Kluwer Academic Publishers, pp. 207--224, 2001.Google Scholar
- Hannemann, J. and Kiczales, G.: Design Pattern Implementation in Java and AspectJ, In Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2002), pp. 161--173, 2002. Google ScholarDigital Library
- Holzmann, G. J.: The SPIN MODEL CHECKER, Addison-Wesley Pub, 2003.Google Scholar
- Hyper/J, http://www.research.ibm.com/hyperspace/HyperJ/HyperJ.htmGoogle Scholar
- Java Modeling Language (JML), http://www.cs.iastate.edu/leavens/JML/.Google Scholar
- Kellens, A., Mens, K., Brichau, J., and Gybels, K.: Managing the Evolution of Aspect-Oriented Software with Model-based Pointcuts, In Proceedings of the European Conference on Object-Oriented Programming (ECOOP 2006), pp. 501--525, 2006. Google ScholarDigital Library
- Kiczales, G., Lamping, J., Mendhekar A., Maeda, C., Lopes, C., Loingtier, J. and Irwin, J.: Aspect-Oriented Programming, In Proceeding of European Conference on Object-Oriented Programming (ECOOP'97), pp. 220--242, 1997.Google ScholarCross Ref
- Kiczales, G., Hilsdale, E., Hugunin, J., et al.: An Overview of AspectJ, In Proceedings of European Conference on Object-Oriented Programming (ECOOP 2001), pp. 327--353, 2001. Google ScholarDigital Library
- Shaw, M. and Garlan, D.: Characteristics of Higher Level Languages for Software Architecture, Technical Report, CMU-CS-94-210, Carnegie Mellon University, 1994.Google ScholarCross Ref
- Suvée, D., Vanderperren, W., and Jonckers, V.: JAsCo: An Aspect-Oriented Approach Tailored for Component Based Software Development, In Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003), pp. 21--29, 2003. Google ScholarDigital Library
- Tarr, P., Ossher, H., Harrison, W., and Sutton, S. M., Jr.: N Degrees of Separation: Multi-dimensional Separation of Concerns, In Proceedings of the 21st International Conference on Software Engineering (ICSE'99), pp. 107--119, 1999. Google ScholarDigital Library
- Taylor, R. N. and Hoek, A.: Software Design and Architecture -- The once and future focus of software engineering, In Proceedings of 2007 Future of Software Engineering (FOSE 2007), pp. 226--243, 2007. Google ScholarDigital Library
- Ubayashi, N., Sakai, A., and Tamai, T.: An Aspect-oriented Weaving Mechanism Based on Component and Connector Architecture, In Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), pp. 154--163, 2007. Google ScholarDigital Library
Index Terms
- Pointcut-based architectural interface for bridging a gap between design and implementation
Recommendations
An Aspectual Connector Model and Its ADL
NSWCTC '09: Proceedings of the 2009 International Conference on Networks Security, Wireless Communications and Trusted Computing - Volume 02Connector, an important concept in software architecture design, is considered as the first-class entity. In order to solve the code-tangling and code-scattering caused by crosscutting concerns, this paper puts forwards an aspectual connector model and ...
Uncertainty-aware architectural interface
AOAsia 2014: Proceedings of the 9th International Workshop on Advanced Modularization TechniquesIn most software development projects, design models tend to contain uncertainty, because all of the design concerns cannot be captured at the early development phase. It is preferable to be able to check consistency or traceability among design models ...
Modeling UAS swarm system using conceptual and dynamic architectural modeling concepts
ICCS'11: Proceedings of the 19th international conference on Conceptual structures for discovering knowledgeIn this paper, three conceptual architectures for modeling of control architectures for UAS swarms are evaluated according to the criteria of reliability, availability, performance, and adaptability. The digital pheromone conceptual control architecture ...
Comments