Machine checkable design patterns using dependent types and domain specific goal-oriented modelling languages
MetadataShow full item record
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
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.
Showing items related by title, author, creator and subject.
The Silesian language in the early 21st century : A speech community on the rollercoaster of politics Kamusella, Tomasz Dominik (2013) - Journal articleLanguages are made and unmade, as nations are. The vagaries of history and politics that create the fluctuating framework in which human groups exist, influence these groups’ thinking about their own speech. Over the course ...
A social-psychological study of foreign learners' attitudes and behaviours towards model varieties of English speech Carrie, Erin (2014-12-01) - ThesisThis thesis attempts to bridge the gap between Social Psychology and Sociolinguistics by exploring the relationship between language attitudes and language use. Using a sample of 71 university students in Spain, it ...
Nederhof, Mark Jan; Satta, Giorgio (2008-05-01) - Journal articleSeveral mathematical distances between probabilistic languages have been investigated in the literature, motivated by applications in language modeling, computational biology, syntactic pattern matching and machine learning. ...