130,174 research outputs found
Meta-Packages: Painless Domain Specific Languages
Domain Specific Languages are used to provide a tailored modelling notation
for a specific application domain. There are currently two main approaches to
DSLs: standard notations that are tailored by adding simple properties; new
notations that are designed from scratch. There are problems with both of these
approaches which can be addressed by providing access to a small meta-language
based on packages and classes. A meta-modelling approach based on meta-packages
allows a wide range of DSLs to be defined in a standard way. The DSLs can be
processed using standard object-based extension at the meta-level and existing
tooling can easily be defined to adapt to the new languages. This paper
introduces the concept of meta-packages and provides a simple example
Meta-packages: painless domain specific languages.
Domain Specific Languages are
used to provide a tailored modelling notation
for a specific application domain. There are
currently two main approaches to DSLs: standard notations that are tailored by adding
simple properties; new notations that are
designed from scratch. There are problems
with both of these approaches which can
be addressed by providing access to a small
meta-language based on packages and classes.
A meta-modelling approach based on meta-packages allows a wide range of DSLs to be defined in a standard way. The DSLs can be processed using standard object-based extension at the meta-level and existing tooling can easily be defined to adapt to the new languages. This paper introduces the concept of meta-packages
and provides a simple example
Domain-specific textual meta-modelling languages for model driven engineering
The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-642-31491-9_20Proceedings of 8th European Conference, ECMFA 2012, Kgs. Lyngby, Denmark, July 2-5, 2012Domain-specific modelling languages are normally defined through general-purpose meta-modelling languages like the MOF. While this is satisfactory for many Model-Driven Engineering (MDE) projects, several researchers have identified the need for domain-specific meta-modelling (DSMM) languages providing customised meta-modelling primitives aimed at the definition of modelling languages in a specific domain, as well as the construction of meta-model families.
In this paper, we discuss the potential of multi-level meta-modelling for the systematic engineering of DSMM architectures. For this purpose, we present: (i) several primitives and techniques to control the meta-modelling facilities offered to the users of the DSMM languages, (ii) a flexible approach to define textual concrete syntaxes for DSMM languages, (iii) extensions to model management languages enabling the practical use of DSMM in MDE, and (iv) an implementation of these ideas in the metaDepth tool.This work was funded by the Spanish Ministry of Economy and Competitivity (project “Go Lite” TIN2011-24139) and the R&D programme of the Madrid Region (project “e-Madrid” S2009/TIC-1650
Application Software, Domain-Specific Languages, and Language Design Assistants
While application software does the real work, domain-specific languages
(DSLs) are tools to help produce it efficiently, and language design assistants
in turn are meta-tools to help produce DSLs quickly. DSLs are already in wide
use (HTML for web pages, Excel macros for spreadsheet applications, VHDL for
hardware design, ...), but many more will be needed for both new as well as
existing application domains. Language design assistants to help develop them
currently exist only in the basic form of language development systems. After a
quick look at domain-specific languages, and especially their relationship to
application libraries, we survey existing language development systems and give
an outline of future language design assistants.Comment: To be presented at SSGRR 2000, L'Aquila, Ital
Embedding a hardware description language in a functional meta-programming language
General purpose functional languages such as Haskell, have been widely used as host languages for the embedding of domain specific languages. In particular, various hardware description languages have been successfully embedded in Haskell and other functional languages. More recently, meta-programming languages have also started being used for the embedding of such languages, where the meta-language features allow us to access the structure of data objects in a shallow-style embedding, while retaining the characteristics of a deep-embedding. In this paper, we discuss the application of meta-functional languages for the embedding of a hardware description language, based on reFLect, a functional meta-language which provides an alternative approach for embedding a hardware description language by means of built-in reflection features. Through the use of code quotation and pattern matching, we use reFLect to build a framework through which we can access the structure of our circuits by means of reflection.peer-reviewe
Meta-environment and executable meta-language using smalltalk: an experience report
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
- …