Vision

The Code Craftsmen endeavor to provide a suite of tools that enables software developers to design reusable software components that can be combined in a hierarchic fashion to form complex applications with minimal effort.

In order to achieve this goal, we require software components to interact with their run-time environment using a standardized, non-blocking, event-driven interface and communicate with one another by sending and receiving messages through this interface. This approach allows the same components to be used in a wide variety of contexts, from multi-threaded real-time environments to single-threaded desktop applications. Common operations, such as component configuration, initialization, and termination are also standardized as much as possible to facilitate the development of generalized application executives that can automatically handle these functions.

Component interfaces, message content, and hierarchic application structure are defined in a rich, extensible format that consolidates all of the relevant metadata in one location. This metadata can then be leveraged by any number of tools to generate code and documentation.