July 09, 2012 -- Indiana-based MNB Technologies is a small company that aims to reinvent how people create new mixed processing technology applications. The first step is production release of the OEM version of their flagship product, the artificial intelligence-based hprcARCHITECT® design studio.
The motivation behind hprcARCHITECT came a few years ago when the US Air Force sought proposals for a library of FPGA algorithms for reconfigurable computing. MNB’s CEO Nick Granny said that instead of responding with a library, MNB proposed to throw out the conventional development process and offered an artificial intelligence-based framework in its place. MNB received the contract and delivered a fully functional prototype in February 2011.
Essentially, hprcARCHITECT replaces design reuse with knowledge reuse to eliminate the grunt work performed by technical specialists when creating new (or updating legacy) mixed processor technology systems. Granny said, “Knowledge reuse is not just a semantic change from design reuse, it is a fundamental change in how software defined systems are developed. Design reuse captures “things” which are later manually adapted for use in new applications whereas knowledge reuse captures the knowledge needed to make a “thing” for fully automated adaptation in new applications.”
The hprcARCHITECT studio divides the application development process into three distinct workflows—Architecture, Modeling, and Implementation. The Architecture workflow, performed by the application domain expert, requires intimate knowledge of the science or engineering of the domain and a lot of human creativity. The Modeling workflow creates the underlying algorithms, like FFTs and Smith-Waterman routines, which require specialized expertise in the target hardware, and human creativity, to obtain optimum performance. Finally, the Implementation workflow is the actual generation of the output source code and build scripts which is a fully automated process performed by the embedded artificial
The application domain expert uses the hprcARCHITECT virtual whiteboard to visually define the application
architecture as a directed graph of nodes (boxes) and edges (lines). The nodes are references to behavioral building blocks created by technical specialists in the modeling workflow. The domain expert then revisits the architecture and uses virtual sticky notes to add behavioral properties (requirements) to the nodes. The architecture is stored in a relational database for downstream application
The nodes and edges of the architecture become the behavioral specifications for technical specialists to use in the modeling workflow. Here is where the difference between design capture and knowledge capture becomes apparent. The model developer starts with a behavioral model in the target language. This initial model is then decorated with facts, rules, and assertions used by the artificial intelligence to customize the model for the application. These models may be as simple or complex as needed and may include subprograms (scripts) written in the C# language to perform engineering calculations not possible in conventional EDA tools to dynamically generate output code, including instance specific code. The model contains a separate implementation for each supported language and runtime environment (e.g. FPGA, ASIC, DSP, Microprocessor, GPU, etc).
The artificial intelligence then analyzes the architecture and behavioral properties and selects the most appropriate model implementation for each node. The edges define the data flows in the architecture giving structure to the directed graph. Once the implementations are selected then the code generators customize the individual model instances in the output to match the requirements. After the output
source code(s) are generated the artificial intelligence applies rules and facts in the platform build scripts to dispatch the source code to downstream (existing) compilation and/or synthesis tools. The application deployment scripts then automate the packaging of the entire application for distribution.
Unlike most conventional development tools, hprcARCHITECT operates with a relational database as the knowledge base instead of a collection of files in directories. This enables doing the architecture and model analysis and selection using metadata instead of reading through and parsing source code, dramatically economizing the entire process.
One significant benefit of hprcARCHITECT is fully automated refactoring of an application when the target platform is changed. Migration between simulation versions (C, C++, C#, etc) of models, FPGA versions, DSP versions, or ASIC versions is done simply by changing the selected target for each partition in the architecture—the artificial intelligence does all the grunt work.
Another benefit is that everybody in the development process stays in their own technical comfort zone.
Application domain experts do not need in-depth knowledge of target technologies or implementation details and model developers do not need to understand the application domain. With the artificial intelligence doing the grunt work, which in most applications amounts to almost 80% of the total labor content, technologists have significantly more time to focus on the creative aspects of their work and
continual improvement of their models without concern that changes createunacceptably high refactoring costs.
The hprcARCHITECT studio also includes a powerful open architecture API that give external tools direct access to the application design database and the model knowledge base. This facilitates integration of hprcARCHITECT with existing and developmental design automation tools. Unlike many disruptive technologies, hprcARCHITECT does not displace existing solutions; it augments them, extends their lifetimes and improves their development/acquisition ROI.
MNB markets hprcARCHITECT to existing suppliers of development tools in the software-defined systems
space, such as EDA companies and enterprise systems tool vendors. A number of OEM licensing options are available and are economically competitive with contemporary OEM high-end technology specific compilers and synthesis tools.
Technologies, Inc. ( http://www.mnbtech.com)
MNB Technologies, Inc, founded in 2004, is a service disabled veteran owned small business based in Bloomington, Indiana USA. MNB is a R&D leader in non-traditional computer architecture, Artificial Intelligence-based application development tools, and adaptive decision support systems.