FAQs

SimuQuest Frequently Asked Questions

This FAQ is dedicated to answering frequently-asked questions regarding Agile Model-Based Development. Feel free to submit your own questions to .

More general FAQs are listed on this page. Click on the following links for product specific FAQs:
QuantiPhi MPC56x FAQ
QuantiPhi S12 FAQ
UniPhi FAQ
Enginuity FAQ


1. If we do not currently use the MathWorks tools, can we still benefit from using the model-based process advocated by SimuQuest? 2. We currently follow a traditional software process (Waterfall, V, etc.). How do we transtion to a model-based process? 3. If we use model-based design, can we integrate legacy code into our Simulink models? 4. How does the efficiency of auto-generated code compare with that of hand code? 5. How does Agile Model-Based Development compare with UML?

 

If we do not currently use the MathWorks tools, can we still benefit from using the model-based process advocated by SimuQuest?

As described in the services section of this site, you may outsource your software development, in whole or in part, to SimuQuest. If your software must be developed in house, the resulting productivity and quality improvements will likely justify purchasing the MathWorks/SimuQuest toolset.

We currently follow a traditional software process (Waterfall, V, etc.). How do we transtion to a model-based process?

The agile model-based process advocated by SimuQuest evolved from a traditional process. Over time this process has changed to take advantage of modeling and simulation. Certain aspects of the process do not change: version control, peer reviews, requirements management, etc. Transitioning to the model-based process involves some organizational change and training. This has been a good experience for our customers, resulting in major benefits such as reducing the number of development artifacts as well as significant improvements in productivity and quality.

If we use model-based design, can we integrate legacy code into our Simulink models?

Yes. It is straightforward to insert legacy code into a Simulink model using the code insertion block. SimuQuest has experience with the integration of legacy code into Simulink models.

How does the efficiency of auto-generated code compare with that of hand code?

Assuming a proficiency in modeling for code generation, a number of studies have indicated that the code size and efficiency are about the same. As it is possible to code efficiently, it is also possible to model efficiently. This depends on the proficiency of the coder/modeler. Establishing a modeling styleguide and reuse of model components helps ensure models are better optimized for efficient code generation.

How does Agile Model-Based Development compare with UML?

UML has been developed from the ground up with a focus on object-oriented software. The Agile Model-Based Process has been developed from the top down. Development begins from a systems perspective and progresses to production quality software for an embedded system.

Some limitations of UML:

  • There are many extensions and ways of expressing the same idea, hence UML requires a lot of standardization. There is therefore also a large cost in developing the expertise that will lead to meaningful standardization.
  • UML was designed by and for software engineers and therefore does not facilitate seamless development from high level control system concepts through to production quality software.
  • There are just too many diagrams (up to 13; even more with UML 2.0). It may be difficult to ensure consistency across the different system representations.
  • A significant amount of hand-coding is still required.
  • UML does not support the modeling of physical system dynamics (mechanical, electrical, thermal and fluid) – a severe limitation for applications where it is desirable to simulate the device that is to be controlled such as an engine, vehicle or motor.