This document discusses developing a megamodeling language called MegaL to model the linguistic architecture of software. Megamodeling aims to help manage diversity and heterogeneity across technologies by precisely modeling languages, technologies, programs and their relationships. MegaL is designed to be a general-purpose megamodeling language where entities and relationships can be extended, and everything is modeled as a resource accessible over HTTP. Key challenges include handling partial errors across many sources and providing extensibility while controlling it through the type system.
5. A typical software project
programming languages
(e.g., Java, PHP, JavaScript, or Python)
DSLs (e.g., CSS, XSLT, or SQL)
library-based languages
(e.g., JQuery, DOM API)
con鍖guration languages
(e.g., Hibernate mapping)
models
schemas
models
many languages and technologies
somehow related
7. Goal: Develop a megamodeling approach that
is useful for understanding the linguistic architecture of
software products
supported by the MegaL language and the tool suite
8. megamodeling must help with managing diversity and
heterogeneity of software technologies
ognitive value is important!
[Some] motivations:
Empirical Assessment of MDE in Industry by John Hutchinson,
Jon Whittle, Mark Rounce鍖eld and Steinar Kristoffersen
use of models for team communication
use of models for understanding a problem
at an abstract level
use of models to capture and document
designs
9. A megamodel is a model of which at least some elements
represent and/or refer to models or metamodels.
Bezivin, J., Jouault, F.,Valduriez, P.: On the need for Megamodels. In: Proceedings of the OOPSLA/GPCE: Best Practices for Model-
Driven Software Development workshop (2004)
11. the same information capacity
one can de鍖ne the same set of instances up to a
uniquely de鍖ned isomorphism
=
?
Q: how can we check this?
12. The notion of megamodel
Megamodels are (ER) models.
Entities of interest
Languages
Technologies (components thereof)
Programs
...
Relationships of interest
Conformance
Transformation
...
13. Fig. 1. The linguistic architecture of a software product when displayed with the Me-
gaL/Explorer tool.
Demo
http://worker.101companies.org/MegaModels/implementations/xsdClasses/