LISA

Language

Component

Architecture

Architectural Patterns

Notation

Implementation

References

Examples

FAQ

The Author


The Process

The Process described here is a recommendation in which order the different parts of a system should be defined in. It is possible to use LISA with any reasonable process available.

Languages are the primary focus for a Software Architect. New Languages should be invented when needed and old Languages should be reused when suitable. Second comes the Components and their dependencies. On third place comes the definition of executables and libraries and their Deployment on computer nodes.

The process only describes one typical iteration cycle. It is possible to use it in an iterative and incremental development process.

The process describes the construction of an End User Program. Adaptations for more complex systems are possible.

Input to the Process is a requirements specification written by the user.

  1. Define the Architecture and the Language inheritance graph.
  2. Formulate the scope of the Domain Language.
  3. Define the Domain Language.
  4. Design the Domain Language Implementation
  5. Implement the Domain Language.
  6. Define the User Interface.
  7. Formulate the requirements for the Application.
  8. Define the Application.
  9. Design the Application Implementation.
  10. Implement the Application.
  11. Design the User Interface.
  12. Implement the User Interface.
  13. Update the Architecture and Language inheritance graph with new Baseline Languages identified during the design steps.

Iterative Breakdown

The three design steps in the Process have the important task to find suitable Baseline Languages that can help with the implementation. Baseline Languages can be already existing Languages or Languages that needs to be implemented in the project.

It is possible to get some help identifying Baseline Languages during the definition of a Language. Try to find clusters of vocabulary that adhere to the definition of a well defined Language. Remove any remaining dependencies by adding some additional vocabulary to the potential Baseline Language. Look for already existing Languages in the relevant area.

Artefacts

A number of artefacts are generated during the process.

Functional Specification contains Application and Domain Language descriptions and Application requirements.

Design Specification contains Component designs.

User Manual contains the User Interface definition.

Related Topics
Application
Architectural Patterns
Architecture
Baseline Language
Domain Language
Language
User Interface

Copyright (C) 2003, Marcus Andersson