Domain-specific aspect languages for modularising crosscutting concerns in grammars
Domain-specific aspect languages for modularising crosscutting concerns in grammars
- Author(s): D. Rebernak ; M. Mernik ; H. Wu ; J. Gray
- DOI: 10.1049/iet-sen.2007.0114
For access to this article, please select a purchase option:
Buy article PDF
Buy Knowledge Pack
IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.
Thank you
Your recommendation has been sent to your librarian.
- Author(s): D. Rebernak 1 ; M. Mernik 1 ; H. Wu 2 ; J. Gray 2
-
-
View affiliations
-
Affiliations:
1: Faculty of Electrical Engineering and Computer Science, University of Maribor, Maribor, Slovenia
2: Department of Computer and Information Sciences, University of Alabama at Birmingham, Birmingham, USA
-
Affiliations:
1: Faculty of Electrical Engineering and Computer Science, University of Maribor, Maribor, Slovenia
- Source:
Volume 3, Issue 3,
June 2009,
p.
184 – 200
DOI: 10.1049/iet-sen.2007.0114 , Print ISSN 1751-8806, Online ISSN 1751-8814
The emergence of crosscutting concerns can be observed in various representations of software artefacts (e.g. source code, models, requirements and language grammars). Although much of the focus of aspect-oriented programming has been on aspect languages that augment the descriptive power of general-purpose programming languages, there is also a need for domain-specific aspect languages that address particular crosscutting concerns found in software representations other than traditional source code. This study discusses the issues involved in the design and implementation of domain-specific aspect languages that are focused within the domain of language specification. Specifically, the study outlines the challenges and issues faced while designing two separate aspect languages that assist in modularising crosscutting concerns in grammars.
Inspec keywords: object-oriented languages; grammars; object-oriented programming; specification languages
Other keywords:
Subjects: Object-oriented programming; Formal methods; High level languages
References
-
-
1)
- M. Mernik , M. Lenič , E. Avdičaušević , V. Žumer . A reusable object-oriented approach to formal specifications of programming languages. L'Objet , 3 , 273 - 306
-
2)
- Shonle, M., Lieberherr, K., Shah, A.: `XAspects: an extensible system for domain-specific aspect languages', Companion 18th Ann. ACM SIGPLAN Conf. Object-oriented Programming, Systems, Languages, and Applications (OOPSLA), 2003, p. 28–37.
-
3)
- Klint, P., Van der Storm, T., Vinju, J.J.: `Term rewriting meets aspect–oriented programming', Processes, Terms and Cycles: Steps on the Road to Infinity, Essays Dedicated to Jan Willem Klop, on the Occasion of His 60th Birthday, 2005, p. 88–105.
-
4)
- J. Paakki . Attribute grammar paradigms – a high-level methodology in language implementation. ACM Comput. Surv. , 2 , 196 - 255
-
5)
- M. Mernik , M. Lenič , E. Avdičaušević , V. Žumer . The template and multiple inheritance approach into attribute grammars. IEEE and ACM Int. Conf. Computer Languages , 102 - 110
-
6)
- Lämmel, R., Riedewald, G., Lohmann, W.: `Roles of program extension', Logic Programming Synthesis and Transformation (LOPSTR), 1999, p. 136–155, (LNCS, 1817).
-
7)
- Wu, H., Gray, J., Roychoudhury, S., Mernik, M.: `Weaving a debugging aspect into domain-specific language grammars', Proc. ACM Symp. Applied Computing (SAC), 2005, p. 1370–1374.
-
8)
- H. Wu , J. Gray , M. Mernik . Grammar-driven generation of domain-specific language debuggers. Softw. Pract. Exper. , 10 , 1073 - 1103
-
9)
- Rebernak, D., Mernik, M.: `A tool for compiler construction based on aspect-oriented specifications', 31stAnn. Int. Computer Software and Applications Conf. (COMPSAC), 2007, 2, p. 11–16.
-
10)
- G.D.P. Dueck , G.V. Cormack . Modular attribute grammars. Comp. J. , 2 , 164 - 172
-
11)
- Lämmel, R., Riedewald, G.: `Reconstruction of paradigm shifts', Second Workshop on Attribute Grammars and their Applications (WAGA), 1999, p. 37–56.
-
12)
- Ekman, T., Hedin, G.: `The JastAdd extensible Java compiler', 22ndACM SIGPLAN Conf. Object-Oriented Programming Systems and Applications (OOPSLA), 2007, p. 1–18.
-
13)
- Attali, I., Courbis, C., Degenne, P., Fau, A., Parigot, D., Pasquier, C.: `SmartTools: a generator of interactive environments tools', 10thInt. Conf. Compiler Construction, 2001, p. 355–360, (LNCS, 2027).
-
14)
- E. Van Wyk . Implementing aspect-oriented programming constructs as modular language extensions. Sci. Comput. Prog. , 38 - 61
-
15)
- Lämmel, R.: `Declarative aspect-oriented programming', ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, 1999, p. 131–146.
-
16)
- M. Mernik , J. Heering , A.M. Sloane . When and how to develop domain-specific languages. ACM Comput. Surv. , 4 , 316 - 344
-
17)
- D.A. Watt . (1990) Programming language concepts and paradigms.
-
18)
- C. Courbis , A. Finkelstein . (2005) Towards aspect weaving applications.
-
19)
- I. Baxter , C. Pidgeon , M. Mehlich . (2004) DMS: Program transformation for practical scalable software evolution, Proc. Int. Conf. Software Engineering (ICSE).
-
20)
- A.V. Aho , M.S. Lam , R. Sethi , J.D. Ullman . (2006) Compilers: principles, techniques, and tools.
-
21)
- P. Henriques , M.J. Varanda Pereira , M. Mernik , M. Lenič , J. Gray , H. Wu . Automatic generation of language-based tools using LISA. IEE Proc. Softw. Eng. , 2 , 54 - 69
-
22)
- Herzeel, C., Gybels, K., Costanza, P.: `A temporal logic language for context awareness in pointcuts', ECOOP Workshop on Revival of Dynamic Languages, 2006.
-
23)
- D.E. Knuth . Semantics of context-free languages. Math. Syst. Theory , 2 , 127 - 145
-
24)
- O. Spinczyk , D. Lohmann . The design and implementation of AspectC++. Knowl.–Based Syst. (Special Issue on Techniques to Produce Intelligent Secure Software) , 7 , 636 - 651
-
25)
- K-G. Doh , P.D. Mosses . Composing programming languages by combining action-semantics modules. Sci. Comput. Program. , 1 , 3 - 36
-
26)
- C. Lopes . (2004) Aspect-oriented programming: a historical perspective.
-
27)
- J. Fabry , E. Tanter , T. D'Hondt . KALA: Kernel aspect language for advanced transactions. Sci. Comput. Program. , 3 , 165 - 180
-
28)
- Tourwe, T., Kellens, A., Vanderperren, W., Vannieuwenhuyse, F.: `Inductively generated pointcuts to suppport refactoring to aspects', AOSD Workshop on Software Engineering Properties of Languages for Aspect Technologies (SPLAT), 2004.
-
29)
- D.A. Schmidt . On the need for a popular formal semantics. ACM SIGPLAN Not. , 1 , 115 - 116
-
30)
- J.F. Power , B.A. Malloy . A metrics suite for grammar-based software. J. Softw. Maint. , 6 , 405 - 426
-
31)
- U. Kastens , W.M. Waite . Modularity and reusability in attribute grammars. Acta Inf. , 601 - 627
-
32)
- Mernik, M., Wu, X., Bryant, B.: `Object-oriented language specifications: current status and future trends', ECOOP Workshop on Evolution and Reuse of Language Specifications for DSLs (ERLS), 2004.
-
33)
- Van Wyk, E., Krishnan, L., Schwerdfeger, A., Bodin, D.: `Attribute grammar-based language extensions for Java', European Conf. Object-Oriented Programming (ECOOP), 2007, p. 575–599, (LNCS, 4609).
-
34)
- J.T. Boyland . Remote attribute grammars. J. ACM , 4 , 627 - 687
-
35)
- G. Hedin , E. Magnusson . JastAdd: an aspect-oriented compiler construction system. Sci. Comput. Program. , 1 , 37 - 58
-
36)
- T. Reps , T. Teitelbaum . The synthesizer generator. ACM SIGPLAN Notices , 5 , 42 - 48
-
37)
- T. Parr . (2007) The definitive ANTLR reference: building domain-specific languages.
-
38)
- Voelter, M.: `A family of languages for architecture description', OOPSLA Workshop on Domain–Specific Modeling, 2008, p. 86–93.
-
39)
- N. Wirth . (1978) Algorithms+data structures=programs.
-
40)
- Liang, S., Hudak, P.: `Modular denotational semantics for compiler construction', Sixth European Symp. Programming Languages and Systems, 1996, p. 219–234, (LNCS, 1058).
-
41)
- Parr, T.: `Enforcing strict model-view separation in template engines', 13thInt. Conf. the World Wide Web, 2004, ACM Press, p. 224–233.
-
42)
- Mernik, M., Lenič, M., Avdičaušević, E., Žumer, V.: `LISA: an interactive environment for programming language development', Int. Conf. Compiler Construction (CC), 2002, p. 1–4, (LNCS, 2304).
-
43)
- K.T. Kalleberg , E. Visser . Combining aspect-oriented and strategic programming. Electron. Notes Theor. Comput. Sci. , 1 , 5 - 30
-
44)
- Van den Brand, M.G.J., Van Deursen, A., Heering, J.: `The A', Tenth Int. Conf. Compiler Construction, 2001, p. 365–370, (LNCS, 2027).
-
45)
- G. Kiczales , E. Hilsdale , J. Hugunin , M. Kersten , J. Palm , W.G. Griswold . Getting started with Aspect J.. Commun. ACM (Special Issue on Aspect-Oriented Programming) , 10 , 59 - 65
-
46)
- LISA: http://labraj.uni-mb.si/lisa, accessed March 2009.
-
47)
- Farrow, R., Marlowe, T.J., Yellin, D.M.: `Composable attribute grammars: Support for modularity in translator design and implementation', 19thAnn. ACM SIGPLAN/SIGACT Symp. Principles of Programming Languages (POPL), 1992, p. 223–234.
-
48)
- D. Rebernak , M. Mernik , P.R. Henriques , M.J. Varanda Pereira . AspectLISA: an aspect-oriented compiler construction system based on attribute grammars. Electron. Notes Theor. Comput. Sci. , 2 , 37 - 53
-
49)
- Cottenier, T., Elrad, T.: `Contextual pointcut expressions for dynamic service customization', Dynamic Aspects Workshop (DAW), 2005, p. 95–99.
-
50)
- Tanter, E., Gybels, K., Denker, M., Bergel, A.: `Context-aware aspects', Int. Symp. Software Composition, 2006, p. 227–249, (LNCS, 4089).
-
51)
- D. Batory , J.N. Sarvela , A. Rauschmayer . Scaling step-wise refinement. IEEE Trans. Softw. Eng. , 6 , 355 - 371
-
52)
- M. Mernik , M. Lenič , E. Avdičaušević , V. Žumer . Multiple attribute grammar inheritance. Informatica , 3 , 319 - 328
-
53)
- Suvee, D., Vanderperren, W., Jonckers, V.: `JAsCo: An aspect-oriented approach tailored for component based software development', Int. Conf. Aspect-oriented Software Development (AOSD), 2003, ACM Press, p. 21–29.
-
54)
- Hedin, G.: `An overview of door attribute grammars', Int. Conf. Compiler Construction, 1994, p. 31–51, (LNCS, 786).
-
1)