Using a domain-specific language and custom tools to model a multi-tier service-oriented application - Experiences and challenges

9Citations
Citations of this article
18Readers
Mendeley users who have this article in their library.
Get full text

Abstract

A commercial Customer Relationship Management application of approx. 1.5 MLOC of C++ code is being reimplemented, in stages, as a service-oriented, multi-tier application in C# on Microsoft NET. We have chosen to use a domain-specific language both to model the external service-oriented interfaces, and to manage the transition to the internal, object-oriented implementation. Generic UML constructs such as class diagrams do not capture enough semantics to model these concepts. By defining a UML Profile that incorporates the concepts we wish to model, we have in effect created a Domain-Specific Language for our application. The models are edited using Rational XDE, but we have substituted our own code generator. This generator is a relatively generic text-substitution engine, which takes a template text and performs substitutions based on the model. The generator uses reflection to convert the UML and Profile concepts into substitution tags, which are in turn used in the template text. In this way, we can translate the semantics of the model into executable code, WSDL or other formats in a flexible way. We have successfully used this approach on a prototype scale, and are now transitioning to full-scale development. © Springer-Verlag Berlin Heidelberg 2005.

Cite

CITATION STYLE

APA

Vokáč, M., & Glattetre, J. M. (2005). Using a domain-specific language and custom tools to model a multi-tier service-oriented application - Experiences and challenges. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 3713 LNCS, pp. 492–506). Springer Verlag. https://doi.org/10.1007/11557432_37

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free