Automated analysis and code generation for domain-specific models
by George Edwards, Yuriy Brun, Nenad Medvidovic
Abstract:
Domain-specific languages (DSLs) concisely express the essential features of system designs. However, using a DSL for automated analysis and code generation requires developing specialized tools. We describe how to create model analysis and code generation tools that can be applied to a large family of DSLs, and show how we created the LIGHT platform, a suite of such tools for the family of software architecture-based DSLs. These tools can be easily reused off-the-shelf with new DSLs, freeing engineers from having to custom-develop them. The key innovation underlying our strategy is to enhance DSL metamodels with additional semantics, and then automatically synthesize configurations and plug-ins for flexible analysis and code generation frameworks. Our evaluation shows that, for a DSL of typical size, using our strategy relieves software engineers of developing approximately 17,500 lines of code, which amounts to several person-months of programming work.
Citation:
George Edwards, Yuriy Brun, and Nenad Medvidovic, Automated analysis and code generation for domain-specific models, in the joint 10th Working IEEE/IFIP Conference on Software Architecture and 6th European Conference on Software Architecture (WICSA/ECSA), 2012, pp. 161–170.
Related:
Extended and revised version of "Isomorphism in model tools and editors" in ASE 2011. A previous version appeared as University of Southern California, Center for Software Engineering technical report USC-CSSE-2010-517.
Bibtex:
@inproceedings{Edwards12wicsa,
  author = {George Edwards and Yuriy Brun and Nenad Medvidovic},
  title =
  {\href{http://people.cs.umass.edu/brun/pubs/pubs/Edwards12wicsa.pdf}{Automated
  analysis and code generation for domain-specific models}},
  booktitle = {the joint 10th Working IEEE/IFIP Conference on Software
  Architecture and 6th European Conference on Software Architecture
  (WICSA/ECSA)},
  venue = {WICSA},
  month = {September},
  year = {2012},
  date = {20--24},
  address = {Helsinki, Finland},
  accept = {$\frac{20}{96} \approx 21\%$},
  pages = {161--170},
  doi = {10.1109/WICSA-ECSA.212.24},

  abstract = {Domain-specific languages (DSLs) concisely express the essential
  features of system designs. However, using a DSL for automated analysis and
  code generation requires developing specialized tools. We describe how to
  create model analysis and code generation tools that can be applied to a
  large family of DSLs, and show how we created the LIGHT platform, a suite of
  such tools for the family of software architecture-based DSLs. These tools
  can be easily reused off-the-shelf with new DSLs, freeing engineers from
  having to custom-develop them. The key innovation underlying our strategy is
  to enhance DSL metamodels with additional semantics, and then automatically
  synthesize configurations and plug-ins for flexible analysis and code
  generation frameworks. Our evaluation shows that, for a DSL of typical size,
  using our strategy relieves software engineers of developing approximately
  17,500 lines of code, which amounts to several person-months of programming
  work.},

  note = {Extended and revised version of~\ref{Edwards11ase}. A previous
  version appeared as University of Southern California, Center for Software
  Engineering technical report USC-CSSE-2010-517.
  \href{https://doi.org/10.1109/WICSA-ECSA.212.24}{DOI:
  10.1109/WICSA-ECSA.212.24}},

  previous = {Extended and revised version of "Isomorphism in model tools and
  editors" in ASE 2011. A previous version appeared as University of Southern
  California, Center for Software Engineering technical report
  USC-CSSE-2010-517.},
}