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


12.  Benefits of Domain Definitions?

The question we have to answer is: What are the benefits of using domain definitions? Here are some answers:

  •      Domain definitions can be applied to system modeling as well as to implementations.

  •      In both cases domain definitions can be used to describe the key concepts of the problem area.

  •      Domain definitions are high-level means of communications, not only for the developers but also for system analysts, system designers, users, and customers.

  •      Using domain definitions requires focusing on the key concepts of the problem to be solved. They facilitate a top-down approach.

  •       Domain definitions have a number of interesting properties: Domain definitions are concise. They are easy to understand and to derive. They are declarative in nature. Imperative programming steps are excluded. The order of domain definitions is irrelevant. The syntax is minimal. There is only one rule: every domain name used on the right side of a definition should also be defined on the left side.

  •      The translation of domain definitions to the skeleton output is fast and error free, assuming that domain definitions are consistent and complete. Both aspects are checked by the metaprocessor.

  •     Discovering the relevant domain definitions begins with the decomposition of top-level domain definitions. It has a number of advantages. It starts top down with high-level problem oriented concepts, decomposing them into smaller definitions until the predefined domains are found. The decomposition process requires often choices that have their impact in the implementation phase.

  •      Alternative designs can easily be expressed by changing some domain definitions.

  •       Domain definitions can be used to make run-time data visible.  The information provided by the domain definitions together with information collected by the compiler and the run-time system enables the system to output meaningful data structures related to the domain definitions. These facilities provide high-level debugging and verification support and are of great help in the testing and maintenance phases. 

Back Home Up Next

 

  Part 6: Metaprogramming   Benefits of 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 15:10:17   

free hit counter