Embedded human knowledge in software

January 1, 2007 OpenSystems Media


Software tools step in

To surmount these challenges, the Expertise Encoding and Execution Workshop (E3W) has been developed. E3W is novel software that enables experts to easily computerize their own strategies for solving complex problems. Expertise encoded as Discovery Machine (DM) models may be deployed as DM Gears – customized, stand-alone, executable process models that run on the lightweight DM Runtime Environment (DMRE) on top of the Java Runtime Environment (see Figure 1).

These knowledge engineering tools are developed using the Eclipse open development platform. Eclipse tools provide a robust, low-cost, mainstream development environment. One of the reasons development teams decided to migrate to the Eclipse platform was the broad range of plugins available for Eclipse. This speaks of both the widespread adoption of the platform and the vibrancy of the community.

To show the merits of this technology for embedded systems, a demonstration system is being constructed using an RLW Inc. S2NAP wireless embedded data converter and multiprocessor. The SxNAP acquisition processing devices are designed to answer the “missing inch” between machinery and enterprise software in Condition-Based Maintenance solutions. The availability of DM Gears for the S2NAP sensors/processors will enhance the capabilities of mobile, low-power systems by providing an intelligent low-power data interpretation system (see Figure 2).

Transmitting data in a typical sensor uses a large percentage of power compared to the power used computing the data to be transmitted. Enhancing the expertise of the SxNAP processors will reduce the power demand by trading computational bandwidth for transmission bandwidth. The sensor will transmit less yet higher-level data based on its inputs.

To help developers deploy expertise, the Insert Gear plugin, an Eclipse plugin developed in Java using the Eclipse Plugin Development Environment, inserts Java code that executes expertise in the form of a DM Gear. The plugin reads the Gear file and provides a list of the Gear inputs and outputs. The generated code executes the Gear either synchronously or asynchronously. This closes any potential gaps in the knowledge-capture process by allowing software engineers to utilize subject matter expertise, and in turn, simplifies the deployment of strategic expertise.

With tools like these, developers can directly embed the knowledge of experts in robotics technologies such as:

·          Perception

·          Vision and sensing

·          Data fusion

·          Mapping and navigation

·          Positioning

·          Collaborative/cooperative behavior

·          New concept prototypes

These fields, which are currently trying to encode expert knowledge in traditional fashions, will benefit greatly from this technology.


Commercialization plan

Next in the development plan is bringing these powerful knowledge-enabling tools to a range of embedded systems such as robots, sensors, appliances, cellular telephones, and PDAs. The embedded systems and robotics domain needs knowledge capture and deployment tools. The technology platform is not domain specific and will have applications across many industries and applications.

An even lighter Embedded Discovery Machine Runtime Environment (EDMRE) under development runs on top of the Java Micro Edition (Java ME). This will capture expertise in the form of Discovery Machine Gears to be deployed on any embedded system that supports Java ME.

In addition to EDMRE, development of an Embedded Expertise Encoding and Execution Workshop (E4W) will allow users to encode, test, and deploy their knowledge strategies as DM Gears that can run on EDMRE. E4W will be built based on the existing architecture, which provides the software components essential to knowledge capture environments as an API, optimizing reuse and streamlining maintenance of customized applications.

The availability of an open development platform such as Eclipse provides not only an able environment for developing applications such as this, but also a large developer community that can provide and be provided with tools. Using the Eclipse development platform helps Discovery Machine technology achieve its primary goal – delivering human knowledge to software.

J. Simon Tack is a software engineer at Discovery Machine. He has more than

10 years of professional application development experience using C++ and Java. Simon holds a BS in Electrical Engineering from Drexel University.


Sean Melody has been a software engineer at Discovery Machine since graduating from Northwestern University with a BS in Computer Science in 2001.


Dr. Todd Griffith is the founder and CTO of Discovery Machine. Todd holds a PhD and an MS in Computer Science from the Georgia Institute of Technology. He also holds a BS in Computer Engineering and a BA in Philosophy, both from Bucknell University.


To learn more, contact the authors at:


Discovery Machine, Inc.

454 Pine Street • Williamsport, PA 17701 • 570-329-5661






For more information on RLW

and S2NAP, contact:


Derek Stott, CFO

RLW Inc.

2029 Cato Avenue • State College, PA 16801 • 814-867-5122


J. Simon Tack (Discovery Machine), Sean Melody (Discovery Machine) and Dr. Todd Griffith (Discovery Machine)
Previous Article
CDT 4.0: more features for embedded development

2006 was a landmark year for the Eclipse C/C++ Development Tooling (CDT) environment, with growth in almost...

Next Article
Easing embedded Linux software development for SBCs

Most programmers today leaving college with Electrical Engineering or Computer Science degrees are fairly w...