GGrantIndex
← Search

SHF:Small: Techniques for Pruning Problem and Solution Spaces to Enable Methodical Exploration of Software Development Alternatives

$500,000FY2016CSENSF

University Of Southern California, Los Angeles CA

Investigators

Abstract

Software engineers make thousands of design decisions during development. That process remains manual and error-prone, while new research advances tend to be partial and disconnected from one another. A key reason is that prevailing approaches treat uniformly software systems across application domains (e.g., games, banking, avionics). The variations among different kinds of software systems have led some researchers to narrow their focus to specific domains. Domain-specific approaches work well, but only within the confines of a domain. This project is developing simple, but powerful techniques that enable software engineers to extend the benefits of domain-specificity across diverse domains, and that guide and support engineers in modeling and analyzing complex problems. The project furthers the advances to-date in model-driven engineering (MDE). MDE has two known shortcomings: (1) existing techniques generate software modeling support for an application domain, but not analysis and simulation tools; (2) implementation generation is restricted to specific domains, languages, and toolsets. This is coupled with two additional shortcomings: (3) modeling editors generated by MDE toolsets provide no support for design space exploration; (4) optimal system deployment depends on parameters that form a massive space of options. This project targets the above four shortcomings. It defines an MDE platform with extensible semantics and automatically synthesizes model interpreters for software system design, analysis, simulation, and generation. The biggest envisioned impact of this project is in its potential to change how software engineers approach development. In particular, the burden of making a possibly overwhelming number of non-critical, but also non-obvious, decisions is shifted to tools, allowing engineers to focus on things that matter. This presents an opportunity to change the way software engineers are trained, from the predominant one-size-fits-all curricula of today to the more appropriate domain-driven specializations.

View original record on NSF Award Search →