Model Driven Engineering is a promizing approach that could lead to the emergence of a new paradigm for software evolution, namely Model Driven Software Evolution. Models, Metamodels and Transformations are the cornerstones of this approach. Combining these concepts leads to very complex structures which revealed to be very difficult to understand especially when different technological spaces are considered such as XMLWare (the technology based on XML), Grammarware and BNF, Modelware and UML, Dataware and SQL, etc. The concepts of model, metamodel and transformation are usually ill-defined in industrial standards like the MDA or XML. This paper provides a conceptual framework, called a megamodel, that aims at modelling large-scale software evolution processes. Such processes are modeled as graphs of systems linked with well-defined set of relations such as RepresentationOf (µ), ConformsTo (χ) and IsTransformedIn (τ ).
Abstract. Plastic User Interfaces (UI) are able to adapt to their context of use while preserving usability. Research efforts have focused so far, on the functional aspect of UI adaptation, while neglecting the usability dimension. This paper investigates how the notion of mapping as promoted by Model Driven Engineering (MDE), can be exploited to control UI adaptation according to explicit usability criteria. In our approach, a run-time UI is a graph of models related by mappings. Each model (e.g., the task model, the Abstract UI, the Concrete UI, and the final UI) describes the UI from a specific perspective from high-level design decisions (conveyed by the task model) to low-level executable code (i.e. the final UI). A mapping between source and target models specifies the usability properties that are preserved when transforming source models into target models. This article presents a meta-model for the notion of mapping and shows how it is applied to plastic UIs.
Humans will have to live with software for a long time. As demonstrated by the Y2K problem, computer professionals used a wrong time scale when thinking about software. Large software products live much longer than expected. It took a few decades to the research community to admit that software engineering was not only about software development, but above all, about software evolution. However, most academics still consider languages as immutable artefacts. Language/software coevolution issues are still neglected. Migration issues are however commonplace in software industry... It is therefore time to recognize that languages evolve too. Languages are integral parts of software products. Languages are software too. This paper surveys a few models of evolution taking decades and centuries as time-scales. Then programming languages evolution over the last half-century is sketched by means of a metamodel movie.
International audienceUnderstanding modern software products is challenging along several dimensions. In the past, much attention has been focused on the logical and physical architecture of the products in terms of the relevant components, features, files, and tools. In contrast, in this paper, we focus on the linguistic architecture of software products in terms of the involved software languages and related technologies, and technological spaces with linguistic relationships such as membership, subset, or conformance. We develop a designated form of megamodeling with corresponding language and tool support. An important capability of the megamodeling approach is that entities and relationships of the megamodel are linked to illustrative software artifacts. This is particularly important during the understanding process for validation purposes. We demonstrate such megamodeling for a technology for Object/XML mapping. This work contributes to the 101companies community project
Abstract. Ubiquitous computing has introduced the need for interactive systems to run on multiple platforms in different physical environments. Providing a user interface specially crafted for each context of use () is costly, may result in inconsistent behaviors [5] and above all is limited to the contexts of use that have been envisioned at design time. Opportunistic interaction in a changing environment requires enabling approaches and techniques for gracefully adapting the interactive system to its context of use. In Human-Computer Interaction, this ability of an interactive system to withstand variations of context of use while preserving its quality in use is called plasticity [7]. This paper shows how Model Driven Engineering is suited for supporting plasticity both at design time and run time.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.