Home

 

Getting Started with Elisa

Using EDS

Demo's

Tutorials

 

Language Description

1. Lexical Elements
2. Basic Data Types and Expressions
3. Definitions
4. Streams
5. Backtracking
6. Statements and Special Expressions
7. Arrays
8. Lists
9. Descriptors
10. Components
11. Collections
12. Generic Components
13. Terms
14. Categories
15. Types 

16. Built-in Definitions
17. Higher-order Definitions

18. External Interfaces

Index

Data Structures

1. Sequences
2. Examples involving Lists
3. Trees
4. Graphs
5. Searching State Spaces
6. Language Processing
7. Knowledge Representations          

 

Metaprogramming

1. Introduction
2. What are Domain Definitions?

3.  Sorts of Domain Definitions

4.  Manipulations of Domain Definitions

5.  Translating Domain Definitions

6.  Dialogue Sessions

7.  Example of Concentric Circles

8.  Example of Domain Substitution applied to Concentric Circles

9.  Example of an Order Processing Application

10.Example of an Airport Information System

11.Example of a Rental Boat Business

12.Benefits of Domain Definitions

   

Back Home Up Next


2.  What are Domain Definitions?

We will define a domain as the representation of a concept in the computer. Concepts are abstract notions of things in the real world or in a problem area. Because we want to model concepts in such a way that a computer can understand them, we need a method to represent those concepts in a program. For that purpose we will use domain definitions.

     Before domain definitions can be defined, first the key concepts in the problem domain should be identified. To illustrate the steps one has to make in domain orientation we will develop a set of domain definitions for families. We know from daily experience that a family may consist of a father, a mother, and possibly a number of children. So, the key concepts of our family are: father, mother, and children.

     After the key concepts have been identified the corresponding domain definition can be specified. In our example, this is very simple:

Family = Father + Mother + Children;

 This is an example of one of the different forms a domain definition may take. In this domain definition, the domain of Family is defined by using three other domains that should also be defined:

Father = Person;

Mother = Person;

Children = collection ( Person ) ;

These domain definitions are based on a common domain, called Person. In daily life, persons are characterized by name, address, birth date, and so on.  However, to keep our example simple we will define:

  Person = text;

It says that a Person domain is characterized by a piece of text. Finally we need to define the domain of text by:

text = predefined;

This defines text as a predefined domain. Predefined domains cannot further be redefined. They are known to the system. The result of this exercise is a set of related domain definitions describing a family:

Family = Father + Mother + Children;

Father = Person;

Mother = Person;

Children = collection ( Person ) ;

Person = text;

text = predefined;

  This set of domain definitions is sufficient to generate a skeleton source program, as will be demonstrated later on.  

Back Home Up Next

  Part 6: Metaprogramming   What are Domain Definitions?

            
Introduction

Home | Highlights of Elisa | Integrating Different Paradigms | Getting Started with Elisa | Demo's  | What is Domain Orientation | Bibliography | Copyright | News | Contact | Contents

Language Description:

Lexical Elements | Basic Data Types and Expressions | Definitions | Streams | Backtracking | Statements and Special Expressions | Arrays | Lists | Descriptors | Components | Collections | Generic Components | Terms | Categories | Types | Built-in Definitions | Higher-order Definitions | External Interfaces | Index 

Data Structures: Sequences | Examples involving Lists | Trees | Graphs | Searching State Spaces | Language Processing | Knowledge Representations
Domain Modeling:

Domain Modeling | Concepts | Domain Definitions | Domain Operations | Domain Implementations | Systems | Case study: an Order processing system | Case study: an Airport Support system | Domain Orientation versus Object Orientation

Design Patterns:

Introduction | Abstract Factory | Builder | Factory Method | Prototype | Singleton | Adapter | Bridge | Composite | Decorator | Facade | Flyweight | Proxy | Chain of Responsibility | Command | Interpreter | Iterator | Mediator | Memento | Observer | State | Strategy | Template Method | Visitor 

 

click tracking

This page was last modified on 19-05-2015 11:50:47   

free hit counter