Domain Engineering for Software Tools

General purpose software engineering tools are expensive to develop and maintain, and often difficult to learn and use. Domain-specific tools tend to be small, focussed and easier to learn; however, domain-specific tooling tends to be technology specific and therefore introduces interoperability problems. This chapter provides a contribution to DSL tool development by describing a language-driven approach to domain engineering whereby a tool is modelled in terms of the syntax and semantics of the language it supports. This chapter uses UML to define a simple class modelling language and its tooling.

[1]  Anthony I. Wasserman,et al.  A graphical, extensible integrated environment for software development , 1987, SDE 2.

[2]  Kalle Lyytinen,et al.  MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment , 1996, CAiSE.

[3]  W. Clancey Understanding computers and cognition: A new foundation for design: T. Winograd and F. Flores, (Ablex, Norwood, NJ, 1986); 207 pages, $24.95 , 1987 .

[4]  Juan de Lara,et al.  Domain Specific Languages with Graphical and Textual Views , 2007, AGTIVE.

[5]  Andy Schürr,et al.  A Comparison of Standard Compliant Ways to Define Domain Specific Languages , 2008, MoDELS.

[6]  Michal Young,et al.  Sharing what we know about software engineering , 2010, FoSER '10.

[7]  Albert Alderson,et al.  Meta-CASE Technology , 1991, Software Development Environments and CASE Technology.

[8]  Diomidis Spinellis,et al.  Where's My Jetpack? , 2008, IEEE Software.

[9]  Christopher Strachey,et al.  A theory of programming language semantics , 1976 .

[10]  Philippe Kruchten,et al.  Rose/Architect: a tool to visualize architecture , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[11]  Yvon Kermarrec,et al.  Meta-tools for Software Language Engineering: A Flexible Collaborative Modeling Language for Efficient Telecommunications Service Design , 2010 .

[12]  Jorn Bettin,et al.  Editorial for the theme issue on model-based interoperability , 2010, Software & Systems Modeling.

[13]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[14]  Mario Piattini,et al.  A systematic review of software process tailoring , 2007, SOEN.

[15]  Gabor Karsai,et al.  Metamodelling - State of the Art and Research Challenges , 2007, Model-Based Engineering of Embedded Real-Time Systems.

[16]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[17]  Vincent Englebert,et al.  DB-MAIN: A Next Generation Meta-CASE , 1999, Inf. Syst..

[18]  Terry Winograd,et al.  Understanding computers and cognition - a new foundation for design , 1987 .

[19]  Jonathan A. Bauer,et al.  Test Plan Generation Using Formal Grammars , 1979, ICSE.

[20]  John C. Grundy,et al.  Marama: an eclipse meta-toolset for generating multi-view environments , 2008, ICSE '08.