Framework-specific modeling language
Encyclopedia
A framework-specific modeling language
(FSML) is a kind of domain-specific modeling language which is designed for an object-oriented application framework
.
FSMLs define framework-provided abstractions as FSML concepts and decompose the abstractions into features. The features represent implementation steps or choices.
A FSML concept can be configured by selecting features and providing values for features.
Such a concept configuration represents how the concept should be implemented in the code. In other words, concept configuration describes how the framework should be completed in order to create the implementation of the concept.
FSMLs enable
An example FSML for modeling Eclipse Parts (i.e., editors and views) and Part Interactions (e.g., listens to parts, requires adapter, provides selection).
The prototype implementation supports automated round-trip engineering of Eclipse plug-ins that implement workbench parts and part interactions.
(FSML) is a kind of domain-specific modeling language which is designed for an object-oriented application framework
Application framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of an application for a specific development environment ....
.
FSMLs define framework-provided abstractions as FSML concepts and decompose the abstractions into features. The features represent implementation steps or choices.
A FSML concept can be configured by selecting features and providing values for features.
Such a concept configuration represents how the concept should be implemented in the code. In other words, concept configuration describes how the framework should be completed in order to create the implementation of the concept.
Applications
FSMLs are used in model-driven development for creating models or specifications of software to be built.FSMLs enable
- the creation of the models from the framework completion code (i.e., automated reverse engineeringReverse engineeringReverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation...
) - the creation of the framework completion code from the models (i.e., automated forward engineering)
- code verification through constraint checking on the model
- automated round-trip engineeringRound-trip engineeringRound-trip engineering is a functionality of software development tools that synchronizes two or more related software artifacts, such as, source code, models, configuration files, and other documents...
Examples
Eclipse Workbench Part Interaction FSMLAn example FSML for modeling Eclipse Parts (i.e., editors and views) and Part Interactions (e.g., listens to parts, requires adapter, provides selection).
The prototype implementation supports automated round-trip engineering of Eclipse plug-ins that implement workbench parts and part interactions.
See also
- General-purpose modelingGeneral-purpose modelingGeneral-purpose modeling is the systematic use of a general-purpose modeling language to represent the various facets of an object or a system...
GPM - Model-driven engineeringModel-driven engineeringModel-driven engineering is a software development methodology which focuses on creating and exploiting domain models , rather than on the computing concepts...
MDE - Domain-specific language DSL
- Model-driven architectureModel-driven architectureModel-driven architecture is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of...
MDA - Meta-Object FacilityMeta-Object FacilityThe Meta-Object Facility is an Object Management Group standard for model-driven engineering. The official reference page may be found at OMG's website.- Overview :...
MOF