Machine checkable design patterns using dependent types and domain specific goal-oriented modelling languages
MetadataShow full item record
Altmetrics Handle Statistics
Goal-Oriented Modelling Languages such as the Goal Requirements Language (GRL) have been used to reason about Design Patterns. However, the GRL is a general purpose modelling language that does not support concepts bespoke to the pattern domain. This thesis has investigated how advanced programming language techniques, namely Dependent Types and Domain Specific Languages, can be used to enhance the design and construction of Domain Specific Modelling languages (DSMLs), and apply the results to Design Pattern Engineering. This thesis presents Sif, a DSML for reasoning about design patterns as goal-oriented requirements problems. Sif presents modellers with a modelling language tailored to the pattern domain but leverages the GRL for realisation of the modelling constructs. Dependent types have influenced the design and implementation of Sif to provide correctness guarantees, and have led to the development of NovoGRL a novel extension of the GRL. A technique for DSML implementation called Types as (Meta) Modellers was developed in which the interpretation between a DSML and its host language is implemented directly within the type-system of the DSML. This provides correctness guarantees of DSML model instances during model construction. Models can only be constructed if and only if the DSML’s type-system can build a valid representation of the model in the host language. This thesis also investigated design pattern evaluation, developing PREMES an evaluation framework that uses tailorable testing techniques to provide demonstrable reporting on pattern quality. Linking PREMES with Sif are: Freyja - an active pattern document schema in which Sif models are embedded within pattern documents; and Frigg - a tool for interacting with pattern documents. The proof-of-concept tools in this thesis demonstrate: machine enhanced interactions with design patterns; reproducible automation in the PREMES framework; and machine checking of pattern documents as Sif models. With the tooling and techniques presented, design pattern engineering can become a more rigorous, demonstrable, and machine checkable process.
Thesis, PhD Doctor of Philosophy
Attribution-ShareAlike 4.0 Internationalhttp://creativecommons.org/licenses/by-sa/4.0/
Except where otherwise noted within the work, this item's license for re-use is described as Attribution-ShareAlike 4.0 International
Showing items related by title, author, creator and subject.
Kamusella, Tomasz (Narodowa Oficyna Śląska, 2016) - Book
Kamusella, Tomasz Dominik (2018-12-18) - Journal articleAll the world’s ‘big’ languages of international communication (for instance, English, French or Spanish) are pluricentric in their character, meaning that official varieties of these languages are standardized differently ...
Domain-specialised and domain-general neurocognitive substrates in language and music domains : contributions from ERP correlates of expectancy violations Moodie, Joanna Elizabeth (University of St Andrews, 2021-07-02) - Thesis