| |
The Object Workshops DOT Kernel is an advanced multi-threaded, fully object-oriented
execution engine supporting the full DMIS Part 2 Application Profile for DMIS Part 1, and
conforming to the DMIS Part 2 standard. It is written in C++, and uses templates, exceptions,
STL, and other modern C++ programming techniques. It contains:
|
|
| |
Object Compiler
The Object Workshops DOT Kernel includes a DMIS compiler supporting the full set of DMIS
Part 1 statements as specified in the DMIS Part 2 Application Profile. Based on custom LEX and
YACC compiler development tools, this DMIS compiler parses DMIS text statements, tokenizing
them into intermediate, executable "o-code". These o-code tokens are stored internally in a
format that meets the interactive requirements of the Part 2 interfaces. The compiler is
designed to support compilation of both individual statements, and entire programs stored in
disk files.
DMIS Interpreter
The multi-threaded DMIS interpreter executes the compiled o-code, creating internal objects
mappable to DMIS Part 2 formats, calling equipment and mathematics operations via the
implementation code, and generating asynchronous DMIS Part 2 events during program execution.
The interpreter handles simultaneous, synchronized, and sequential execution of multiple
carriage sections within a DMIS part program.
DMIS Code Generator
DMIS text code generation can be toggled via the DMIS Part 2 interfaces. When it is enabled,
the DOT Kernel will generate one or more DMIS text statements that are equivalent to object
operations as they are performed. The statements become a part of the DMIS program at the
current execution point, and can be saved to create a "learned" part program.
Mathematics
The mathematics subsystem contains geometric algorithms for bestfitting of measurement
points, for constructions, for tolerancing, and for datuming. Discrete logic is employed
for deterministic calculations; while a modular minimization engine with plugable algorithms
supports iterative techniques where appropriate.
Implementation Mapping Layer
This layer provides a mapping between the DMIS Part 2 interfaces and the DOT Kernel internal
implementation code - in other words, a layer that translates between DMIS Part 2 calls and
the C++ code inside the DOT Kernel. The wrapper contains the CORBA stubs, along with other
code that converts between internal and external data formats.
DMIS Input Program
The DOT Kernel can perform bi-directional operations on DMIS program files. Existing programs
can be loaded from disk for editing and execution. Modified programs can be saved back to
disk, with formatting unchanged. Also, the DOT Kernel supports automatic generation of DMIS
programs from DOT object operations. The generated program may be saved to disk for later
execution, or for transfer to another system.
DMIS Output File
The DOT Kernel provides support for DMIS output data, and can write DMIS output text to the
standard DMIS devices. Additionally, the VFORM (vendor format) output generates a proprietary
XML output format to the DMIS output devices as well, for post-processing to other formats
using standard XML conversion tools.
|
|
 |