Next: Low level API to manipulate tree nodes, Previous: Rationale of the core library, Up: The Ocarina Core Library
The Ocarina core is made of three main parts: the manipulation of the tree nodes, the manipulation of AADL models and the manipulation of AADL architecture instances.
The manipulation of the tree nodes consists of the structures of the tree, and functions to manipulate them at a low level. The corresponding files are located in src/core/tree.
The functions of lowest level are located in the package
Ocarina.Nodes
. They allow for the direct manipulation of tree,
without checking any semantics. Some sort of assembly language to
manipulate nodes.
Some higher-level access functions are provided in packages such as
Ocarina.Entities
. Those functions provide higher level access to
entity information such as getting their name, etc. without dealing
with the actual structure of the nodes. They can be considered as low
level functions. However, these functions should always be preferred to
lowest level ones as they manipulates entities. These functions will
be described in the next section;
Functions are provided to manipulate trees of AADL models. They allow to build, check and interrogate model trees. The files are located in src/core/model.
High level functions are provided to manipulate AADL models. They are meant to hide the actual structure of the Ocarina tree and only manipulate AADL notions (components, connections, etc.) Several packages are located in src/core/model and provide facilities to build, verify and interrogate AADL models.
Other functions are provided to manipulate trees of AADL instances. Like for AADL models, it is possible to build, check and interrogate trees. However, instance trees cannot be directly built: they are computed from model trees, thus instantiating AADL models. The files are located in src/core/instance.