Explore chapters and articles related to this topic
Building Information Modeling and Code Checking
Published in Nawari O. Nawari, Building Information Modeling, 2018
BIMQL uses the Model Driven Architecture (MDA) approach to software engineering. MDA is one of the architectural cornerstones of the bimserver.org framework. It is based on the concept that instead of developing the source code itself, the programmer develops a model that is used for automatically generating the source code. This approach normally increases transportability, efficiency, and cross-platform interoperability. In this approach, EXPRESS schema is first converted to an Eclipse Modeling Framework (EMF) model. The EMF is a software-modeling framework and code generation platform for developing applications based on a structured data model. It offers tools and runtime backing to generate a set of Java classes for the model, along with a set of other adapter classes that enable the displaying and editing of the model.
Models and Tools for Complex Embedded Software and Systems
Published in Luciano Lavagno, Igor L. Markov, Grant Martin, Louis K. Scheffer, Electronic Design Automation for IC System Design, Verification, and Testing, 2017
EMF [102] is a very popular open-source solution for the creation of domain-specific modeling languages based on metamodels. The Eclipse core facility (Ecore) allows one to create a metamodel specification compliant with the metaobject facility (MOF) [103] OMG standard metamodeling language.
Enhancing Monte Carlo Workflows for Nuclear Reactor Analysis with Metamodel-Driven Modeling
Published in Nuclear Science and Engineering, 2023
Peter J. Kowal, Camden E. Blake, Kurt A. Dominesey, Robert A. Lefebvre, Forrest B. Brown, Wei Ji
That said, although this paper focuses on the development of the Python wrapper around the Java API, the Java API is a useful tool in its own right. The Java API is derived from the MCNP metamodel, which means that it is the direct programmatic implementation of the metamodel. This carries the key implication that the Java API—which can also be used from other Java Virtual Machine (JVM) languages such as Kotlin, Groovy, or Scala—has complete coverage of the entire structure of the metamodel and therefore is equipped with all of the classes and methods to create or access any metamodel feature. Since the metamodel itself is intrinsically linked to the MCNP grammar, the Java API is inherently linked as well and will always reflect the latest changes and improvements to the grammar. Furthermore, the metamodel and Java API are both generated within the Eclipse Modeling Framework (EMF), which offers several advantages over “plain old Java objects” (POJOs) including XMI persistence; a reflective API; comprehensive validation utilities; the concept of set, unset, and default values; form-based and/or graphical editors; proxies for lazily loading large resources; a run-time framework supporting the Model View Controller paradigm; and a data model with clearly defined interfaces and ownership semantics, among other useful features.19
Service-Oriented Computing for intelligent train maintenance
Published in Enterprise Information Systems, 2019
Boukaye Boubacar Traore, Bernard Kamsu Foguem, Fana Tangara, Xavier Desforges
The main tool used is the Eclipse Modeling Framework that supports the creation and the publication of metamodels in compliance with a core metamodel (Ecore). It also enables the edition of the models compliant to the principles of these metamodels. The MDA approach requires two metamodels to perform transformations from a source model to a target model, for our case it is the UML metamodel and the WSDL metamodel. Thus, the CIM and the PIM are modeled with UML. They must necessarily conform to the UML metamodel. A UML metamodel is a class diagram conforming to the MOF1.4 standard. For PSM modeling, MDA also recommends the use of UML Profile to achieve the metamodel of the target platform. This explains the need to have a WSDL metamodel to which the web service templates must conform. At this level, we have created some metamodels complying with UML and WSDL. To achieve the processing of model transformations, we used the language ATL (Atlas Transformation Language) integrated into the Eclipse EMF.