Framework-specific modeling language: Difference between revisions

Content deleted Content added
m spelling
 
(22 intermediate revisions by 11 users not shown)
Line 1:
A '''framework-specific modeling language'''<ref name="fsmlsWithRte">M. Antkiewicz, K. Czarnecki. ''Framework-Specific Modeling Language'Languages with Round-Trip Engineering''. In O. Nierstrasz, J. Whittle, D. Harel, G. Reggio, editors, MoDELS 2006 - Model Driven Engineering Languages and Systems, 9th International Conference, Genoa, Italy, October 2006.</ref> ('''FSML''') is a kind of [[Domain___domain-specific modeling language | Domain-Specific Modeling Language]] which is designed for an [[Application_frameworkApplication framework| Objectobject-Orientedoriented Applicationapplication Frameworkframework]].
 
FSMLs define ''framework-provided abstractions'' as FSML ''concepts'' and decompose the abstractions into ''features''. The features represent implementation steps or choices.
Line 7:
 
==Applications==
FSMLs are used in [[Modelmodel-driven_developmentdriven | Model-Driven Developmentdevelopment]] for creating models or specifications of software to be built.
FSMLs enable
* the creation of the models from the framework completion code (i.e.that is, automated [[Reverse_engineering | reverse engineering]])
* the creation of the framework completion code from the models (i.e.that is, automated forward engineering)
* code verification through constraint checking on the model
* automated [[Roundround-trip_engineeringtrip | Round-Trip Engineeringengineering]]
 
==Examples==
''Eclipse Workbench Part Interaction FSML''
<ref name="wpiFsml">M. Antkiewicz, K. Czarnecki. ''Eclipse Workbench Part Interaction FSML''. Technical Report 2006-09, Electrical & Computer Engineering, University of Waterloo, 2006.</ref>
<ref name="wpiDemo">M. Antkiewicz. ''Round-Trip Engineering of Eclipse Plug-Ins Using Eclipse Workbench Part Interaction FSML''. In OOPSLA'06 Companion, OOPSLA, Portland, Oregon, USA, Oct 22-26, 2006.</ref>
 
An example FSML for modeling Eclipse Parts (that is, editors and views) and Part Interactions (for example listens to parts, requires adapter, provides selection).
{{compu-prog-stub}}
The prototype implementation supports automated round-trip engineering of Eclipse plug-ins that implement workbench parts and part interactions.
 
==See also==
*[[General-purpose modeling]] (GPM)
*[[Model-driven engineering]] (MDE)
*[[Domain-specific language]] (DSL)
*[[Model-driven architecture]] (MDA)
*[[Meta-Object Facility]] (MOF)
 
==References==
{{Reflist}}
 
[[Category:Specification languages]]
[[Category:Modeling languages]]