Skip navigation
  • Home
  • Browse
    • Communities
      & Collections
    • Browse Items by:
    • Publication Date
    • Author
    • Title
    • Subject
    • Department
  • Sign on to:
    • My MacSphere
    • Receive email
      updates
    • Edit Profile


McMaster University Home Page
  1. MacSphere
  2. Open Access Dissertations and Theses Community
  3. Open Access Dissertations and Theses
Please use this identifier to cite or link to this item: http://hdl.handle.net/11375/29574
Title: Adding Types and Theory Kinds to Drasil
Authors: Balaci, Jason
Advisor: Carette, Jacques
Department: Computing and Software
Publication Date: 2022
Abstract: Drasil is a software suite for generating software, with a particular focus on generating Scientific Computing Software (SCS) following the requirements described in an abstract Software Requirements Specification (SRS) template. The template breaks up scientific knowledge into various categories, and the abstracted variant of the template makes it digestible for Drasil. A series of DSLs are used to "fill in" the template, from which Drasil is able to interpret an instance of, and configure a generation procedure to generate software. The template's theory encodings contain a shallow depth of knowledge, limiting how many ways we can interpret them. To begin strengthening this depth, we create a structure that concretely outlines Drasil's currently encoded theory kinds, allowing us to create more domain-specific interpretation opportunities for them. Similarly, each theory kind contains a particular subset of mathematical language that is relevant to them, and we act on this information to restrict usable expression terms to their related contexts. To further enrich the admissibility of expressions, we also make one of the most critical subsets, that for concrete theory transcription, type-safe by building a bidirectional type-checker and system of type rules. The type-checker shows considerable success highlighting previously undiscovered instances of ill-typed expressions in Drasil's case studies. Finally, as Drasil relies on a plethora of different types of knowledge, it needs a place to store them. Thus, we create a system to store any instance of any type of knowledge in Drasil's memory bank of knowledge by creating a universal type carrier.
URI: http://hdl.handle.net/11375/29574
Appears in Collections:Open Access Dissertations and Theses

Files in This Item:
File Description SizeFormat 
Balaci_Jason_2210_MSc.pdf
Open Access
1.41 MBAdobe PDFView/Open
Show full item record Statistics


Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.

Sherman Centre for Digital Scholarship     McMaster University Libraries
©2022 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8 | 905-525-9140 | Contact Us | Terms of Use & Privacy Policy | Feedback

Report Accessibility Issue