Model Assisted Software Development - a MDE-Based Software Development Methodology
Craveiro, Marco Paulo De Figueiredo
Model Driven Engineering (MDE) is a flexible approach for the creation and evolution of software systems, centred around models and their transformations. MDE provides a fundamental substrate upon which practitioners can create sophisticated solutions, invariably characterised by a high degree of automation, but tailored specifically to their problem domain. Adoption literature reports of widespread MDE use across industry and academia but also underscores its status as a niche technology. Meanwhile, the challenges it is purported to overcome continue to loom large over software engineering. The present work identifies factors underlying the deficit in MDE adoption, both theoretical and practical, and determines the extent to which a new MDE-based Software Development Methodology (SDM) can be used to address them. It does so by putting forward Model Assisted Software Development (MASD), a novel SDM that aids in the design and implementation of software systems. MASD trades the flexibility and power of MDE for a reduction in complexity, and consequently has a restricted but better defined range of applications. MASD’s problem space is a subset of the solution space itself: it provides well-defined abstractions over elements of the domain of software engineering and a conceptual framework for their manipulation. MASD targets software developers with little to no knowledge of MDE, and aims to act as a bridge between traditional software engineering and model-driven approaches. This dissertation describes the motivation for MASD, the core elements that make up the methodology and how they interact, and, finally, its application. It includes empirical evidence of its adoption by means of case studies, and provides a detailed description of its reference implementation, itself created using MASD.
MetadataShow full item record
The following license files are associated with this item: