Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.advisorDuncan, Ishbel Mary Macdonald
dc.contributor.authorde Muijnck-Hughes, Jan
dc.coverage.spatialxiv, 265 p.en_US
dc.date.accessioned2016-06-13T13:28:42Z
dc.date.available2016-06-13T13:28:42Z
dc.date.issued2016-06-22
dc.identifieruk.bl.ethos.687028
dc.identifier.urihttps://hdl.handle.net/10023/8968
dc.description.abstractGoal-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.en_US
dc.language.isoenen_US
dc.publisherUniversity of St Andrews
dc.rightsAttribution-ShareAlike 4.0 International*
dc.rights.urihttp://creativecommons.org/licenses/by-sa/4.0/*
dc.subjectIdrisen_US
dc.subjectEmbedded domain specific languagesen_US
dc.subjectDomain specific languagesen_US
dc.subjectGoal oriented modelling languagesen_US
dc.subjectDomain specific goal oriented languagesen_US
dc.subjectDependent typesen_US
dc.subjectGoal requirements languageen_US
dc.subjectRequirements modellingen_US
dc.subjectDomain modellingen_US
dc.subjectDesign patternsen_US
dc.subject.lccQA76.76P37D4
dc.subject.lcshSoftware patternsen_US
dc.subject.lcshModeling languages (Computer science)en_US
dc.subject.lcshDomain-specific programming languagesen_US
dc.subject.lcshType theoryen_US
dc.titleMachine checkable design patterns using dependent types and domain specific goal-oriented modelling languagesen_US
dc.typeThesisen_US
dc.type.qualificationlevelDoctoralen_US
dc.type.qualificationnamePhD Doctor of Philosophyen_US
dc.publisher.institutionThe University of St Andrewsen_US


The following licence files are associated with this item:

    This item appears in the following Collection(s)

    Show simple item record

    Attribution-ShareAlike 4.0 International
    Except where otherwise noted within the work, this item's licence for re-use is described as Attribution-ShareAlike 4.0 International