MicoCCM Assembly Tool
The purpose of the Assembly Tool is to package assemblies. An assembly
is a collection of components and configuration information:
attributes can be assigned values, homes can be registered in the
Naming Service, receptacles can be connected to facets, etc.
There is a separate deployment tool that can read an assembly and
deploy it, by uploading implementations, instantiating components and
executing the configuration.
The main window has a tabbed notebook design, with three pages:
Usually, you begin by selecting packages that contain component
implementations. Then, on the Packages page, you can instantiate
("deploy") homes by right-clicking on them - deployed homes will then
appear on the Homes page. From each home, you can then create zero,
one or more component instantiations.
The Assembly Tool is pretty intuitive to operate, really. You should
get by with just experimenting with the user interface and the right
mouse button.
File Menu
- New
- Clears all packages, homes and components from the assembly.
- Setup
- Allows to set certain options; for the most part, these are
path names to external programs:
- Interface Repository
- The command line to start up the Interface
Repository, usually just
ird
. You may have
to specify a full pathname here. The Assembly Tool
requires the Interface Repository to introspect
components.
- IDL Processor
- The command line to start the IDL processor, usually
just
idl
. You may have to specify a full
pathname here. The Assembly Tool uses the IDL processor
to load IDL files into the Interface Repository.
- Options to IDL
- These options will be passed to the IDL processor. You
can e.g. configure include paths here. You may have to
configure an include path so that the file
mico/CCM.idl
is found.
- ZIP Program
- The program used to compress an archive.
- Unzip Program
- The program used to uncompress an archive.
- Kill Program
- The program used to kill a running program (e.g. the
Interface Repository that the Assembly Tool starts).
- Exit
- Self explanatory.
Packages Menu
- Load Package
- Load a new package from an existing CORBA Software Package
Descriptor or CORBA Software Package (.csd or .zip).
- Download Package
- The same as above, but instead of popping up a file selection
dialog, this menu item presents you with a text field, where
you can then enter an URL of a Software Package Descriptor or a
Software Package.
- Package Wizard
- In case you don't have a Software Package for your component
yet, you can use this wizard to create one. The wizard requires
an implementation file (shared library or executable) plus an
IDL file, and will then add a new package to the Packages
page. If desired, you can then right-click on it to save a
Software Package Descriptor.
Assembly Menu
- Open Assembly
- Opens either Component Assembly Descriptor (.cad) files or
Component Assembly Archive (.aar) files.
- Download Assembly
- The same as above, but instead of popping up a file selection
dialog, this menu item presents you with a text field, where
you can then enter an URL of a Component Assembly Descriptor or
Component Assembly Archive.
- Save Assembly
- Saves the current configuration into a Component Assembly
Descriptor (.cad) file. Note that other files beside the
Assembly Descriptor may be written, e.g. property and software
package files - all files will be written into the same
directory that you choose for the Assembly Descriptor file
itself.
- Build Archive
- Saves the current configuration into a Component Assembly
Archive (.aar) file. An Assembly Archive is a collection of
descriptor and property files, the component implementations
themselves, all compressed into a ZIP file.
- Deploy Assembly
- Deploys the current assembly. This requires that you have the
MicoCCM Daemon
mico-ccmd
running somewhere. The
following options need to be set before deployment starts:
- MicoCCMD Address
- This is the address of the MicoCCM Daemon. The default
address is port 1234 on your local host, assuming that
mico-ccmd
has been started with the
command-line option -ORBIIOPAddr inet::1234
.
The address may be given as host:port, or as an
object URL.
- Local Address
- This will be used as the address of the internal HTTPD
server for serving implementation files: the Component
Installation Server (inside
mico-ccmd
) is
sent an URL to download files from. The default is to
use port 1235 on your local host. You may need to change
the host name to something that the remote host (where
mico-ccmd
is running) understands.
- Naming Service
- You need to configure the address of the Naming Service
if the assembly wants to register components in the
Naming Service. In that case, you should enter an object
URL here.
During deployment, a window is opened and filled with a log of
the deployment process. You can close that window at any time.
Help Menu
- Index
- This file.
- Glossary
- A glossary of the terms concepts
used by the CORBA components packaging and deployment model.
- Deployment Tool
- Help for the Deployment Tool.
- About
- Some info about the MicoCCM Assembly Tool.
- Credits
- Information about the Open Source packages that made the
Assembly Tool possible.
The packages page displays all packages that have been loaded from a
CORBA Software Package file or via the Package Wizard - or that are
present in an Assembly that you have opened. For each package, the
home contained in the package are shown.
Some information is associated with each home:
- Identifier
- This must be a unique name for the package. It determines the
name of the software package in an assembly. Initially, this is
the name of the home; if you have multiple packages containing
a home of the same name, you must change their identifiers.
- Package
- This is the location of the CORBA Software Package (.csd or
.zip). You can edit this field if you want your assembly to
reference this package at a certain location (see below) - e.g.
at a certain URL. If an assembly archive is opened, then this
field may show a weird temporary file name.
- IDL File
-
- Impl File
- These are the locations of the IDL and implementation
files. You can edit these fields if you want your assembly to
reference these files at a certain location (see below). If the
package was loaded from a CORBA Software Package, then these
fields may show weird temporary file names.
- In an Assembly Archive
- Here you can choose whether an assembly archive shall be
self-contained or should rather reference existing files
(e.g. a downloadable software package).
- Reference this package:
If this option is selected, and if the package in
question is a CORBA Software Package (.csd), then the
assembly archive will link to the URL in the Package
field.
- Reference Impl and IDL files:
If this option is selected, then the assembly archive
will link to the URLs in the IDL File and Impl File
fields.
- Include all files in the archive:
If this option is selected, then the IDL and Library
file will be included in the assembly archive, which
will then be self-contained.
If pointed at a home node, a context menu will open when the right
mouse button is pressed. This context menu offers three choices:
- Deploy Home in Assembly
- Adds an instance of this home to the assembly.
- Make Softpkg Descriptor
- This allows to save a Software Package Descriptor (.csd)
corresponding to this package. This descriptor can then be
loaded into other assemblies. The descriptor will link to the
URLs in the IDL File and Library File fields.
- Make Software Package
- This allows to create a Software Package (.zip) corresponding
to this package. The package can then be loaded into or
referenced by other assemblies (it could e.g. be put onto a Web
server). Depending on the setting of the "In an Assembly
Archive" option, the software package will either link to the
URLs in the IDL File and Library File fields (if set to
"Reference Library and IDL files), or these files will be
included in the Software Package.
The homes page displays all homes that have been deployed into this
assembly (using the "deploy home" choice in a package's context menu,
see above). Attributes are shown as "child nodes" of the home.
On the right side, some settings can be made for each home:
- Identifier
- This must be a unique name for the home within the
assembly. All homes and components must have distinct
identifiers - it is used within the assembly descriptor to
reference this particular home instance.
- Register with Naming Service
- If this option is set, then a valid name must be entered in the
next field. Upon deployment, the home will be registered in the
Naming Service.
- NS Name
- If the previous option is set, this field gives the name for
this home in the Naming Service. The name is used as a
"Stringified Name" as defined by the Interoperable Naming
Service specification.
If an attribute node is selected, its value can be configured in the
bottom half of the right side. Note that the "Configure this
attribute" option must be set in order for the configuration to be
effective.
If pointed at a home node, a context menu will open when the right
mouse button is pressed. This context menu offers two choices:
- create
- Adds an instance of the component that is managed by this home
to the assembly. This component will be manufactured using the
"create" operation of the keyless home.
- Remove
- Removes this home from the assembly. Note that this is only
possible after removing all component instances that have been
created for this home.
The components page displays all components that have been created
(using the "create" chice in a home's context menu, see above).
Attributes and ports are shown as "child nodes" of the component.
On the right side, some settings can be made for each component:
- Identifier
- This must be a unique name for the component within the assembly.
All homes and components must have distinct identifiers - it is
used within the assembly descriptor to reference this particular
component instance.
- Register with Naming Service
- If this option is set, then a valid name must be entered in the
next field. Upon deployment, the component will be registered in
the Naming Service.
- NS Name
- If the previous option is set, this field gives the name for
this component in the Naming Service. The name is used as a
"Stringified Name" as defined by the Interoperable Naming
Service specification.
If an attribute or port node is selected, its properties can be
configured in the bottom half of the right node. The properties depend
on the node type:
- Attribute
- For attributes, the initial value can be configured. Note that
the "Configure this attribute" option must be set in order for
the configuration to be effective.
- Facet, Consumes
- Facets and Consumers can optionally be registered in the Naming
Service. The "Register with Naming Service" and "NS Name"
properties are the same as for the component above. For a
facet, the provided interface will be registered; for a
consumer, the equivalent consumer interface will be
registered.
- Simplex Receptacles, Emits
- Simplex receptacles and emits ports support at most a single
connection. Note that the "Configure connection" option must be
set in order for the connection to be made.
A menu button offers the possible connections. A connection can
be configured to an element in the Naming Service, to an Object
URL, or to a port of another component in the same assembly.
If "Object URL" is selected, then an Object URL must be entered
in the field to the right of the button. The referenced object
must be of compatible type.
If "Naming Service Entry" is selected, then a stringified name
of an element in the Naming Service must be entered in the field
to the right of the button. The referenced object must be of
compatible type.
If compatible ports exist in other components within this
assembly, they are listed in the menu and can be selected
directly. In this case, the field to the right of the button is
for informational purposes only and cannot be edited.
- Multiplex receptacles, Publishes
- Multiplex receptacles and publishes ports support an arbitrary
number of connections. The number of connections to be
configured can be selected by pushing the plus/minus buttons
(add one/remove one connection) or by entering the desired
number of connections in the field to the right of the
plus/minus buttons and confirming that number by pressing
Return.
For each connection, a menu is shown with the same options as
described for simplex receptacles and emits ports above.
If pointed at a component node, a context menu will open when the right
mouse button is pressed. This context menu offers a single choice:
to remove the component instance from the assembly. This is only
possible if no connections to this component or one of its ports are
configured.
If pointed at a port node, a context menu will open when the right
mouse button is pressed. This context menu offers any compatible
ports of components within the assembly; if one of these ports is
selected, then the connection between the two ports is made. Note
that this change in configuration may not be immediately visible:
e.g. if a facet is selected and then, through this context menu,
connected to a receptacle, there is no change in the facet's proper-
ties, as the connection is a property of the receptacle.
Frank Pilhofer, fp@fpx.de