Full Text Available
Note: Clicking the button above will open the full text document at the original institutional repository in a new window.
Dissertation (MSc (Computer Science))--University of Pretoria, 2007.
| Other Authors: | |
|---|---|
| Format: | Thesis |
| Published: |
University of Pretoria
2013
|
| Subjects: | |
| Tags: |
No Tags, Be the first to tag this record!
|
| _version_ | 1867613551330328576 |
|---|---|
| access_status_str | Open Access |
| author2 | Kourie, Derrick G. |
| author_browse | Kourie, Derrick G. |
| author_facet | Kourie, Derrick G. |
| collection | Thesis |
| dc_rights_str_mv | © University of Pretor |
| description | Dissertation (MSc (Computer Science))--University of Pretoria, 2007. |
| format | Thesis |
| id | oai:repository.up.ac.za:2263/28850 |
| institution | University of Pretoria (South Africa) |
| last_indexed | 2026-06-10T12:37:56.779Z |
| license_str | Other — see source repository |
| provenance_str_mv | Harvested via OAI-PMH from UPSpace — University of Pretoria Institutional Repository |
| publishDate | 2013 |
| publishDateRange | 2013 |
| publishDateSort | 2013 |
| publisher | University of Pretoria |
| publisherStr | University of Pretoria |
| record_format | dspace |
| source_str | UPSpace — University of Pretoria Institutional Repository |
| spelling | oai:repository.up.ac.za:2263/28850 A virtual machine framework for domain-specific languages Kourie, Derrick G. Watson, Bruce William dfick@ewation.co.za Fick, David Domain expert Language prototyping Instruction set architecture Environment Generic framework Syntax Comparative performance Semantics Virtual machine Domain-specific language UCTD Dissertation (MSc (Computer Science))--University of Pretoria, 2007. Experts in a field regularly apply a defined set of rules or procedures to carry out a problem-solving task or analysis on a given problem. Often the problem can be represented as a computer model, be it mathematical, chemical, or physics based, and so on. It would certainly be advantageous for a domain expert who is not proficient in software development to express solutions to problems in a domain-specific notation that can be executed as a program. Many new ideas aim to make software development easier and shift the development role closer to the end-user. One such means of development is the use of a small, intuitive programming language called a Domain-Specific Language (DSL.) This dissertation examines a generic approach to constructing a Virtual Machine (VM) to provide the runtime semantics for a particular DSL. It proposes a generic, object-oriented framework, called a VM Framework, in which to build a VM by subtyping abstract instruction and environment classes that are part of the VM Framework. The subtyped classes constitute an environment and an interface called an instruction set architecture and the instructions can access and operate on the environment in a deterministic way to provide the runtime semantics of a DSL program. Both instruction classes and environment classes encapsulate functionality of an existing domain, represented programmatically as a namespace construct. The namespace is home to related classes that provide the various concepts inherent of a domain. These are concepts understood by a domain expert and in this dissertation it is shown how they are exposed as DSL constructs. With the use of compiler writing tools, a compiler can be created for a DSL that generates an appropriate instruction sequence that can be executed by the VM. The grammar of the DSL is shown to feature constructs that allow a domain expert to express concepts of the underlying domain in an intuitive manner. The dissertation details how a VM is configured for a specific set of instructions and an environment. Instruction sets and environments can be extended creating VMs with additional semantics for DSLs that are similar, or contain subsets of semantics of other DSLs. The languages are intended to be intuitive and it is shown using examples how a specific DSL program is mapped to an instruction sequence with the instruction set architecture and environment in mind. Comparative performance in relation to other DSL implementations, including a hard-coded approach of a VM and an interpreted approach are also provided. The VM Framework is proven to be most effective in rapidly prototyping a DSL for a particular problem domain. The dissertation also provides examples of DSLs such as a real-valued expression language and a scene description language that uses a ray-tracer for rendering geometric objects onto a canvas. It is shown how the scene description language is an extension to the real-valued expression language in terms of their underlying VMs. All DSL grammars are provided. Computer Science MSc unrestricted 2013-09-07T14:22:24Z 2007-11-08 2013-09-07T14:22:24Z 2007-04-25 2007-11-08 2007-10-19 Dissertation Fick, D 2007, A virtual machine framework for domain-specific languages, MSc Dissertation, University of Pretoria, Pretoria, viewed yymmdd <http://hdl.handle.net/2263/28850> Pretoria http://hdl.handle.net/2263/28850 http://upetd.up.ac.za/thesis/available/etd-10192007-163559/ © University of Pretor application/pdf University of Pretoria |
| spellingShingle | Domain expert Language prototyping Instruction set architecture Environment Generic framework Syntax Comparative performance Semantics Virtual machine Domain-specific language UCTD A virtual machine framework for domain-specific languages |
| title | A virtual machine framework for domain-specific languages |
| title_full | A virtual machine framework for domain-specific languages |
| title_fullStr | A virtual machine framework for domain-specific languages |
| title_full_unstemmed | A virtual machine framework for domain-specific languages |
| title_short | A virtual machine framework for domain-specific languages |
| title_sort | virtual machine framework for domain specific languages |
| topic | Domain expert Language prototyping Instruction set architecture Environment Generic framework Syntax Comparative performance Semantics Virtual machine Domain-specific language UCTD |
| url | http://hdl.handle.net/2263/28850 http://upetd.up.ac.za/thesis/available/etd-10192007-163559/ |