Document Type


Date of Degree

Spring 2013

Degree Name

PhD (Doctor of Philosophy)

Degree In

Computer Science

First Advisor

Rus, Teodor

First Committee Member

Cremer, James

Second Committee Member

Davison, Alice

Third Committee Member

Eichmann, David

Fourth Committee Member

Hourcade, Juan P.

Fifth Committee Member

Oden, Gregg


Computers are around us and integrated deeply in almost every aspect of human life.

Computers are used to solve more and more types of problems in human lives. Software tools are designed to ease the process of integrating computers into our problem solving process.

To use computers to solve a problem with current software technology a computer user can either buy a software designed specifically for that problem or she needs to learn a general computer programming language to write computer programs to solve the problem. Even though, with computer software the user can solve that specific problem; it is still challenging to truly use that software as a tool to integrate the computer within the problem solving process. On the other hand, learning a computer language is not an easy task for most domain experts such as chemists, biologists, etc. The level of skills required for a domain expert to be able to translate a domain concept to a computer language concept is also high.

As an alternative, we want to create tools that enable problem solvers to express problem solving solutions in terms characteristic to their own domain and carry out problem solving processes in those terms. This thesis provides a contribution to the domain oriented software development and describes an implementation of this approach as a prototype system called DALSystem. In this approach, a problem domain is first formalized using a domain ontology, then the domain expert expresses her solution algorithm using the terms of that ontology. The expression of her solution algorithm is then translated to the intermediate language of a domain dedicated virtual machine (DDVM) and is evaluated by an interpreter using the domain ontology. The solution algorithm can later be imported into the domain ontology thus expanding the problem domain with new concepts (action and data) in a process called Domain Ontology Evolution (DOE).

With this methodology, the DALSystem can execute algorithms whose expressions are conceptual, similar to the way the human brain would execute them. We illustrate this methodology using DALSystem in the domain of arithmetic.


xii, 144 pages


Includes bibliographical references (pages 138-144).


Copyright 2013 Cuong Kien Bui