Using a Domain-Specific Language and Custom Tools to Model a Multi-tier Service-Oriented Application — Experiences and Challenges

  • Marek Vokáč
  • Jens M. Glattetre
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3713)


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.


Service Interface Object Management Group Custom Tool Data Dictionary Executable Code 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Object Management Group: Model Driven Arhictecture Home Page (2004),
  2. 2.
    Czarnecki, K., Helsen, S.: Classification of Model Transofrmation Approaches. In: 2nd OOPSLA 2003 Workshop on Generative Techniques in the Context of MDA, Anaheim, USA (2003)Google Scholar
  3. 3.
    Czarnecki, K.: Overview of Generative Software Development (2005),
  4. 4.
  5. 5.
    Telelogic: Telelogic Tau (2005),
  6. 6.
    Borland Inc: Together (2005),
  7. 7.
  8. 8.
    Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories. Wiley, Indianapolis, USA (2004) ISBN: 0-471-20284-3 Google Scholar
  9. 9.
    Microsoft Inc: Microsoft Grows Partner Ecosystem Around Visual Studio 2005 Team System (2004),
  10. 10.
    Deursen, A.v.: Using a Domain-Specific Language for Financial Engineering. ERCIM News (1999) Google Scholar
  11. 11.
  12. 12.
    Ho, D.: Notepad ++, Version 2.8 (2004),
  13. 13.
    Judson, S.R., France, R.B., Carver, D.L.: Specifying Model Transformations At the Metamodel Level. In: UML 2003 - Workshop in Software Model Engineering, San Francisco, USA (2003)Google Scholar
  14. 14.
    Pires, L.A.F., Sinderen, M.v., Farias, C.A.R.G.d., Almeida, J.A.P.A.: Use of Models and Modelling Techniques for Service Development. In: 3rd IFIP International Conference on E-Commerce, E-Business and EGovernment (I3E 2003), Guarajã, Brazil, pp. 441–456. Kluwer, Dordrecht (2003)Google Scholar
  15. 15.
    Solberg, A., Oldevik, J., Aagedal, J.Ø.: A framework for qoS-aware model transformation, using a pattern-based approach. In: Meersman, R., Tari, Z. (eds.) OTM 2004. LNCS, vol. 3291, pp. 1190–1207. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
    W3C: Web Services Activity (2004),

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Marek Vokáč
    • 1
  • Jens M. Glattetre
    • 2
  1. 1.Simula Research LaboratoryLysakerNorway
  2. 2.SuperOffice ASA / ICT NorwayOsloNorway

Personalised recommendations