MCA Logo
MCA Online Reference Documentation
Main Index

MCA2 Programmer's Guide


Table of Contents
1. Implementing Modules
1.1. Modules with fix IOs
1.1.1. Module Interfaces
1.1.2. Methods Sense and Control
1.1.3. Parameter
1.2. Modules with variable IOs or variable parameters
1.3. Inherit from modules
2. Implementing Groups
2.1. Integrate modules
2.2. Using ThreadContainers
2.3. Connecting modules using edges
2.4. Build the group
2.5. Inherit from groups
3. Building MCA parts
3.1. main programs in all environment
3.2. Write own main
3.2.1. initPartDescription
3.2.2. startup
3.3. Standard command line options
3.4. Connecting parts
3.5. Compiling
3.6. Testing
4. Configuration files
4.1. Creating configuration files
4.2. Reading values from an AttributeTree
5. How to use blackboards
5.1. Creating blackboards
5.2. Using already defined blackboards
5.3. Resizing blackboards
5.4. Accessing blackboard content without locking
6. MCA coding standards
6.1. Naming Conventions
6.1.1. Classes
6.1.2. File names
6.1.3. Variables
6.1.4. Functions
6.1.5. Type Declarations
6.1.6. Constants and enumerations
6.2. Coding guidelines
6.2.1. Class layout
6.2.2. Comments
6.2.3. Accessing instance variables
6.2.4. Initializing instance variables in the class constructor
6.2.5. #define
6.2.6. Sense() and Control()
7. MCA debugging technics
7.1. Debugdefs.h
7.2. ModuleDebug
List of Examples
1-1. Define module IOs
1-2. Example of Sense() function
1-3. Exmaple of Control() function
1-4. module constructor
1-5. Parameter definition
1-6. Parameter initialization
1-7. Exceptions
1-8. parameter initialization
1-9. variable IO definition and initialization
1-10. destructor deletes variable IOs
1-11. Defining variable parameters
1-12. Setting parameter values from outside
1-13. Derived modules: appending IO initialization
1-14. Derived modules: appending IO definition
2-1. Creating modules in a group constructor
2-2. Using ThreadContainers
3-1. generating part source file from a template
3-2. defining program command line options (1)
3-3. defining program command line options (2)
3-4. startup function
3-5. Get informations about other already running parts (1)
3-6. Get informations about other already running parts (2)
3-7. Initialization of interpart edges
4-1. Attribute Tree
4-2. Reading data from an AttributeTree
5-1. Create a new Blackboard
5-2. Use an already existing Blackboard
5-3. Write a blackboard element
5-4. Read a blackboard element
6-1. Some acceptable class names.
6-2. Examples for variable definitions.
6-3. Examples for function definitions.
6-4. Examples for type declarations.
6-5. Defining constants and enumerations
6-6. A sample class declaration.
6-7. Sample comments.
6-8. Naming conflict between temporary and instance variables.
6-9. Accessing instance variables.
6-10. Initializing instance variables.
6-11. Correct usage of #define:
6-12. Incorrect usage of #define:
7-1. How to use debug defines
7-2. How to define and use user defined debug domains