Chapter 2

Model-Based Code Generation 1

2.1. Introduction

The benefits of an implementation-free model, fashionably named Platform Independent Model (PIM), are now widely recognized. However, the space and speed constraints characteristic of many embedded systems means there is necessarily a significant distortion of the PIM when deriving a Platform-Specific Implementation (PSI). This leads to the situation where maintenance of the PIM in the face of changes to the PSI becomes very costly, and in many cases is abandoned, leaving the PIM to fall into obsolescence. It is then the PSI that must be maintained in the face of requirement changes. The problem with the PSI is that it is many times larger and more complex than the PIM, and is correspondingly more expensive to maintain. Also, it is obviously platform-specific, so migration to a new platform, where different optimizations may be required, becomes increasingly difficult.

What we need is a process that allows us to maintain a clear separation between the specification of required behavior, and the specification of how that behavior should be realized in an optimized way on a specific platform. This paper describes such a process.

2.2. The model-driven architecture (MBA) process

MDA defines two primary types of model: the Platform Independent Model (PIM) and the Platform Specific Model (PSM). Here the term platform is used to refer to technology and engineering details that are irrelevant to the fundamental functionality ...

Get Model Driven Engineering for Distributed Real-Time Embedded Systems 2009: Advances, Standards, Applications and Perspectives now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.