Abstract
This paper provides a new method of developing domain-specific languages(DSLs). A DSL is composed of concepts, including common language concepts and domain concepts. From the functionality point of view, concepts can be divided into two kinds: element concepts and complement concepts. Element concepts capture the basic functions of a DSL, and complement concepts define some auxiliary functions for a DSL. Because extended attribute grammar and evolving algebra are used to specify the semantics of element concepts, the descriptions are formal, yet easily understood. Transformation rules are used to specify the semantics of complement concepts. In order to improve the reusability, element and complement concepts are defined at a high abstract level, and they are defined as some independent components. The definition of a new DSL follows two steps: defining element and complement concepts separately; instantiating concepts and assembling them. Based on the above idea, a DSLs development language (DD) is defined.
This paper was supported by the National Natural Science Foundation of China under Grant. No. 69983001.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
A. van Deursen, P. Klint, and J. Visser: Domain-Specific Languages-An Annotated Bibliography. (2000) ACM SIGPLAN Notices.
Zhang Naixiao, Liu Ying: A Component-based Framework and Reusability in Garment. Proceedings of the Asia-Pacific Software Engineering Conference APSEC. (2001) 411–418. Published in 2001 by the IEEE Computer Society.
Maja D’Hondt and Theo D’Hondt: Is Domain Knowledge an Aspect? Position papers of the AOP workshop at ECOOP’99. http://trese.cs.utwente.nl/aop-ecoop99
Christopher Strachey: Fundamental Concepts in Programming Languages. Higher-order and Symbolic Computation, 13 (2000):11–49.
Zhang Naixiao, Zheng Hongjun, Qiu Zongyan: Garment-A Mechanism for Abstraction and Encapsulation of Languages. ACM SIGPLAN Notices, Vol. 32, No. 6, (1997):53–60.
Philipp W. Kutter, Alfonso Pierantonio: Montages Specifications of Realistic Programming Languages. Journal of Universal Computer Science, Vol. 3 No. 5 (1997), 416–442.
Y. Gurevich: May 1997 Draft of the ASM Guide. Department Technical Report CSE-TR-336-97, University of Michigan, (1997).
Y. Gurevich: Evovling Algebras 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods, Oxford University Press, (1995):9–36.
Stephan Diehl: Transformation of Evolving Algebras. Proceedings of the VIII Conference on Logic and Computer Science LIRA’97. VoviSad,Yugoslavi, September 1–4,(1997):51–57.
Jukka Paakki: Attribute grammar paradigms-a high-level mathodology in language implementation. ACM Computing Surveys. Vol. 27, No. 2, (1995) 196–255.
Koskimies, K.: Object-orientation in attribute grammars. In attribute grammars, Applications and System. Lecture Notes in Computer Science, vol. 545 (1991). Springer-Verlag, New York, 297–329.
Dueck, G.D.P. and Cormack, G. V.: Modular attribute grammars. Comput. J. 33,2, (1990) 164–172.
Farrow, R.: Attribute grammars and data-flow languages. In Proceedings of the ACM SIGPLAN’83 Symposium on Programming Language Issues in Software Systems. ACM SIGPLAN Notice.18.6, (1983)28–40.
John R. Levine, Tony Mason, Doug Brown: Lex & Yacc 2nd/updated edition (October 1992) O’Reilly & Associates ISBN: 1565920007.
Gerhard Goos, Andreas Heberle, Welf Löwe, and Wolf Zimmerman: On Modular Definitions and Implementations of Programming Languages. In Y. Gurevich, P. Kutter, M. Odersky, and L. Thiele, eds., “Abstract State Machines-ASM 2000”, International Workshop on Abstract State Machines, Monte Verita, Switzerland, Local Proceedings, TIK-Report 87, Swiss Federal Institute of Technology (ETH) Zurich, March (2000):174–208.
Robert Milne: From Language Concepts to Implemantation Concepts. Hihger-Order and Symbolic Computations, 13 (2000):77–81.
Ralf Lämmel: Declarative aspect-oriented programming. Proceedings PEPM’99, 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation PEPM’99 (1999), San Antonio (Texas), BRICS Notes Series NS-99-1.
The Eli Home Page: http://www.cs.colorado.edu/eliuser/ExplainEli.html.
Peter Pfahler, Uwe Kastens: Language Design and Implementation by Selection. Proc. 1st ACM-SIGPLAN Workshop on Domain-Specific-Languages, DSL’ 97, Paris, France, January 18, 1997.
M.G.J. van denBrand, 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: “The ASF+SDF Meta-Environment. a Component-Based Language Development Environment,” in Compiler Construction 2001 (CC’01), (R. Wilhelm, ed.), pp. 365–370, 2001.
Randy M. Kaplan: Constructing Language Processors for Little Languages. John Wiley &Sons, Inc, 1994.
XML document: http://www.w3.org/TR/2000/REC-xml-20001006.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Liu, Y., Zhang, N. (2002). On Concept-Based Definition of Domain-Specific Languages. In: George, C., Miao, H. (eds) Formal Methods and Software Engineering. ICFEM 2002. Lecture Notes in Computer Science, vol 2495. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36103-0_27
Download citation
DOI: https://doi.org/10.1007/3-540-36103-0_27
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00029-7
Online ISBN: 978-3-540-36103-9
eBook Packages: Springer Book Archive