A platform-independent model (PIM) in software engineering is a model of a software system or business system that is independent of the specific technological platform used to implement it (e.g. a programming language or a database).
The term platform-independent model is most frequently used in the context of the model-driven architecture approach. This model-driven architecture approach corresponds to the Object Management Group vision of model-driven engineering.
The main idea is that it should be possible to use a model transformation language to transform a platform-independent model into a platform-specific model. In order to achieve this transformation, one can use a language compliant to the newly defined QVT standard. Examples of such languages are VIATRA or ATLAS Transformation Language. It means execution of the program is not restricted by the type of operating system used.
Related concepts
- Domain-specific modelling – Software engineering methodology
- Eclipse Modeling Framework – Project of Eclipse Foundation
- Generic Modeling Environment
- Graphical Modeling Framework – framework within the Eclipse platform
- Interaction Flow Modeling Language – A visual modeling language for designing user interactions and user interfaces of software applications. A standard issued by the OMG (Object Management Group)
- Kermeta – Modeling and programming language
- KM3 – Neutral computer language
- Meta-modeling – Concept of software engineering
- Model Transformation Language – Specification language
- OCL – Declarative language
- Platform-specific model – Model of a software or business system
- SmartQVT – Is an unmaintaned Java open-source implementation of the QTV language
- SysML – General-purpose modeling language
- Unified Modeling Language – Software system design modeling tool
- XMI – Standard of Object Management Group