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 software developers can help. Our team has a combined 40 years' experience in 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.

Screen Shot 2015-10-09 at 4.58.57 PM.png

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 tedius 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 design program, the team was using a desktop-based UML modeling tool for capturing the architecture of their designs. However, Class Diagrams didn't provide a natural design environment for electronics designers.

Screen Shot 2015-10-09 at 10.48.25 AM.png

Metamorph built a web-based editor on top of the UM modeling tool. Its style and wiring mechanism were inspired by circuit schematic editors, providing a familiar and natural visual language for designers. Because the original modeling tool was still being used underneath, the existing code generators and content did not need to be rewritten to work with the new modeling environment.

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

Screen Shot 2015-10-09 at 10.39.27 AM.png

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

A real-time link between Femap and a system modeling tool that captures FEA test specifications.

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.


Generation of a large SPICE simulation from a system model

Code Generation from Models

Our experts have extensive experience with automatically generating code from model-based tools.

  • For an aerospace program, 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 program, we used a UML-based model of a system to generate SPICE simulation models and EAGLE schematic models of the system.
  • For a large distributed software program, we used system architecture models to generate discrete-event simulations that tested network loading and overall system throughput.