Abstract
Architecture description languages deal with the description, analysis and reuse of software architectures. This paper describes DAOP-ADL, a component- and aspect-based language to specify the architecture of an application in terms of components, aspects and a set of plug-compatibility rules between them. With the aim of connecting the specification of the application architecture to the implementation, we describe our language using XML and XML Schemas. The DAOP-ADL language was designed to be interpreted by DAOP, our own dynamic component- and aspect-oriented platform. DAOP provides a composition mechanism that plugs aspects into components dynamically at runtime. The software architect will use the DAOP-ADL language at design time to describe the architecture of the application. Later this architectural information is loaded into the DAOP platform, which needs it to establish the dynamic connections between autonomous components and aspects. Therefore, the use of DAOP-ADL closes the gap between design and implementation of component- and aspect-based applications.
This research was funded by the CICYT under grant TIC2002-04309-C02-02
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Heineman, G.T., Councill, W.T.: Component-Based Software Engineering: Putting the Pieces Together, 1st edn. Addison Wesley (2001)
Aspect-Oriented Software Development Web Site, http://www.aosd.net
Kiczales, G., Lamping, J., Mendhekar, A., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Medvidovic, N., Taylor, R.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transaction on Software Engineering 26(1) (January 2000)
Garlan, D.: Software Architecture. In: Marciniak, J. (ed.) Encyclopedia of Software Engineering, John Wiley & Sons, Chichester (2001)
Aldrich, J., Chambers, G., Notkin, D.: ArchJava: Connecting Software Architecture to Implementatio. In: Proccedings of the ICSE 2002 (May 2002)
xAcme: Acme Extension to http://www2.cs.cmu.edu/xArch_acme/pub/xAcme/
Khare, R., Guntersdorfer, M., Oreizy, P., et al.: xADL: Enabling Architecture- Centric Tool integration with XM. In: Proceedings of the 34th Annual Hawaii ICSS 2001 (January 2001)
Pinto, M., Fuentes, L., Fayad, M.E., Troya, J.M.: Towards an Aspect-Oriented Framework in the Design of Collaborative Virtual Environments. In: Proceedings of the 8th IEEE Workshop on FTDCS 2001 (November 2001)
Pinto, M., Fuentes, L., Fayad, M.E., Troya, J.M.: Separation of Coordination in a Dynamic Aspect-Oriented Framework. In: Proceedings of the 1st International Conference on AOSD 2002 (April 2002)
Fuentes, L., Troya, J.M.: Coordinating Distributed Components on the Web: an Integrated Development Environment. Software-Practice and Experience 31(39), 209–233 (2001)
Krieger, D., Adler, R.M.: The Emergence of Distributed Component Platforms. IEEE Computer 31(3), 43–53 (1998)
Lieberherr, K., Orleans, D., Ovlinger, J.: Aspect-Oriented Programming with Adaptive Methods. Communications of the ACM 44 (10) (October 2001)
Kiczales, G., Hilsdale, E., Hugunin, J., et al.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, p. 327. Springer, Heidelberg (2001)
Wichman, J.C.: ComposeJ: The Development of a Preprocessor to Facilitate Composition Filters in the Java Language. MSc. thesis, Dept. of Computer Science, University of Twente (December 1999)
Ossher, H., Tarr, P.: Multi-Dimensional Separation of Concerns and The Hyperspace Approach. In: Proceedings of the Symposium on Software Architectures and Component Technology: The State of the Art in Software Development, Kluwer, Dordrecht (2000)
Popovici, A., Gross, T., Alonso, G.: Dynamic Weaving for Aspect-Oriented Programming. In: Proceedings of the 1st International Conference on AOSD 2002 (April 2002)
Pawlack, R., Seinturier, L., Duchien, L., Florin, G.J.: A flexible and efficient framework for aop in java. In: Proceedings of Reflection 2001 (September 2001)
Byte Code Engineering Library (BCEL), http://jakarta.apache.org/bcel/
Pawlack, R., Duchien, L., Florin, G.: A UML Notation for Aspect-Oriented Software Design. In: Proccedings of AO modeling with UML workshop at the AOSD 2002 conference (April 2002)
Kniesel, G., Constanza, P., Austermann, M.: JMangler - A Framework for Load-Time Transformation of Java Class Files. In: IEEE Workshop on SCAM 2001 (November 2001)
Bergmans, L., Aksit, M.: Analyzing Multi-dimensional Programming in AOP and Composition Filters. First Workshop on Multi-Dimensional Separation of Concerns in Object-oriented Systems (at OOPSLA 1999) (November 1999)
Burke, B., Brock, A.: Aspect-Oriented Programming and JBoss, http://www.onjava.com/pub/a/onjava/2003/05/28/aop_jboss.html
XML Schema, http://www.w3.org/XML/Schema .
Wang, N., Schmidt, D.C., O’Ryan, C.: Overview of the CORBA Component Model. In: Heineman, G.T., Council, W.T. (eds.) Component-Based Software Engineering: Putting the Pieces Together, Addison Wesley, Reading (2001)
Blevins, D.: Overview of the Enterprise JavaBeans Component Model. In: Heineman, G.T., Council, W.T. (eds.) Component-Based Software Engineering: Putting the Pieces Together, Addison Wesley, Reading (2001)
The Xerces 2 Java Parser, http://xml.apache.org/xerces2-j/index.html
Extensible Markup Language (XML) 1.0., http://www.w3.org/TR/2000/REC-xml-20001006
JavaBeans Component Architecture Documentation, http://java.sun.com/products/javabeans/docs/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pinto, M., Fuentes, L., Troya, J.M. (2003). DAOP-ADL: An Architecture Description Language for Dynamic Component and Aspect-Based Development. In: Pfenning, F., Smaragdakis, Y. (eds) Generative Programming and Component Engineering. GPCE 2003. Lecture Notes in Computer Science, vol 2830. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39815-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-39815-8_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20102-1
Online ISBN: 978-3-540-39815-8
eBook Packages: Springer Book Archive