Abstract:
This thesis is a collection of my original scholarly works published in peer reviewed journals
and conferences. The collection of articles investigate the intersection of the fields of Domain-Specific Visual
Languages (DSVLs) and Model-driven Engineering (MDE). These combined allow software engineers –
and in limited circumstances end users of software systems – to specify complex software system models at
high levels of abstraction (using DSVLs), and then use these models to generate parts (or even all) of the
modelled target software system code, configurations, user interfaces, data formats, test cases, and/or other
implementation-level details (using MDE).
The first set of articles discuss the development of a range of novel DSVL and MDE supporting tools. The
second set of articles show how these can be used to support software engineers to conduct requirements
engineering and define software architectures for complex software systems. The third set of articles discuss
support for software engineers in designing, implementing and testing software systems using DSVLs and
MDE. The fourth set of articles present DSVL and MDE-based approaches to supporting software process
management. The fifth set of articles present a variety of “human-centric” and collaborative approaches to
supporting these tasks in DSVL-based tools. The sixth set of articles describe support for DSVL and MDE-based tools targted to “end users”, allowing these non-technical end users to define and generate their own
software solutions. I conclude with a recent article describing future directions for the field.