| |||
Home > Components > About components |
A component is the fundamental LISA+ construct that is used to describe components and systems.
Components can have subcomponents and form a hierarchy. The top level component of a system, meaning the component that does not have any parent component, is sometimes also referred to as a system. There is, however, nothing special about a system component or top level component and they are declared in the same way as any other component.
Systems that have external ports can be used as a component in a higher-level system. The term system is sometimes used to distinguish a collection of connected components that does not include any external ports.
Components definitions can contain the following sections:
resources (see Resources section)
includes (see Includes section)
composition (see Composition section)
behavior (see Behavior sections)
port (see Port declarations)
connection (see Connection section)
properties (see Properties section)
debug (see Debug section).
parameter export list (see Parameter Export List).
Except for the behavior and port sections, there cannot be more than one occurrence of each section type in a component.
Component names and keywords are case sensitive.
A component declaration uses the component
keyword
and can contain any of the sections listed in any order.
Example 2.1 shows an example of a component declaration:
Example 2.1. Component declaration
component MyComponent { includes { // ... } resources { // ... } internal port<MyProtocol> port0 { // ... } behavior init { // ... } }