Experienced software developers
with a Model-Driven Engineering (MDE) specialty.
Make the most of your model-based tools.
Whether you're adopting model-driven engineering tools for your organization or looking to get more value from the models and tools that you already have, Metamorph's team of experienced researchers and engineers can help. Our team has a long history of building and integrating model-driven engineering tools.
We know how to get your tools to interoperate, how to customize them to your domain and process, and how to extract the maximum value from your modeling activity.
Modern system design requires many tools. We can get them integrated into your process.
Code Generation and Model Transformation
Code Generation
Create interfaces, data structures, or behavioral code directly from your models, saving development time and keeping things synchronized. Go beyond using your models as documentation.
Model Transformations
Whether you're migrating tools or simply transferring model data from one tool to another, we build transformations that translate your models while preserving their integrity.
Integration and Interoperability
Multi-Tool Workflows
Analysis flows that chain together multiple tools are powerful, but can be tedious and error-prone to run by hand. We can automate your workflow, allowing you to test more iterations.
Real-Time Integrations
We build custom real-time tool integrations that share data between modeling applications in real-time. Keep your models synchronized and use the best editor for the job.
Process Customization
Model-based tools work best when they're integrated with your process. We can build the glue that supports your processes and workflows, getting the right pieces working together.
Custom Modeling Languages and Environments
Domain-Specific Languages
Domain-specific languages (DSLs) help you get the most out of your UML and SysML tools. We have extensive experience in the design and implementation of DSLs and can help you design and implement one tailored to your product and process. DSLs can improve the effectiveness precision of your models, and boost the effectiveness of code generators and analysis tools.
Web-Based Modeling Environments
Metamorph is experienced in building web-based, multi-user modeling tools on the web. We are the top outside contributor to Vanderbilt University's WebGME framework, which we can use to create environments for practically any modeling language.
A Few of the Tools We've Integrated Into Modeling Environments
Case Studies
Web-Based Modeling Environment for Electronics System Design
For an electronics device design application, our task was to create tools that lowered the barrier to entry for the design of custom circuit.
Metamorph built a web-based editor based on our META technology that provides a simplified way for the user to express circuit designs through description at a higher level of abstraction. Electrical connections are expressed as functional communication groups using the META “Connector” concept. For example, standard communications protocols such as SPI and I2C are much easier handled intuitively as groupings. This concept also extends to managing the mechanical connectors in the same grouping, thereby uniting multiple domains with the same connector. A functional sub-circuit library was created for the user to encapsulate the detail needed to create, for example, a temperature circuit complete with proper power bypass capacitors and other necessary circuitry that may not always be obvious to the non-expert designer. For these common functional sub-circuits, pre-routed, optimized PCB layouts are provided to ease overall PCB routing for the larger design.
The web-based editor also provided multi-user collaborative editing in the style of Google Docs. Users no longer needed to share model files -- they could work on the same project simultaneously and have access to the full history of analysis results. Analysis tools such as SPICE and utilities like PCB generation ran in the cloud using Metamorph's distributed computing technology.
Our solution used Angular.js and Google's Material Design principles to achieve a modern, responsive interface. The solution was deployed entirely in the cloud, with no software installation required for end users.
Model Transformation and Import for Electronic Schematic Models
For an electronics design effort, a UML-based tool was used to compose system designs. This tool required a large library of part models, as well as a straightforward way for users to create new part models.
Metamorph designed a model transformation that converts native schematic models into component models for the UML-based tool. We then built two utilities for users: an integrated toolbar utility that imports single models when the user needs them, and a batch utility that can convert entire libraries of schematic models into libraries in the tool.
With this solution, system modeling proceeded with less interruption, and model transcription error was reduced.
Real-Time Modeling Tool Integration for FEA Analysis
For a vehicle design program, a UML modeling tool was being used to capture information about an FEA test specification. However, reasoning about 3D space within the UML-based tool was difficult, and engineers had trouble using the system effectively.
Metamorph built a tool to synchronize the two applications, enabling engineers to use the 3D modeler as a model editor. Add a load in the FEA tool, and the information is propagated immediately to the UML tool. Change the properties of a load in the UML tool, and they immediately appear in the FEA tool.
Engineers can now create test specifications more quickly and with less chance for error, using the best editor for the job.
Code and Artifact Generation from Models
Our researchers and engineers have extensive experience with automatically generating code and other artifacts from model-based tools.
For an aerospace application, we used a UML-based model of a system's interfaces to generate IDL and C++ code that conforms to those interfaces.
For an electronics design application, we used a UML-based model of a system to generate SPICE simulation models and EAGLE schematic models of the system.
For a large-scale distributed software program of record for the Army, we used system architecture models to generate discrete-event simulations that tested network loading and overall system throughput which enables them to make system architecture decisions such as compute sizing and resource allocation early in the design process. The availability of crucial design information, even if still an early estimate is invaluable for program and subcontractor management.