LISA

Language

Component

Architecture

Architectural Patterns

Notation

Implementation

References

Examples

FAQ

The Author


LISA - A Domain Language for Software Architecture

LISA is a Language that is used to describe Software Architectures. LISA is complete, meaning that it can describe any existing or future Software Architecture.

LISA is based on a set of principles that let the architect create reusable and flexible systems. The architectural description is also a very good foundation for system documentation.

LISA lets the architect describe the Architecture, reason about the Architecture and communicate the Architecture.

LISA is not executable in the sense that a system is written in LISA. Instead, the system is written in a number of Languages suitable for the particular purpouse. The whole system can then be described by LISA.

A system always has an Architecture. The important question to ask is, do you know what it looks like?

The vocabulary defined in LISA is written with capital letters throughout the text. The definitions can be looked up by following the links under Related Topics.

Language

LISA is based on the use of Languages. Languages play a central role in software engineering. Programming is entirely about the creation and implementation of Languages. This process is at work at all levels of computer programming and is there even if you are not consciously aware of it.

Domain Language

A central idea in LISA is the explicit implementation of the Domain Language. For every Application, there should be a Domain Language implementation that is reusable for new Applications in the same domain.

LISA is a Domain Language, and an implementation exists for it. This implementation should be used by any Application that manipulates or analyzes Architectures.

Analyzing Architectures

LISA is a Language that can be used to reason about Software Architectures. LISA is a powerful tool for evaluating reusability and flexibility in an existing system, as can be seen when the Architectural Patterns Client-Server and Model-View-Controller are analyzed with LISA.

What LISA is not

LISA is not a new method for software development. All the traditional development methods, like RUP, OOSE, XP and waterfall can be used together with LISA.

LISA is not a new Prgramming Language paradigm. It can be used together with functional, object oriented and procedural languages. One example shows how LISA is used to architect a web application written in PHP and HTML.

Related Topics
Application
Architectural Patterns
Architecture
Client-Server
Component
Domain Language
Examples
Implementation
Language
Model-View-Controller
Programming Language
References
Version

Copyright (C) 2003, Marcus Andersson