Meta-Environment and Executable Meta-Language using Smalltalk: an Experience Report

Abstract : Object-oriented modelling languages such as EMOF are often used to specify domain specific meta-models. However, these modelling languages lack the ability to describe behavior or operational semantics. Several approaches have used a subset of Java mixed with OCL as executable meta-languages. In this experience report we show how we use Smalltalk as an executable meta-language in the context of the Moose reengineering environment. We present how we implemented EMOF and its behavioral aspects. Over the last decade we validated this approach through incrementally building a meta-described reengineering environment. Such an approach bridges the gap between a code-oriented view and a meta-model driven one. It avoids the creation of yet another language and reuses the infrastructure and run-time of the underlying implementation language. It offers an uniform way of letting developers focus on their tasks while at the same time allowing them to meta-describe their domain model. The advantage of our approach is that developers use the same tools and environment they use for their regular tasks. Still the approach is not Smalltalk specific but can be applied to language offering an introspective API such as Ruby, Python, CLOS, Java and C#.
keyword : stefPub kzMeta
Document type :
Journal articles
Complete list of metadatas

Cited literature [41 references]  Display  Hide  Download

https://hal.inria.fr/hal-00746255
Contributor : Lse Lse <>
Submitted on : Sunday, October 28, 2012 - 3:00:29 PM
Last modification on : Thursday, February 21, 2019 - 10:52:50 AM
Long-term archiving on : Tuesday, January 29, 2013 - 3:43:59 AM

File

Duca08a-Sosym-ExecutableMetaLa...
Files produced by the author(s)

Identifiers

Citation

Stéphane Ducasse, Tudor Gîrba, Adrian Kuhn, Lukas Renggli. Meta-Environment and Executable Meta-Language using Smalltalk: an Experience Report. Software & Systems Modeling, Springer Verlag, 2009, 8 (1), pp.5--19. ⟨10.1007/s10270-008-0081-4⟩. ⟨hal-00746255⟩

Share

Metrics

Record views

337

Files downloads

328