Abstract
Aspect-Oriented Programming languages allow pointcut descriptors to quantify over the implementation points of a system. Such pointcuts are problematic with respect to independent development because they introduce strong mutual coupling between base modules and aspects. This paper introduces a new joinpoint selection mechanism based on state machine specifications. Module interfaces include behavioral specifications defined as protocol state machines. These specifications are not defined with respect to potential aspects, but are used to model and simulate the architecture of a system and act as behavioral contracts between the modules of the system. We show how a smart joinpoint selection mechanism is able to infer points that might be located deep inside the implementation of a module, given pointcuts that are expressed entirely in terms of behavioral specification elements. We present a tool, the Motorola WEAVR, which implements this technique in a Model-Driven Engineering environment.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aldrich, J.: Open Modules: Modular Reasoning about Advice. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 144–168. Springer, Heidelberg (2005)
Griswold, W.G., Shonle, M., Sullivan, K., Song, T.N., Cai, Y., Rajan, H.: Modular Software Design with Crosscutting Interfaces. IEEE Software 23(1), 51–60 (2006)
Gybels, K., Brichau, J.: Arranging Language Features for More Robust Pattern-Based Crosscuts. In: proceedings of the International Conference on Aspect-Oriented Software Development, Boston, USA, pp. 60–69. ACM Press, New York (2003)
Kiczales, G., Mezini, M.: Aspect-Oriented Programming and Modular Reasoning. In: proceedings of the International Conference on Software Engineering, St. Louis, USA, pp. 49–58. ACM Press, New York (2005)
Ostermann, K., Mezini, M., Bockisch, C.: Expressive Pointcuts for Increased Modularity. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 214–240. Springer, Heidelberg (2005)
DeLine, R., Fähndrich, M.: Typestates for Objects. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 465–490. Springer, Heidelberg (2004)
Kienzle, J., Gelineau, S.: AO challenge - implementing the ACID properties for transactional objects. In: proceedings of the International Conference on Aspect-Oriented Software Development, Bohn, Germany, pp. 202–213. ACM Press, New York (2006)
Mellor, S.J., Balcer, M.J.: Executable UML: A Foundation for Model Driven Architecture. Addison-Wesley, Reading (2002)
ITU, Z. 100: Specification and Description Language (SDL), International Telecommunication Union (2000)
Telelogic. TAU G2 homepage (2005), http://www.telelogic.com/products/tau/index.cfm
Baker, P., Weil, F., Liou, S.: Model-Driven Engineering in a Large Industrial Context. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 100–109. Springer, Heidelberg (2006)
ETSI: Test and Test Conformance Notation, version 3, TTCN-3 Homepage (2005), http://www.ttcn-3.org
Cottenier, T., van den Berg, A., Elrad, T.: Modeling Aspect-Oriented Compositions. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 100–109. Springer, Heidelberg (2006)
Cottenier, T., van den Berg, A., Elrad, T.: Model Weaving: Bridging the Divide between Translationists and Elaborationists. In: Workshop on Aspect-Oriented Modeling at the 9th International Conference on Model Driven Engineering Languages and Systems, Milan, Italy (2006)
Gray, J., Bapty, T., Neema, S., Tuck, J.: Handling crosscutting constraints in domain-specific modeling. Communications of the ACM 44(10), 87–93 (2001)
Bast, W., Kleppe, A., Warmer, J.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley, Reading (2003)
Frankel, D.S.: Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley & Sons, Chichester (2003)
OMG: MOF QVT Final Adopted Specification, Specification ptc/05-11-01, Object Management Group (2005)
Bézivin, J., Jouault, F., Valduriez, P.: First Experiments with a ModelWeaver. In: Workshop on Best Practices for Model Driven Software Development held in conjunction with the 19th Conference on Object-Oriented Programming, Systems, Languages, and Applications, Vancouver, Canada (2004)
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design. Addison-Wesley, Reading (2005)
Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2004)
Elrad, T., Aldawud, O., Bader, A.: Aspect-Oriented Modeling - Bridging the Gap Between Design and Implementation. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 189–201. Springer, Heidelberg (2002)
Mahoney, M., Bader, A., Aldawud, O., Elrad, T.: Using Aspects to Abstract and Modularize Statecharts. In: The 5th Internation Workshop on Aspect-Oriented Modeling, in Conjunction with the UML Conference (2004)
Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8, 231–274 (1987)
Vanderperren, W., Suvee, D., Cibrán, M.A., De Fraine, B.: Stateful Aspects in JAsCo. In: Gschwind, T., Aßmann, U., Nierstrasz, O. (eds.) SC 2005. LNCS, vol. 3628, pp. 167–181. Springer, Heidelberg (2005)
Douence, R., Fradet, P., Sudholt, M.: Composition, Reuse and Interaction Analysis of Stateful Aspects. In: proceedings of the 3rd International Conference on Aspect-Oriented Software Development, Lancaster, UK, pp. 141–150. ACM Press, New York (2004)
Kiczales, G.: Keynote talk at the 2d International Conference on Aspect-Oriented Software Development (2003)
Cottenier, T., van den Berg, A., Elrad, T.: The Motorola WEAVR: Model Weaving in a Large Industrial Context. In: Proceedings of the Industry Track of the 6th International Conference on Aspect-Oriented Software Development, Vancouver, Canada (2006)
Zhang, J., Cottenier, T., van den Berg, A., Gray, J.: Aspect Interference and Composition in the Motorola Aspect-Oriented Modeling Weaver. In: Proceedings of the 9th International Workshop on Aspect-Oriented Modeling at the 9th International Conference on Model Driven Engineering Languages and Systems, Milan, Italy (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cottenier, T., van den Berg, A., Elrad, T. (2007). Joinpoint Inference from Behavioral Specification to Implementation. In: Ernst, E. (eds) ECOOP 2007 – Object-Oriented Programming. ECOOP 2007. Lecture Notes in Computer Science, vol 4609. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73589-2_23
Download citation
DOI: https://doi.org/10.1007/978-3-540-73589-2_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73588-5
Online ISBN: 978-3-540-73589-2
eBook Packages: Computer ScienceComputer Science (R0)