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.
|