If you’ve been following some of the latest on new tools that help engineer’s design and develop products, then you’ve seen system engineering come up again and again. Processes and standards have been around for some time for system engineering. However, it has only been in the last few years that we’re seeing a growing number of specialized solutions for this discipline. In this post, we’re going to look at PTC’s solution, which is called Integrity Modeler. PTC’s path to provide this solution started with the acquisition of a company called Atego (link to press release) in 2014. Since that time, it has been enhanced with new capabilities and integrated into the rest of PTC’s suite of solutions. So with all that said, let’s dive in.
The Capabilities of Integrity Modeler
To truly understand the breadth and scope of Integrity Modeler, it is important to know what capabilities you typically find in this type of solution. Our Model Based System Engineering (MBSE) entry in our Reference library provides that context, so you might want to reference that as we proceed here.
Single Unambiguous System Definitions
Now, let’s get to the details.
- Integrity Modeler lets you build an unambiguous single model definition of your system, including requirements, functions and hardware and software components.
- You detail the relationships between each of these items, allowing for traceability.
- You define your states for the system, providing details on how the system works in each of those states.
- All this can be done through a visual diagramming type of interface.
Be aware, most MBSE tools provide this kind of functionality. But these are important fundamentals that should be in place.
System Simulation Capabilities
Integrity Modeler offers some interesting simulation capabilities that you see in a few other tools, but are infrequent.
- You can embed mathematical-based behaviors for components. This might be friction between hardware components. This might how a control software component reacts to input.
- You can automatically generate software code from UML and other models, representing the behaviors you need to emulate in software components of your system model.
- You can provide environmental inputs into the system as a whole, simulating how it reacts as if it were operating.
- Note that this does not require a different 1D systems model. This is created directly from the systems model mentioned earlier.
These two capabilities allow you to virtually prototype an entire system early on and throughout the development cycle. We’ll get to the importance of that in our commentary and analysis section, so let’s put a pin in that for now.
Inclusion of IoT in the System
The IoT has been a hot topic for the last couple of years. And, as you could imagine given PTC’s focus, they have extended Integrity Modeler with some functionality that is highly relevant to companies moving in that direction.
- You can model on-product sensors and cloud-based software components as part of the whole system.
- The system simulations mentioned earlier are extended in this area as well, as readings from sensors can be emulated, providing a new type of input to the system.
This more inclusive definition of a system extends the value of having a single unambiguous definition and allows for more comprehensive simulations.
Integrity Modeler Infrastructure
How software solutions work isn’t always the most spectacular topic. However, there are some important and unusual capabilities here that deserve note.
- The system model is extensible, meaning it can be customized and configured for special circumstances in your company and products.
- The tool utilizes a database as opposed to a file. All changes in terms of who modified what and when is tracked as part of that database.
- You can save the model as SysML, UML or a number of other formats.
- You can automatically generate software code from UML and other models (mentioned earlier). This provides more consistency and improved in terms of software quality.
- Initial integrations with ThingWorx, Windchill and Integrity systems are available. These will become more integrated over time.
- Includes a process modeler, whereby you define a workflow that automates the process of creating your system model.
Commentary and Analysis
Phew. Yes. I know. That is a lot to review and absorb. Instead of going over the implications of each individual capability, let me instead give you my high level takeaways.
Inclusion of IoT in Systems Modeling and Simulation
If I were to point to one trait of this solution as critical, this is it. Many systems modeling solutions out there today have stayed close to the guidance of the International Council on System Engineering (INCOSE). That’s good. But things are changing very quickly as some manufacturers really want to charge forward with IoT-enabled products. We used to talk about mechatronic systems being composed of mechanical hardware, electrical hardware and software. But in the IoT era, you have to add sensors, connectivity components, on-board pre-packaged software and cloud-based software components. Now, at first glance, the difference here might seem nuanced, but it is important. Readings from sensors need to make its way to the cloud-based software component, which will send commands back to control software on the product. There are all sorts of complicated interactions that must be modeled (to offer a single unambiguous definition) and to simulate and test its performance.
Integrity Modeler’s capability to model these IoT aspects of a product is important. But it may be more important to simulate it as part of a 1D system model. Furthermore, emulating the readings from the sensors only bring more realism to the simulation. All this is critical to virtually test the system.
Now, all that is important, but more important capabilities should be on the way. Eventually, you will want to connect some aspects of this system to the real cloud-based software components that are running in ThingWorx… as in the real software components. This kind of progressive replacement of components in the system model with real components offers a way to verify operation in a safer and more secure manner.
Automatically Generating and Synchronizing Software
Yes. It is true. There are a number of SysML and UML tools out there that will automatically generate software code. And that is really important. It provides software code that might be 90% right, so software engineers can review and edit instead of starting from scratch. That can really accelerate the development process. However, with Integrity Modeler, this capability is combined with simulation
The idea here is that any component in your system model can have behaviors embedded into them. Each one has inputs, behaviors and outputs. Those behaviors are often based on mathematical formulas that are manually created or automatically generated from a reduced order FEA analysis. For software components, Integrity Modeler allows you to embed those behaviors from this automatically generated code. But furthermore, as you change the UML model for that component, the new automatically generated code is synchronized into the system model.
Database Approach vs. File Approach
Most system modeling tools save their models as files. Integrity Modeler, however, manages its model as part of a database. Now, why is this difference important?
Well, think through a collaboration scenario. You have 10 system engineers at 3 technical centers spread across the world. With a file based approach, they could email it around, try to share it with a cloud-based service or check it in or out of a PLM, PDM or ALM system. The problem that occurs in this case doesn’t have anything to do per se with the system modeling tool. It is the same fundamental problem whenever you have multiple people trying to collaborate on the same file. Different people might get the file, change it and email it back out at the same time. How do you reconcile those changes? Essentially, you run into the traditional he-who-saves-last-wins scenario.
With Integrity Modeler, multiple people can access the system model simultaneously. As they make changes, they can see what each other is doing. As I have mentioned in other posts, using a database approach allows complex models to be discretized into its smallest pieces, which can be changed by different people at the same time. If I had one complaint, it would be that Integrity Modeler should be offered as a cloud-based solution to further enhance such accessibility. PTC may well be moving in this direction.
Recap and Conclusion
- PTC’s Integrity Modeler offers traditional system modeling capabilities, more rare system simulation functionality and sorely needed inclusion of IoT aspects of development.
- The modeling and simulation tools allows organizations to quickly and progressively virtually prototype systems taking IoT components into account.
- The automatic generation and synchronization of software code further enhances the simulation capabilities.
- The database approach enables better collaboration amongst many systems engineers.
Folks, that’s my take… all 1400+ words of it. Have thoughts? Leave ’em in the comments. I look forward to the discussion.