Font Size: a A A

Building an extensible modeling language framework with enhanced attribute grammars

Posted on:2008-04-06Degree:Ph.DType:Dissertation
University:University of MinnesotaCandidate:Gao, JiminFull Text:PDF
GTID:1448390005463570Subject:Computer Science
Abstract/Summary:PDF Full Text Request
Domain-specific languages (DSLs) provide the expressive power not available in general-purpose programming languages through abstractions and notations specific to their intended domains. However, domain-specificity restricts the applicability and flexibility of a language, and it is extremely difficult to create a language with the "right" combination of domain-specific features and back-end translations that satisfies the needs of most, or even a considerable number of users. The field of model-based development of safety-critical software control systems poses an example of this dilemma---with diverse application domains and ever advancing analysis techniques it is impossible for users to reach a meaningful consensus of what modeling language is "right".; Here we propose an alternative approach: instead of trying to create the "right" language, we can build an extensible modeling language framework consisting of an evolving and expanding collection of modeling language features and back-end translations. This framework emphasizes extensibility, the characteristic that new language constructs and new translations can be added as separate extensions cost-effectively, and flexibility, the capability to compose these features to obtain desired languages with desired translations. In this dissertation we illustrate the design and implementation of a prototype for such a framework. This prototype is implemented using the higher-order attribute grammar language and tool Silver. The natural composability of attribute grammars, together with the special Silver features forwarding, aspects, collection attributes, and the module system enables the composable construction of extensions and translations.; In addition, a large part of this dissertation is devoted to extensions to Silver to make it more practical for such tasks. We focus on its general-purpose programming capability, and features such as pattern-matching, functions, and parametric polymorphism are defined and added to Silver. They are inspired by functional languages but designed to work seamlessly with the data, types, and operations of attribute grammars. These feature additions to Silver will help provide more complete programming supports for building the kind of extensible language frameworks described in this dissertation. Taken together, this research provides both a road map and practical language and tool support for building extensible frameworks for modeling and other domain-specific languages.
Keywords/Search Tags:Language, Modeling, Extensible, Framework, Building, Attribute
PDF Full Text Request
Related items