![]() ![]() BRAHMS
Reference Manual » General » Namespace
This documentation is offline - click here to go online
Index | Search: Go online to use Search
| ||
OverviewNotes
BRAHMS implements the SystemML Namespace as a collection of one or more physical roots, called Namespace Roots. When instantiating a System, BRAHMS will search for each Component under each root specified in
Namespace RootsEach Namespace root is treated as representing the root of the SystemML Namespace. You may maintain many physical roots (above), but their contents are overlaid on each other. For instance, the root installed with BRAHMS has a branch at Namespace RulesSee SystemML Namespace. Namespace NodesEach folder under the root is a Namespace node, which can either be a Component node or a Container node. This mirrors the filing system on your computer, which is no accident, with Components as files and Containers as folders. That is, Container nodes can contain further nodes of either type, whereas Component nodes are terminators - they represent a SystemML Component, which BRAHMS can interact with (load and execute, amongst other things). One difference is that Component nodes are, themselves, folders, because a Component in SystemML may have many files associated with it. Container NodesContainer nodes are implemented simply as folders, but they are important, because they imply the SystemML Class of the Component nodes they contain. For instance, if you have a Namespace root at Component NodesEach Component Node represents a single SystemML Component - for instance, the folder at Each Component node should have a node file in it, called XML File or Snippet
<?xml version="1.0" encoding="UTF-8"?>
<Node>
<Type>X</Type>
</Node>
where "X" can be "Process", "Data" or "Utility". Release FolderA release folder contains the implementation of a Component (it may include other items, such as the source code, documentation, or developer notes). It must contain at least two files for all Components. The first is the release file, XML File or Snippet
<?xml version="1.0" encoding="UTF-8"?>
<Release>
<Language>X</Language>
</Release>
where "X" can be "1199", "1258", "1262" or "1266". The second is the module file (the actual implementation of the Component). The name of this file by default should be "component", with an extension dependent on the language, as follows.
A third file, the header file, should be provided for Data and Utility objects, which specifies the interface that the Component offers to other Components. This file must be called Changing the file nameYou may want to call your implementation file something different, for instance if you are fed up with all the files open in your source code editor being called the same thing, "component". Make an entry in XML File or Snippet
<?xml version="1.0" encoding="UTF-8"?>
<Release>
<Language>1262</Language>
<Filename>basal_ganglia</Filename>
</Release>
Summary of Namespace LayoutA BRAHMS-implemented Namespace has the following rules governing its layout. Explore the installed root to see these rules in action.
|
||
This is a documentation page for the BRAHMS Modular Execution (Simulation) Framework. For details of licensing and distribution, please click here. To advise of an error or omission, please click here. |