LISA

Language

Component

Architecture

Architectural Patterns

Notation

Implementation

References

Examples

FAQ

The Author


Component

A Component contains one or more Language implementations. An implementation is the only thing that can completely define a Language. In LISA, a Component represent the physical incarnation of a Language.


Component X implements Language X.

Component Dependencies

A Component uses other Languages for the implementation of its interface Language. The Component depends on these Languages.


Component X depends on Language Y.

When it is clear which Language each Component implements, the Languages can be ommitted in the diagram. This notation is also a more precise description of which Components actually supply the Language implementations for other Components in the system at hand.


Component X depends on Component Y.

It is normal that a Component implements a single Language, but it exists Components that implement several Languages, for example Parsers.

Component Reuse

The primary reuse pattern in LISA is that of Languages. A second possibility is the reuse of components. A component consists of a Language implementation, and it is this implementation that is reused in a different context.

For example, a data dictionary definition can both be used to the generation of a database schema and to configure the data access API. The component is reused in two different contexts.

Another example is the sythesizer patches for the Nord Modular synthesizer. When they are loaded into the patch editor, they configure the graphical user interface to enable manipulation of the patch. When loaded into the syhthesizer, they configure the sound engine to produce a unique sound.

Related Topics
Application
Architecture
Domain Language
LISA
Language
Notation
Parser
User Interface

Copyright (C) 2003, Marcus Andersson