Design of Domain-Specific Software Systems with Parametric Code Templates

Domain-specific languages describe specific solutions to problems in the application domain. Traditionally they form a solution composing black-box abstractions together. This, usually, involves non-deep transformations over the target model. In this paper we argue that it is potentially powerful to operate with grey-box abstractions to build a domain-specific software system. We present parametric code templates as grey-box abstractions and conceptual tools to encapsulate and manipulate these templates. Manipulations introduce template-s merging routines and can be defined in a generic way. This involves reasoning mechanisms at the code templates level. We introduce the concept of Neurath Modelling Language (NML) that operates with parametric code templates and specifies a visualisation mapping mechanism for target models. Finally we provide an example of calculating a domain-specific software system with predefined NML elements.





References:
[1] D. J.M. Taylor and L.J. Mazlack, Domain-Specific Ontology Merging for
the Semantic Web, NAFIPS 2005 Annual Meeting of the North American
Fuzzy Information Processing Society, 2005.
[2] P. Pfahler and U. Kastens, Configuring Component-Based Specifications
for Domain-Specific Languages, Proceedings of the 34th Hawaii International
Conference on System Sciences, 2001.
[3] R. Esser and J. W. Janneck, "A framework for defining domain-specific
visual languages," In Workshop on Domain Specific Visual Languages,
in conjunction with ACM Conference on Object-Oriented Programming,
Systems, Languages and Applications OOPSLA-2001, 2001.
[4] Information Visualisation. Tutorial Notes, http://www.iicm.edu/-ivis/-
ivis.pdf, 1998.
[5] P. Irani, M. Tingley, and C. Ware, "Using Perceptual Syntax to Enhance
Semantic Content in Diagrams," IEEE Computer Graphics and
Applications, vol. Vol. 21, No. 5, pp. pp. 76-84, 2001.
[6] P. Honeywill, "A comparison between maya hieroglyphs and computer
icons," AI & Society archive, vol. Vol. 14, Issue 3-4, pp. pp.395-410,
2000, iSSN: 09515666.
[7] O. Neurath, "Visual education: A new language," Survey Graphic, vol.
Vol. 26, No. 1, 1937.
[8] D.D. Souza and A. C. Wills, Objects, Components and Frameworks:
The Catalysis Approach. Addison-Wesley, 1998.
[9] D. Alur, J.Crupi, and D.Malks, "Core J2EE Patterns, Best Practices
and Design Illusions," Proceedings of the Twentieth Information Systems
Research Seminar in Scandinavia, 1997.
[10] K. Wolke, ASLT Framework, LaborPP, University of Applied Sciences,
Emden (Germany) and STRL, De Montfort University Leicester (UK),
http://www.karsten-wolke.de/public/aslt/ASLT 1.1.rar, 2006.
[11] K. Wolke, Meta Information in ASLTs, LaborPP, University of
Applied Sciences, Emden (Germany) and STRL, De Montfort
University Leicester (UK), http://www.karsten-wolke.de/public/aslt-
/ASLTMetaData.pdf, 2006.
[12] M. Solanki, A Compositional Framework for the Specification, Verification
and Runtime Validation of Reactive Web Services (PhD Thesis),
Software Technology Research Laboratory, De Montfort University,
2005.
[13] N. F. Noy and D. L. McGuinness, Ontology Development 101: A Guide
to Creating Your First Ontology, Stanford Knowledge Systems Laboratory
Technical Report KSL-01-05 and Stanford Medical Informatics
Technical Report SMI-2001-0880, 2001.
[14] E. Gamma, R. Helm, and E. Johnson, Ralph, Design Patterns: Elements
of Reusable Object-Oriented Software. Addison-Wesley.Professional
Computing Series, 1994, iSBN: 0201633612.