Our Capabilities

IntroductionDesignCollaborative Design WorkspaceCameo SynchronizationBuildFlex Specification LanguageCode GenerationAdapters & TransformsVerifyOut-of-the-box Test EnvironmentComponent Emulation & Automated Test Runs

Design, Build and Verify; it all sounds so easy in the engineering lifecycle and yet one mistake at any of these phases can cause catastrophic resource and schedule outcomes to the requirements. Tangram recognizes the need to accurately and correctly implement these processes and why designing, building and verifying your system synergistically is critical for mission success, which is why we want to share with you our how. Tangram Pro, our software integration platform, ensures confidence as each user moves through the development lifecycle with foundational capabilities that accelerate integration, realize interoperability, and assure the system needing fielded is ready for every mission- every time.


Correct by design. Systems engineers live by that mantra and spend countless hours reviewing documentation and requirements to build an accurate model of the system. These models, generally created using model-based systems engineering (MSBE tools) are high-fidelity assets that set the foundation for the entirety of the program and implementation.  While systems engineers are well-versed in the processes and are masters of complexity, teammates on the program management and software development side may not be as excited or in-tune with how to interpret the models.  This disconnect can be one factor leading to a series of events that deviate from the source-of-truth design, which is why Tangram has ensured our design capabilities avoid the pitfalls of decoding multifaceted requirements in a collaborative, easy-to-use design interface.

Collaborative Design Workspace

Not everyone is an MBSE tool expert but often using something outside of a whiteboard or powerpoint is needed for teams across the DoD. Tangram Pro’s design workspace enables rapid design through collaborative multi-user editing. Quickly drag and drop components on the screen, apply connections, build a library for reusability, and allow all teammates- no matter their skill level- to support developing the system right. Download images and data from your design with the click of a button and provide your team and leadership with the documentation required to move to building your system. Confidence, Collaboration, and No Learning Curve.

Cameo Synchronization

Bridging the gap between a systems and software engineer is a key value to Tangram and this has been realized through Cameo Synchronization. Import your source-of-truth MBSE model directly into Tangram Pro™ using our plug-in and develop your code to support your requirements. Systems and Software engineers can now seamlessly support the system requirements through collaborative design, development and implementation, all through one platform.

One sheet: Cameo Synchronization »


The team has designed the system collaboratively- now what? Implementation. This is where the magic happens, where validating the design and realizing the system works against requirements. Usually, this is where the gap between system and software engineering widens, but with Tangram Pro’s foundational Flex Language, that gap is eliminated and building the glue code for your system based on the models is a breeze. Welcome to rapid integration and implementation- the keys to making integration and interoperability a reality.

Flex Specification Language

Flex is at the core of everything Tangram does and is the powerhouse behind Tangram Pro being the tool for rapid integration with confidence. Developed using formal methods and on the foundation of correctness and completeness, Flex is a specification language that connects system components and software interfaces together in a manner that allows users to know their code is not only right, but easy to modify and test throughout the life of the system.

The Flex language definition is freely available with no restrictions on its use. Flex enables precise definitions of software interfaces, including both structure and logical properties (such as range restrictions). And because different components may communicate using different formats, protocols, or standards, Flex also enables message translations (adapters) to be created between otherwise incompatible software interfaces. With Flex, the user capitalizes on these benefits:

Flex Docs »

Code Generation

Generating interface code to support integration of new capabilities into legacy platforms is a necessity for the DoD moving forward. Having the ability to reduce risk in code development is a key feature of Tangram Pro’s code-gen support. Import DoD-defined message sets into Tangram Pro and use Flex specification to create an API for those messages in the user's desired output language (C++, C, or Rust). The API allows the user to create new messages for interfacing with system components or to extract data and messages from existing components. By leveraging Tangram's code-gen capabilities, the user can automatically create the messaging API, avoiding tedious, error-prone work and allow the user to focus on the goals of the application being developed instead of the code managing messages. Through the power of Flex and cod-gen, the user has a data-centric approach with test cases and fixtures built in to support accreditation activities. Focus on the mission. Focus on Safety Critical Targets. Avoid Vendor-Lock and be confident your code is ready to meet your needs.

Read: Example of Flex & Code Gen in Action »Read: WOSA Use Case »

Adapters & Transforms

Initiatives focused on Digital Engineering (DE), MBSE, and Interoperability continue to be a priority, however implementing these processes can be challenging and constrained by black-box solutions and systems that have been maintained for many years. Tangram Pro uses Flex to create adapters that allow components with different standards to communicate and work together, without changing the systems themselves. This approach bypasses proprietary solutions by understanding the inputs and outputs that need to be passed between components and if those messages are compatible or not. If not, transform functions are developed through Flex and the adapters, which include the interface code, allow key messages to be defined and interpreted to a different message standard without the need to hand-code all the changes. Tangram Pro, with its foundational approaches of correctness, rapidly supports communication between disparate components or systems, transforming the system to be interoperable while meeting open-standard mandates and getting the platform to the field faster.

Read: MOSA (iCat3i) paper »


Testing code to assure it performs as expected is a necessity prior to delivery, as it validating the code meets the established requirements. This task is often time-intensive, difficult to quantify, and left to the end which can cause rushed or incomplete results. Additionally, once code is delivered to the end user, ensuring it can be sustained, tested and updated with minimal effort is a desired, but often unachievable goal. Tangram understands these challenges as well as the lack of solutions in the market to address software assurance, leading to launching capabilities within Tangram Pro™ focused on verification from creation to retirement of code within a system.

Out-of-the-box Test Environment

Creating, using, and tearing down a test environment for various phases of the software development life cycle is a time consuming and tedious process without a large return-on-investment. With Tangram Pro, out-of-the-box test environments are included within the platform allowing users to pull in code they developed (including from GitLab), evaluate it with runtime testing approaches, and start integration testing at the component level- supporting rapid, targeted, and repeatable testing without having the entire system in place. Save time, verify correctness, meet the need- all within one platform.

Trial Tangram Pro™ »

Component Emulation &
Automated Test Runs

Testing and verifying software is hard and common approaches include unit testing which is stagnant and cannot evaluate some of the complexities within components and systems-of-systems. Using component emulation within Tangram Pro, test harnesses wrap the individual components and allow for automatic generation of both good and bad data, providing proof of code verification. Additionally, the emulator allows the system to understand how the component should behave within it and which sequence messages should be transferred between components and systems. This approach in assurance testing avoids having to understand proprietary black-box components which may have legacy code, allowing evaluation of a components behavior and whether it will continue to act properly when integrated with updated capabilities or platforms. Finally, having appropriate detailed documentation is critical to the verification process and gaining approval for use. The rich exports of Tangram Pro verifier toolkit provides a digital thread of documentation for the users, verifying that the high-fidelity, repeatable testing meets the requirements for using the code and sustaining it.

Read: Verifier one-sheet »

Harness the power of...

Sign up for a trial and start learning...

Start a trialContact Us »