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
|