University of Minnesota
Software Engineering Center

You are here

Flexibility in Modeling Languages and Tools: A Call to Arms

Date of Publication: 
June 2009
Publication Files: 
In model-based development, the software development effort is centered around a formal description of the proposed software system; a description that can be subjected to various types of analysis and code generation. Based on years of experience with model-based development and formal modeling we believe that the following conjectures describe fundamental obstacles to wide adoption of formal modeling and the potential for automation that comes with it; (1) no single modeling notation will suit all, or even most, modeling needs, (2) no analysis tool will fit all, or even most, analysis tasks, and (3) flexible and stable tools must be made available for realistic evaluations and technology transfer. These conjectures form the basis for the call to arms outlined in this report. To make automated software engineering techniques more useful for more types of developers and allow us to move forward as a community it is crucial that we develop the foundation for building extensible and flexible modeling language processing tools. New common-infrastructure-based approaches are needed as traditional approaches based on file-based processing of intermediate language representations are not adequate. In this report we outline and illustrate the problem and discuss a possible solution. To initiate the discussions in the community, we hypothesize that languages and tools built using higher-order attribute grammars with forwarding can serve as a basis for such flexible language processing tools; tools that will allow us to unify our efforts and help bring our collective work to a broader audience.
International Journal on Software Tools for Technology Transfer: Volume 11, Issue 3 (2009), Page 203-215
@article{vanwykheimdah09sttt, author = "Van Wyk, Eric and Heimdahl, Mats", title = "Flexibility in Modeling Languages and Tools: A Call to Arms", journal = "Software Tools for Technology Transfer", volume = 11, number = 3, year = 2009, pages = "203--215" }