Abstract
Domain-Specific Aspect Languages (DSALs) are Domain-Specific Languages (DSLs) designed to express crosscutting concerns. Compared to DSLs, their aspectual nature greatly amplifies the language design space. We structure this space in order to shed light on and compare the different domain-specific approaches to deal with crosscutting concerns. We report on a corpus of 36 DSALs covering the space, discuss a set of design considerations, and provide a taxonomy of DSAL implementation approaches. This work serves as a frame of reference to DSAL and DSL researchers, enabling further advances in the field, and to developers as a guide for DSAL implementations.
- Michael Achenbach and Klaus Ostermann. 2010a. A meta-aspect protocol for developing dynamic analyses. In Runtime Verification, Howard Barringer, Ylies Falcone, Bernd Finkbeiner, Klaus Havelund, Insup Lee, Gordon Pace, Grigore Rosu, Oleg Sokolsky, and Nikolai Tillmann (Eds.). Lecture Notes in Computer Science, Vol. 6418. Springer-Verlag, Berlin, 153--167. DOI:http://dx.doi.org/10.1007/978-3-642-16612-9_13 Google ScholarDigital Library
- Michael Achenbach and Klaus Ostermann. 2010b. Growing a dynamic aspect language in ruby. In Proceedings of the 5th Domain-Specific Aspect Languages Workshop at AOSD 2010 (DSAL'10).Google Scholar
- Tony Andrews, Francisco Curbera, Hitesh Dholakia, Yaron Goland, Johannes Klein, Frank Leymann, Kevin Liu, Dieter Roller, Doug Smith, Satish Thatte, Ivana Trickovic, and Sanjiva Weerawarana. 2003. Business Process Execution Language for Web Services Specification. Technical Report. BEA Systems, International Business Machines Corporation, Microsoft Corporation, SAP AG, Siebel Systems.Google Scholar
- Yoav Apter, David H. Lorenz, and Oren Mishali. 2012. A debug interface for debugging multiple domain specific aspect languages. In Proceedings of the 11th Annual International Conference on Aspect-Oriented Software Development (AOSD'12). ACM, New York, NY, 47--58. DOI:http://dx.doi.org/ 10.1145/2162049.2162056 Google ScholarDigital Library
- Toheed Aslam, Jesse Doherty, Anton Dubrau, and Laurie Hendren. 2010. AspectMatlab: An aspect-oriented scientific programming language. In Proceedings of the 9th International Conference on Aspect-Oriented Software Development (AOSD'10). ACM, New York, NY, 181--192. Google ScholarDigital Library
- Ali Assaf and Jacques Noyé. 2008. Dynamic AspectJ. In Proceedings of the 2008 Symposium on Dynamic Languages (DLS'08). ACM, New York, NY, Article 8 (2008), 12 pages. DOI:http://dx.doi.org/ 10.1145/1408681.1408689 Google ScholarDigital Library
- Pavel Avgustinov, Aske Christensen, Laurie Hendren, Sascha Kuzins, Jennifer Lhoták, Ondřej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, and Julian Tibble. 2006. abc: An extensible AspectJ compiler. In Transactions on Aspect-Oriented Software Development I, Awais Rashid and Mehmet Aksit (Eds.). Lecture Notes in Computer Science, Vol. 3880. Springer-Verlag, Berlin, 293--334. DOI:http://dx.doi.org/10.1007/11687061_9 Google ScholarDigital Library
- Pavel Avgustinov, Torbjörn Ekman, and Julian Tibble. 2008. Modularity first: A case for mixing AOP and attribute grammars. In Proceedings of the 7th International Conference on Aspect-Oriented Software Development (AOSD'08). ACM, New York, NY, 25--35. DOI:http://dx.doi.org/10.1145/1353482.1353486 Google ScholarDigital Library
- Anya Helene Bagge, Valentin David, Magne Haveraaen, and Karl Trygve Kalleberg. 2006. Stayin' alert:: Moulding failure and exceptions to your needs. In Proceedings of the 5th International Conference on Generative Programming and Component Engineering (GPCE'06). ACM, New York, NY, 265--274. DOI:http://dx.doi.org/10.1145/1173706.1173747 Google ScholarDigital Library
- Jason Baker and Wilson Hsieh. 2002. Runtime aspect weaving through metaprogramming. In Proceedings of the 1st International Conference on Aspect-Oriented Software Development (AOSD'02). ACM, New York, NY, 86--95. Google ScholarDigital Library
- Anindya Basu. 1997. A Language-Based Approach to Protocol Construction. Ph.D. dissertation. Cornell University, Ithaca, NY. Google ScholarDigital Library
- Lodewijk Bergmans and Mehmet Aksit. 2001. Composing crosscutting concerns using composition filters. Commun. ACM 44, 10 (Oct. 2001), 51--57. Google ScholarDigital Library
- Eric Bodden. 2005. Concern Specific Languages and their implementation with abc. In Proceedings of the Software-Engineering Properties of Languages and Aspect Technologies workshop (SPLAT!) at the 4th International Conference on Aspect-Oriented Software Development. (March 2005).Google Scholar
- Eric Bodden and Klaus Havelund. 2008. Racer: Effective race detection using AspectJ. In Proceedings of the 2008 International Symposium on Software Testing and Analysis (ISSTA'08). ACM, New York, NY, 155--166. DOI:http://dx.doi.org/10.1145/1390630.1390650 Google ScholarDigital Library
- Mathieu Braem, Niels Joncheere, Wim Vanderperren, Ragnhild Van Der Straeten, and Viviane Jonckers. 2007. Concern-specific languages in a visual web service creation environment. Electron. Notes Theor. Comput. Sci. 163, 2 (April 2007), 3--17. DOI:http://dx.doi.org/DOI: 10.1016/j.entcs.2006.10.012 Google ScholarDigital Library
- Mathieu Braem, Kris Verlaenen, Niels Joncheere, Wim Vanderperren, Ragnhild Straeten, Eddy Truyen, Wouter Joosen, and Viviane Jonckers. 2006. Isolating process-level concerns using padus. In Business Process Management, Schahram Dustdar, JosLuiz Fiadeiro, and AmitP. Sheth (Eds.). Lecture Notes in Computer Science, Vol. 4102. Springer-Verlag, Berlin, 113--128. DOI:http://dx.doi.org/ 10.1007/11841760_9 Google ScholarDigital Library
- M. Bravenboer and E. Visser. 2004. Concrete syntax for objects: Domain-specific language embedding and assimilation without restrictions. In Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'04). ACM , New York, NY, 365--383. Google ScholarDigital Library
- David Bruce. 1997. What makes a good domain-specific language? APOSTLE, and its approach to parallel discrete event simulation. In DSL'97—First ACM SIGPLAN Workshop on Domain-Specific Languages, in Association with POPL'97. 17--35. University of Illinois Computer Science Report.Google Scholar
- M. Bruntink, A. van Deursen, and T. Tourwe. 2005. Isolating idiomatic crosscutting concerns. In Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM'05). IEEE Computer Society, Los Alamitos, CA, 37--46. DOI:http://dx.doi.org/10.1109/ICSM.2005.57 Google ScholarDigital Library
- Joao Cardoso, Pedro Diniz, Miguel P. Monteiro, João M. Fernandes, and João Saraiva. 2010. A domain-specific aspect language for transforming MATLAB programs. In Proceedings of the 5th Domain-Specific Aspect Languages Workshop at AOSD 2010 (DSAL'10).Google Scholar
- João M. P. Cardoso, Tiago Carvalho, José G. F. Coutinho, Wayne Luk, Ricardo Nobre, Pedro Diniz, and Zlatko Petrov. 2012. LARA: An aspect-oriented programming language for embedded systems. In Proceedings of the 11th Annual International Conference on Aspect-Oriented Software Development (AOSD'12). ACM, New York, NY, 179--190. DOI:http://dx.doi.org/10.1145/2162049.2162071 Google ScholarDigital Library
- Denis Caromel, Luis Mateu, Guillaume Pothier, and Éric Tanter. 2008. Parallel object monitors. Concurrency Comput.: Pract. Exper. 20, 12 (Aug. 2008), 1387--1417. Google ScholarDigital Library
- Denis Caromel, Luis Mateu, and Éric Tanter. 2004. Sequential object monitors. In ECOOP 2004—Object-Oriented Programming, Martin Odersky (Ed.). Lecture Notes in Computer Science, Vol. 3086. Springer-Verlag, Berlin, 316--340.Google Scholar
- Andrew Casey, Jun Li, Jesse Doherty, Maxime Chevalier-Boisvert, Toheed Aslam, Anton Dubrau, Nurudeen Lameed, Amina Aslam, Rahul Garg, Soroush Radpour, Olivier Savary Belanger, Laurie Hendren, and Clark Verbrugge. 2010. McLab: An extensible compiler toolkit for MATLAB and related languages. In Proceedings of the Third C* Conference on Computer Science and Software Engineering (C3S2E'10). ACM, New York, NY, 114--117. DOI:http://dx.doi.org/10.1145/1822327.1822343 Google ScholarDigital Library
- Anis Charfi and Mira Mezini. 2007. AO4BPEL: An aspect-oriented extension to BPEL. World Wide Web 10, 3 (Sept. 2007), 309--344. DOI:http://dx.doi.org/10.1007/s11280-006-0016-3 Google ScholarDigital Library
- Panos K. Chrysanthis and Krithi Ramamritham. 1991. A formalism for extended transaction models. In Proceedings of the 17th International Conference on Very Large Data Bases (VLDB'91). Morgan Kaufmann, Burlington, MA, 103--112. Google ScholarDigital Library
- Thomas Cleenewerck, Jacques Noyé, Johan Fabry, Anne-Françoise Le Meur, and Éric Tanter. 2008. Summary of the third workshop on domain-specific aspect languages. In Proceedings of the 2008 AOSD Workshop on Domain-Specific Aspect Languages (DSAL'08). ACM, New York, NY, 1--5. Google ScholarDigital Library
- Pierre-Charles David, Thomas Ledoux, and Noury M. Bouraqadi-Sadani. 2001. Two-step weaving with reflection using AspectJ. In Proceedings of the OOPSLA 2001 Workshop on Advanced Separation of Concerns in Object-Oriented Systems. Retrieved from http://www.cs.ubc.ca/∼kdvolder/Workshops/ OOPSLA2001/submissions/02-david.pdf.Google Scholar
- Kris De Volder and Theo D'Hondt. 1999. Aspect-oriented logic meta programming. In Meta-Level Architectures and Reflection, Pierre Cointe (Ed.). Lecture Notes in Computer Science, Vol. 1616. Springer-Verlag, Berlin, 250--272. DOI:http://dx.doi.org/10.1007/3-540-48443-4_22 Google ScholarDigital Library
- Jessie Dedecker, Tom Van Cutsem, Stijn Mostinckx, Theo DHondt, and Wolfgang De Meuter. 2006. Ambient-oriented programming in AmbientTalk. In ECOOP 2006—Object-Oriented Programming, Dave Thomas (Ed.). Lecture Notes in Computer Science, Vol. 4067. Springer-Verlag, Berlin, 230--254. DOI:http://dx.doi.org/10.1007/11785477_16 Google ScholarDigital Library
- Edsger W. Dijkstra. 1982. Selected writings on Computing: A Personal Perspective. Springer-Verlag, New York, NY, 60--66. Google ScholarDigital Library
- Tom Dinkelaker. 2011a. AO4SQL: Towards an aspect-oriented extension for SQL. In Proceedings of the 8th Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE'11).Google Scholar
- Tom Dinkelaker. 2011b. Reflective Embedding of Domain-Specific Languages. Ph.D. dissertation. Technische Universität Darmstadt, Darmstadt, Germany.Google Scholar
- Tom Dinkelaker, Michael Eichberg, and Mira Mezini. 2010. An architecture for composing embedded domain-specific languages. In Proceedings of the 9th International Conference on Aspect-Oriented Software Development (AOSD'10). ACM, New York, NY, 49--60. DOI:http://dx.doi.org/10.1145/1739230.1739237 Google ScholarDigital Library
- Tom Dinkelaker, Michael Eichberg, and Mira Mezini. 2013. Incremental concrete syntax for embedded languages with support for separate compilation. Science of Computer Programming 78, 6 (June 2013), 615--632. DOI:http://dx.doi.org/10.1016/j.scico.2012.12.002 Google ScholarDigital Library
- Tom Dinkelaker, Mohammed Erradi, and Meryeme Ayache. 2012. Using aspect-oriented state machines for detecting and resolving feature interactions. Comput. Sci. Inf. Syst. 9, 3 (2012), 1045--1074.Google ScholarCross Ref
- Tom Dinkelaker and Mira Mezini. 2008. Dynamically linked domain-specific extensions for advice languages. In Proceedings of the 2008 AOSD Workshop on Domain-Specific Aspect Languages (DSAL'08). ACM, New York, NY, Article 3, (2008) 7 pages. DOI:http://dx.doi.org/10.1145/1404927.1404930 Google ScholarDigital Library
- Tom Dinkelaker, Mira Mezini, and Christoph Bockisch. 2009. The art of the meta-aspect protocol. In Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development (AOSD'09). ACM, New York, NY, 51--62. Google ScholarDigital Library
- Jesse Doherty. 2010. (Oct. 2010). Personal communication.Google Scholar
- Rémi Douence, Pascal Fradet, and Mario Südholt. 2002. A framework for the detection and resolution of aspect interactions. In Proceedings of the 1st ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE'02). Springer-Verlag, Berlin, 173--188. Google ScholarDigital Library
- Christopher Dutchyn, David B. Tucker, and Shriram Krishnamurthi. 2006. Semantics and scoping of aspects in higher-order languages. Sci. Comput. Prog. 63, 3 (Dec. 2006), 207--239. Google ScholarDigital Library
- Gary Duzan, Joseph Loyall, Richard Schantz, Richard Shapiro, and John Zinky. 2004. Building adaptive distributed applications with middleware and aspects. In Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD'04). ACM, New York, NY, 66--73. DOI:http://dx.doi.org/10.1145/976270.976280 Google ScholarDigital Library
- Torbjörn Ekman and Görel Hedin. 2007. The JastAdd extensible Java compiler. In Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications (OOPSLA'07). ACM, New York, NY, 1--18. DOI:http://dx.doi.org/10.1145/1297027.1297029 Google ScholarDigital Library
- Patrick Eugster and K.R. Jayaram. 2009. EventJava: An extension of java for event correlation. In ECOOP 2009—Object-Oriented Programming, Sophia Drossopoulou (Ed.). Lecture Notes in Computer Science, Vol. 5653. Springer-Verlag, Berlin, 570--594. DOI:http://dx.doi.org/10.1007/978-3-642-03013-0_26 Google ScholarDigital Library
- Johan Fabry, Éric Tanter, and Theo D'Hondt. 2008. KALA: Kernel aspect language for advanced transactions. Sci. Comput. Prog. 71, 3 (May 2008), 165--180. Google ScholarDigital Library
- J. Fabry, E. Tanter, and T. D'Hondt. 2009. Infrastructure for domain-specific aspect languages: The ReLAx case study. IET Software 3, 3 (June 2009), 238--254. DOI:http://dx.doi.org/10.1049/iet-sen.2007.0120Google ScholarCross Ref
- Marc Fleury and Francisco Reverbel. 2003. The JBoss extensible server. In Middleware 2003, Markus Endler and Douglas Schmidt (Eds.). Lecture Notes in Computer Science, Vol. 2672. Springer-Verlag, Berlin, 344--373. DOI:http://dx.doi.org/10.1007/3-540-44892-6_18 Google ScholarDigital Library
- Martin Fowler. 2010. Domain-Specific Languages. Addison-Wesley Professional, Boston, MA. Google ScholarDigital Library
- Pascal Fradet and Mario Südholt. 1999. An aspect language for robust programming. In Proceedings of the International Workshop on Aspect-Oriented Programming at ECOOP'99. Google ScholarDigital Library
- Debasish Ghosh. 2010. DSLs in Action. Manning, Shelter Island, NY. Google ScholarDigital Library
- Elisa Gonzalez Boix, Thomas Cleenewerk, Jessie Dedecker, and Wolfgang De Meuter. 2008. Towards a domain-specific aspect language for leasing in mobile ad hoc networks. In Proceedings of the 2008 AOSD Workshop on Domain-Specific Aspect Languages (DSAL'08). ACM, New York, NY, Article 6, 5 pages. DOI:http://dx.doi.org/10.1145/1404927.1404933 Google ScholarDigital Library
- Jan Hannemann and Gregor Kiczales. 2002. Design pattern implementation in Java and AspectJ. SIGPLAN Not. 37, 11 (Nov. 2002), 161--173. DOI:http://dx.doi.org/10.1145/583854.582436 Google ScholarDigital Library
- William Harrison, Harold Ossher, and Peri Tarr. 2002. Asymmetrically vs. Symmetrically Organized Paradigms for Software Composition. Technical Report RC22685. IBM Research Division.Google Scholar
- M. Haupt, C. Gibbs, B. Adams, S. Timbermont, Y. Coady, and R. Hirschfeld. 2009. Disentangling virtual machine architecture. IET Software, 3, 3 (June 2009), 201--218. DOI:http://dx.doi.org/ 10.1049/iet-sen.2007.0121Google ScholarCross Ref
- Wilke Havinga, Lodewijk Bergmans, and Mehmet Aksit. 2008. Prototyping and composing aspect languages. In ECOOP 2008—Object-Oriented Programming, Jan Vitek (Ed.), Lecture Notes in Computer Science, Vol. 5142. Springer-Verlag, Berlin, 180--206. DOI:http://dx.doi.org/10.1007/978-3-540-70592-5_9 Google ScholarDigital Library
- Jan Heering and Marjan Mernik. 2007. Domain-Specific Languages in Perspective. Technical Report SEN-E0702. CWI, Amsterdam, The Netherlands. Retrieved from from http://oai.cwi.nl/oai/asset/12319/ 12319D.pdf.Google Scholar
- Erik Hilsdale and Jim Hugunin. 2004. Advice weaving in AspectJ. In Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD'04). ACM, New York, NY, 26--35. DOI:http://dx.doi.org/10.1145/976270.976276 Google ScholarDigital Library
- Robert Hirschfeld. 2003. AspectS—Aspect-oriented programming with squeak. In Objects, Components, Architectures, Services, and Applications for a Networked World, Mehmet Aksit, Mira Mezini, and Rainer Unland (Eds.). Lecture Notes in Computer Science, Vol. 2591. Springer-Verlag, Berlin, 216--232. DOI:http://dx.doi.org/10.1007/3-540-36557-5_17 Google ScholarDigital Library
- Christian Hofer, Klaus Ostermann, Tillmann Rendel, and Adriaan Moors. 2008. Polymorphic embedding of DSLs. In Proceedings of the 7th International Conference on Generative Programming and Component Engineering (GPCE'08). ACM Press, New York, NY, 137--148. Google ScholarDigital Library
- Keiji Hokamura, Naoyasu Ubayashi, Shin Nakajima, and Akihito Iwai. 2008. Aspect-oriented programming for web controller layer. Asia-Pacific Software Engineering Conference 0 (2008), 529--536. DOI:http://dx.doi.org/10.1109/APSEC.2008.69 Google ScholarDigital Library
- Adrian Holzer, Lukasz Ziarek, K.R. Jayaram, and Patrick Eugster. 2011. Putting events in context: Aspects for event-based distributed programming. In Proceedings of the 10th International Conference on Aspect-Oriented Software Development (AOSD'11). ACM Press, New York, NY, 241--252. DOI:http://dx.doi.org/10.1145/1960275.1960304 Google ScholarDigital Library
- Michihiro Horie and Shigeru Chiba. 2010. Tool support for crosscutting concerns of API documentation. In Proceedings of the 9th International Conference on Aspect-Oriented Software Development (AOSD'10). ACM Press, New York, NY, 97--108. DOI:http://dx.doi.org/10.1145/1739230.1739242 Google ScholarDigital Library
- Paul Hudak. 1996. Building domain-specific embedded languages. Comput. Surveys 28, 4es (Dec. 1996). Google ScholarDigital Library
- John Irwin, Jean-Marc Loingtier, JohnR. Gilbert, Gregor Kiczales, John Lamping, Anurag Mendhekar, and Tatiana Shpeisman. 1997. Aspect-oriented programming of sparse matrix code. In Scientific Computing in Object-Oriented Parallel Environments, Yutaka Ishikawa, Rodney R. Oldehoeft, John V. W. Reynders, and Marydell Tholburn (Eds.). Lecture Notes in Computer Science, Vol. 1343. Springer-Verlag, Berlin, Heidelberg, 249--256. DOI:http://dx.doi.org/10.1007/3-540-63827-X_68 Google ScholarDigital Library
- Karl Trygve Kalleberg and Eelco Visser. 2006. Combining aspect-oriented and strategic programming. Electronic Notes Theor. Comput. Sci. 147, 1 (January 2006), 5--30. DOI:http://dx.doi.org/10.1016/j.entcs. 2005.06.035 Google ScholarDigital Library
- G. Kiczales, J. Des Rivieres, and D.G. Bobrow. 1991. The Art of the Metaobject Protocol. The MIT Press, Cambridge, USA. Google ScholarDigital Library
- Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and WilliamG. Griswold. 2001. An overview of AspectJ. In ECOOP 2001—Object-Oriented Programming, Jørgen Lindskov Knudsen (Ed.). Lecture Notes in Computer Science, Vol. 2072. Springer-Verlag, Berlin, 327--354. DOI:http://dx.doi.org/10.1007/3-540-45337-7_18 Google ScholarDigital Library
- Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. 1997. Aspect-oriented programming. In ECOOP'97—Object-Oriented Programming, Mehmet Aksit and Satoshi Matsuoka (Eds.). Lecture Notes in Computer Science, Vol. 1241. Springer-Verlag, Berlin, 220--242. DOI:http://dx.doi.org/10.1007/BFb0053381Google Scholar
- Paul Klint, Tijs Storm, and Jurgen Vinju. 2005. Term rewriting meets aspect-oriented programming. In Processes, Terms and Cycles: Steps on the Road to Infinity, Aart Middeldorp, Vincent Oostrom, Femke Raamsdonk, and Roel Vrijer (Eds.). Lecture Notes in Computer Science, Vol. 3838. Springer-Verlag, Berlin, 88--105. DOI:http://dx.doi.org/10.1007/11601548_8 Google ScholarDigital Library
- Sergei Kojarski and David H. Lorenz. 2004. AOP as a first class reflective mechanism. In OOPSLA Companion (OOPSLA'04), John M. Vlissides and Douglas C. Schmidt (Eds.). ACM, New York, NY, 216--217. DOI:http://dx.doi.org/10.1145/1028664.1028757 Google ScholarDigital Library
- Sergei Kojarski and David H. Lorenz. 2005. Pluggable AOP: Designing aspect mechanisms for third-party composition. In Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'05). ACM, New York, NY, 247--263. DOI:http://dx.doi.org/10.1145/1094811.1094831 Google ScholarDigital Library
- Sergei Kojarski and David H. Lorenz. 2007. Awesome: An aspect co-weaving system for composing multiple aspect-oriented extensions. In Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications (OOPSLA'07). ACM, New York, NY, 515--534. DOI:http://dx.doi.org/10.1145/1297027.1297065 Google ScholarDigital Library
- Dierk König, Aandrew Glover, Paul King, Guillaume Laforge, and Jon Skeet. 2007. Groovy in Action. Manning, Shelter Island, NY. Google ScholarDigital Library
- T. Kosar, M. López, E. Pablo, P.A. Barrientos, and M. Mernik. 2008. A preliminary study on various implementation approaches of domain-specific language. Inf. Softw. Technol. 50, 5 (April 2008), 390--405. Google ScholarDigital Library
- Toma Kosar, Marjan Mernik, and Jeffrey C. Carver. 2012. Program comprehension of domain-specific and general-purpose languages: Comparison using a family of experiments. Empirical Softw. Eng. 17, 3 (2012), 276--304. DOI:http://dx.doi.org/10.1007/s10664-011-9172-x Google ScholarDigital Library
- Tomaž Kosar, Marjan Mernik, João Maria Pereira, Varanda, Matej Črepinšek, Daniela Da Cruz, and Rangel Pedro Henriques. 2010. Comparing general-purpose and domain-specific languages: An empirical study. Comput. Sci. Inf. Syst. 7, 2 (2010), 247--264.Google ScholarCross Ref
- Cristina Videira Lopes and Trung Chi Ngo. 2004. The Aspect Markup Language and Its Support of Aspect Plugins. ISR Technical Report UCI-ISR-04-8. University of California, Irvine.Google Scholar
- Cristina Videira Lopes. 1997. D: A Language Framework for Distributed Programming. Ph.D. dissertation. College of Computer Science of Northeastern University, Boston, MA.Google Scholar
- David Lorenz and Sergei Kojarski. 2007. Understanding aspect interactions, co-advising and foreign advising. In Proceedings of the Second International Workshop on Aspects, Dependencies and Interactions at ECOOP07, Frans Sanen, Ruzanna Chitchyan, Lodewijk Bergmans, Johan Fabry, and Mario Südholt (Eds.). Technical Report CW 497. Katholieke Universiteit Leuven, Leuven, 23--28.Google Scholar
- David H. Lorenz. 2012. Language-oriented modularity through awesome DSALs: Summary of invited talk. In Proceedings of the Seventh Workshop on Domain-Specific Aspect Languages (DSAL'12). ACM, New York, NY, 1--2. DOI:http://dx.doi.org/10.1145/2162037.2162039 Google ScholarDigital Library
- David H. Lorenz and Oren Mishali. 2012. SPECTACKLE: Toward a specification-based DSAL composition process. In Proceedings of the Seventh Workshop on Domain-Specific Aspect Languages (DSAL'12). ACM, New York, NY, 9--14. DOI:http://dx.doi.org/10.1145/2162037.2162042 Google ScholarDigital Library
- Lukáš Marek, Alex Villazón, Yudi Zheng, Danilo Ansaloni, Walter Binder, and Zhengwei Qi. 2012. DiSL: A domain-specific language for bytecode instrumentation. In Proceedings of the 11th Annual International Conference on Aspect-Oriented Software Development (AOSD'12). ACM, New York, NY, 239--250. DOI:http://dx.doi.org/10.1145/2162049.2162077 Google ScholarDigital Library
- Antoine Marot and Roel Wuyts. 2008. A DSL to declare aspect execution order. In Proceedings of the 2008 AOSD Workshop on Domain-Specific Aspect Languages (DSAL'08). ACM, New York, NY, Article 7, 5 pages. DOI:http://dx.doi.org/10.1145/1404927.1404934 Google ScholarDigital Library
- Hidehiko Masuhara, Yusuke Endoh, and Akinori Yonezawa. 2006. A fine-grained join point model for more reusable aspects. In Programming Languages and Systems, Naoki Kobayashi (Ed.). Lecture Notes in Computer Science, Vol. 4279. Springer-Verlag, Berlin, 131--147. DOI:http://dx.doi.org/10.1007/ 11924661_8 Google ScholarDigital Library
- Hidehiko Masuhara, Gregor Kiczales, and Chris Dutchyn. 2003. A compilation and optimization model for aspect-oriented programs. In Compiler Construction. CC'03, Grel Hedin (Ed.). Lecture Notes in Computer Science, Vol. 2622. Springer-Verlag, Berlin, Heidelberg, 46--60. DOI:http://dx.doi.org/10.1007/ 3-540-36579-6_4 Google ScholarDigital Library
- Anurag Mendhekar, Gregor Kiczales, and John Lamping. 1997. RG: A Case-Study for Aspect-Oriented Programming. Technical Report SPL97-009. XEROX PARC.Google Scholar
- Marjan Mernik (Ed.). 2013. Formal and Practical Aspects of Domain-Specific Languages: Recent Developments. IGI Global, Hershey, PA.Google Scholar
- Marjan Mernik, Jan Heering, and Anthony M. Sloane. 2005. When and how to develop domain-specific languages. Comput. Surveys 37, 4 (Dec. 2005), 316--344. DOI:http://dx.doi.org/10.1145/1118890.1118892 Google ScholarDigital Library
- Marjan Mernik, Mitja Lenič, Enis Avdičaušević, and Viljem Žumer. 2002. LISA: An interactive environment for programming language development. In Compiler Construction (CC'02), R. Nigel Horspool (Ed.). Lecture Notes in Computer Science, Vol. 2304. Springer-Verlag, Berlin, 1--4. DOI:http://dx.doi.org/10.1007/3-540-45937-5_1 Google ScholarDigital Library
- Clint Morgan, Kris De Volder, and Eric Wohlstadter. 2007. A static aspect language for checking design rules. In Proceedings of the 6th International Conference on Aspect-Oriented Software Development (AOSD'07). ACM, New York, NY, 63--72. DOI:http://dx.doi.org/10.1145/1218563.1218571 Google ScholarDigital Library
- J. Munnelly and S. Clarke. 2008. A domain-specific language for ubiquitous healthcare. In Third International Conference on Pervasive Computing and Applications, 2008 (ICPCA'08), Vol. 2, 757--762. DOI:http://dx.doi.org/10.1109/ICPCA.2008.4783710Google ScholarCross Ref
- J. Noble, A. Schmidmeier, D. J. Pearce, and A. P. Black. 2007. Patterns of aspect-oriented design. In Proceedings of European Conference on Pattern Languages of Program (EuroPLoP'07), Lise B. Hvatum and Till Schümmer (Eds.). UVK--Universitaetsverlag Konstanz, Irsee, Germany.Google Scholar
- Amjad Nusayr and Jonathan Cook. 2009. AOP for the domain of runtime monitoring: Breaking out of the code-based model. In Proceedings of the 4th Workshop on Domain-Specific Aspect Languages (DSAL'09). ACM, New York, NY, 7--10. DOI:http://dx.doi.org/10.1145/1509307.1509310 Google ScholarDigital Library
- Nathaniel Nystrom, Michael R. Clarkson, and Andrew C. Myers. 2003. Polyglot: An extensible compiler framework for java. In Compiler Construction (CC'03), Görel Hedin (Ed.). Lecture Notes in Computer Science, Vol. 2622. Springer-Verlag, Berlin, 138--152. DOI:http://dx.doi.org/10.1007/3-540-36579-6_11 Google ScholarDigital Library
- Harold Ossher and Peri Tarr. 2002. Multi-dimensional separation of concerns and the hyperspace approach. In Software Architectures and Component Technology, Mehmet Aksit (Ed.). The Springer International Series in Engineering and Computer Science, Vol. 648. Springer, New York, NY, 293--323. DOI:http://dx.doi.org/10.1007/978-1-4615-0883-0_10Google Scholar
- David L. Parnas. 1972. On the criteria for decomposing systems into modules. Commun. ACM 15, 12 (Dec. 1972), 1053--1058. Google ScholarDigital Library
- T. J. Parr and R. W. Quong. 1995. ANTLR: A predicated-LL(k) parser generator. Software: Practice and Experience 25, 7 (July 1995), 789--810. DOI:http://dx.doi.org/10.1002/spe.4380250705 Google ScholarDigital Library
- D. Rebernak, M. Mernik, H. Wu, and J. Gray. 2009. Domain-specific aspect languages for modularising crosscutting concerns in grammars. IET Software 3, 3 (June 2009), 184--200. DOI:http://dx.doi.org/ 10.1049/iet-sen.2007.0114Google ScholarCross Ref
- Lukas Renggli, Tudor Gîrba, and Oscar Nierstrasz. 2010. Embedding languages without breaking tools. In ECOOP 2010 Object-Oriented Programming, Theo D'Hondt (Ed.). Lecture Notes in Computer Science, Vol. 6183. Springer-Verlag, Berlin, 380--404. DOI:http://dx.doi.org/10.1007/978-3-642-14107-2_19 Google ScholarDigital Library
- Walter A. Rolling. 1994. A preliminary annotated bibliography on domain engineering. SIGSOFT Softw. Eng. Notes 19, 3 (July 1994), 82--84. DOI:http://dx.doi.org/10.1145/182824.182844 Google ScholarDigital Library
- J. L. Sobral, M. P. Monteiro, and C. A. Cunha. 2006. Aspect-oriented support for modular parallel computing. In Proceedings of the 5th AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software. 37--41.Google Scholar
- João L. Sobral and Miguel P. Monteiro. 2008. A domain-specific language for parallel and grid computing. In Proceedings of the 2008 AOSD Workshop on Domain-Specific Aspect Languages (DSAL'08). ACM Press, New York, NY, Article 2, 4 pages. DOI:http://dx.doi.org/10.1145/1404927.1404929 Google ScholarDigital Library
- Paul Soule. 2010. Autonomics Development: A Domain-Specific Aspect Language Approach. Springer Basel, Basel. DOI:http://dx.doi.org/10.1007/978-3-0346-0540-3_3 Google ScholarDigital Library
- Paul Soule, Tom Carnduff, and Stuart Lewis. 2007. A distribution definition language for the automated distribution of Java objects. In Proceedings of the 2nd Workshop on Domain Specific Aspect Languages (DSAL'07). ACM Press, New York, NY. DOI:http://dx.doi.org/10.1145/1255400.1255402 Google ScholarDigital Library
- William Sousan, Victor Winter, Mansour Zand, and Harvey Siy. 2007. ERTSAL: A prototype of a domain-specific aspect language for analysis of embedded real-time systems. In Proceedings of the 2nd Workshop on Domain Specific Aspect Languages (DSAL'07). ACM, New York, NY, Article 1. DOI:http://dx.doi.org/10.1145/1255400.1255401 Google ScholarDigital Library
- Johan J Sung and Karl Lieberherr. 2002. DAJ: A Case Study of Extending AspectJ. Technical Report NU-CCS-02-16. Northeastern University.Google Scholar
- Éric Tanter. 2004. From Metaobject Protocols to Versatile Kernels for Aspect-Oriented Programming. Ph.D. dissertation. University of Nantes and University of Chile, Nantes, France and Santiago, Chile.Google Scholar
- Éric Tanter. 2006. Aspects of composition in the Reflex AOP kernel. In Proceedings of the 5th International Symposium on Software Composition (SC 2006), Welf Löwe and Mario Südholt (Eds.). Lecture Notes in Computer Science, Vol. 4089. Springer-Verlag, Berlin, 98--113. Google ScholarDigital Library
- Éric Tanter and Johan Fabry. 2009. Supporting composition of structural aspects in an AOP kernel. J. Univ. Comput. Sci. 15, 3 (2009), 620--647. DOI:http://dx.doi.org/10.3217/jucs-015-03-0620Google Scholar
- Éric Tanter and Jacques Noyé. 2005. A versatile kernel for multi-language AOP. In Proceedings of the 4th ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE'05), Robert Glück and Mike Lowry (Eds.). Lecture Notes in Computer Science, Vol. 3676. Springer-Verlag, Berlin, 173--188. Google ScholarDigital Library
- Éric Tanter, Jacques Noyé, Denis Caromel, and Pierre Cointe. 2003. Partial behavioral reflection: Spatial and temporal selection of reification. In Proceedings of the 18th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'03), Ron Crocker and Guy L. Steele, Jr. (Eds.). ACM, New York, NY, 27--46. Google ScholarDigital Library
- Peri Tarr, Harold Ossher, William Harrison, and Stanley M. Sutton, Jr. 1999. N degrees of separation: Multi-dimensional separation of concerns. In Proceedings of the 21st International Conference on Software Engineering (ICSE'99). ACM, New York, NY, 107--119. Google ScholarDigital Library
- Stijn Timbermont, Bram Adams, and Michael Haupt. 2008. Towards a DSAL for object layout in virtual machines. In Proceedings of the 2008 AOSD Workshop on Domain-Specific Aspect Languages (DSAL'08). ACM, New York, NY, Article 5, 4 pages. DOI:http://dx.doi.org/10.1145/1404927.1404932 Google ScholarDigital Library
- Rodolfo Toledo and Éric Tanter. 2008. A lightweight and extensible AspectJ implementation. J. Univ. Comput. Sci. 14, 21 (2008), 3517--3533.Google Scholar
- Laurence Tratt. 2008. Domain specific language implementation via compile-time meta-programming. ACM Trans. Program. Lang. Syst. 30, 6 (Oct. 2008), 31:1--31:40. DOI:http://dx.doi.org/10.1145/ 1391956.1391958 Google ScholarDigital Library
- Naoyasu Ubayashi, Hidehiko Masuhara, and Tetsuo Tamai. 2004. An AOP implementation framework for extending join point models. In Proceedings of the ECOOP Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE04), Walter Cazzola, Shigeru Chiba, and Gunter Saake (Eds.). Oslo, Norway.Google Scholar
- M. G. J. van den Brand, A. van Deursen, J. Heering, H. A. de Jong, M. de Jonge, T. Kuipers, P. Klint, L. Moonen, P. A. Olivier, J. Scheerder, J. J. Vinju, E. Visser, and J. Visser. 2001. The ASF+SDF meta-environment: A component-based language development environment. In Compiler Construction (CC'01), Reinhard Wilhelm (Ed.). Lecture Notes in Computer Science, Vol. 2027. Springer-Verlag, Berlin, 365--370. DOI:http://dx.doi.org/10.1007/3-540-45306-7_26 Google ScholarDigital Library
- Arie van Deursen and Paul Klint. 1998. Little languages: Little maintenance? J. Softw. Maint.: Res. Pract. 10, 2 (1998), 75--92. Google ScholarDigital Library
- Arie van Deursen, Paul Klint, and Joost Visser. 2000. Domain-specific languages: An annotated bibliography. SIGPLAN Not. 35, 6 (June 2000), 26--36. DOI:http://dx.doi.org/10.1145/352029.352035 Google ScholarDigital Library
- Eelco Visser. 2004. Program transformation with Stratego/XT: Rules, strategies, tools, and systems in StrategoXT-0.9. In Domain-Specific Program Generation, Lecture Notes in Computer Science, Vol. 3016. Springer-Verlag, Berlin, 216--238.Google Scholar
- C. Walls and R. Breidenbach. 2005. Spring in Action. Manning, Shelter Island, NY. Google ScholarDigital Library
- D. Wampler. 2008. Aquarium: AOP in Ruby. In Proceedings of the 7th International Conference on Aspect-Oriented Software Development—Industry Track (AOSD'07). 60--67.Google Scholar
- Mitchell Wand, Gregor Kiczales, and Christopher Dutchyn. 2004. A semantics for advice and dynamic join points in aspect-oriented programming. ACM Trans. Prog. Lang. Syst. 26, 5 (Sept. 2004), 890--910. Google ScholarDigital Library
- J. White and D. C. Schmidt. 2009. Automating deployment planning with an aspect weaver. IET Software, 3, 3 (June 2009), 167--183. DOI:http://dx.doi.org/10.1049/iet-sen.2007.0123Google ScholarCross Ref
Index Terms
- A Taxonomy of Domain-Specific Aspect Languages
Recommendations
Untangling crosscutting concerns in domain-specific languages with domain-specific join points
DSAL '09: Proceedings of the 4th workshop on Domain-specific aspect languagesLike programs written in general-purpose languages, programs written in DSLs may also suffer from tangling and scattering in the presence of domain-specific crosscutting concerns. This paper presents an architecture that supports aspect-oriented ...
Modularizing invasive aspect languages
DSAL '08: Proceedings of the 2008 AOSD workshop on Domain-specific aspect languagesIn domain-specific aspect languages we observe that aspects are translated to base code and subsequently require a complex integration into base code while guaranteeing the correctness of the aspect and the base code in the woven code. We call this ...
First-class domain specific aspect languages
MODULARITY Companion 2015: Companion Proceedings of the 14th International Conference on ModularityProgramming in a domain specific aspect language (DSAL) typically involves some language workbench for transforming the DSAL code and some AOP composition framework for weaving the transformed code. However, DSAL development remains second-class in two ...
Comments