Integrated Model-driven Development Environments for Equation-based Object-oriented Languages




НазваниеIntegrated Model-driven Development Environments for Equation-based Object-oriented Languages
страница55/55
Дата04.10.2012
Размер0.98 Mb.
ТипДокументы
1   ...   47   48   49   50   51   52   53   54   55

13.4Conclusions and Future work


We have shown how composition on Modelica, using its alternative the ModelicaXML representation, can be achieved with a small extension of the COMPOST framework. While this is a good start, we would like to extend our work in the future with some additional features like:

  • More composition operators and more transformations, i.e., obfuscation, symbolic transformation of equations, aspect oriented debugging of component behavior by weaving assert statements in equations, etc.

  • Implementation of full Modelica semantics to guide the composition, based on the already existing Modelica compiler implemented in the OpenModelica system.

  • Validation of the composed or transformed components with the OpenModelica compiler.

  • Automatic composition of Modelica models based on interpretation of other modeling languages.

Modelica should provide additional constraints on composition, based on the domain knowledge. These constraints are specifying, for example, that specific components should not be connected even if their connectors allow it. We would like to further investigate how these constraints could be specified by library developers.

13.5Appendix


CelestialBody in ModelicaXML format before transformation:

<definition ident="CelestialBody" restriction="class"

string_comment="Celestial Body"/>

<component visibility="public"

ident="mass" type="Real"/>

<component visibility="public"

ident="name" type="String"/>

<component visibility="public"

variability="constant" ident="g"

type="Real">
<modification_equals>

<real_literal value="6.672e-11"/>

modification_equals>

component>

<component visibility="public"

variability="parameter" ident="radius"

type="Real"/>

definition>

CelestialBody and Body in ModelicaXML format after transformation:

<definition ident="Body" restriction="class"
string_comment="Generic Body"/>

<component visibility="public" ident="mass" type="Real"/>

<component visibility="public"

ident="name" type="String"/>

definition>

<definition ident="CelestialBody" restriction="class"

string_comment="Celestial Body"/>

<extends type="Body"/>

<component visibility="public"

variability="constant" ident="g"

type="Real">
<modification_equals>
<real_literal value="6.672e-11"/>

modification_equals>

component>

<component visibility="public" variability="parameter"

ident="radius" type="Real"/>

definition>

The Engine class representation in ModelicaXML:

<definition ident="Engine" restriction="class">

<component visibility="public" variability="parameter"

type="Integer" ident="cylinders">

<modification_equals>
<integer_literal value="4"/>

modification_equals>

component>

<component visibility="public" type="Cylinder" ident="c">

<array_subscripts>

<component_reference ident="cylinders"/>

array_subscripts>
component>
definition>


Part VI


Conclusions and Future Work

Chapter 14


Conclusions and Future Work


As most of the chapters in this thesis have their own specific conclusions and future work, this final chapter presents our general conclusions to the work presented. A summary of the main results and the main contributions of the thesis are reiterated here. We also provide directions for future research.

14.1Conclusions


The thesis presents the new MetaModelica language that successfully employs meta-modeling and meta-programming features to address the entire product modeling process. Portable debugging methods and tools that support the new language were also designed, implemented, and analyzed in the thesis.

The design, implementation and evaluation of efficient compilers targeting the MetaModelica language are presented in the thesis. The implemented compilers are publicly available and extensively used in industry and academia for large applications.

Moreover, the tools (compilers, debuggers, model editors, and additional tools) supporting the MetaModelica language were integrated into an advanced development environment based on the Eclipse platform. The integrated development environment was evaluated on non-trivial industrial applications.

The integration of Modelica-based modeling and simulation tools with model-driven product design tools within a flexible framework that supports scalable model selection and configuration is also proposed.

Most of our thesis contributions have been implemented and integrated into open-source development environments for EOO languages. The evaluations performed using several case studies show the efficiency of our meta-modeling and meta-programming methods and tools.

We conclude that the work presented in this thesis supports our research hypothesis:

  • EOO languages can be successfully generalized to support software modeling, thus addressing the whole product modeling process.

  • Integrated environments that support such a generalized EOO language can be created and effectively used on real-sized applications.

The integrated model-driven environments and the new MetaModelica language presented in the thesis provide efficient and effective methods for designing and developing complex product models. Methods and tools for debugging, management, serialization, and composition of models are also contributed.

To reiterate, the main research contributions of the thesis are:

  • The design, implementation and evaluation of a new general executable mathematical modeling and semantics meta-modeling language called MetaModelica. The MetaModelica language extends the existing Modelica language with support for meta-modeling, meta-programming and exception handling facilities.

  • The design, implementation and evaluation of advanced portable debugging methods and frameworks for runtime debugging of MetaModelica and semantic specifications.

  • The design, implementation, and evaluation of several integrated model-driven environments supporting creation, development, refactoring, debugging, management, composition, serialization and graphical representation of models in EOO languages. Additionally, an integrated model-driven product design and development environment based on EOO languages is also contributed.

  • Alternative representation of EOO models based on XML and UML/SysML are investigated and evaluated. Transformation and invasive composition of EOO models has also been investigated.

The thesis also discusses our work in comparison to related work and outlines the differences, the advantages and the weaknesses of our contributions.

14.2Future Work Directions


While most of the research goals of the thesis have been achieved the presented work can be further improved and extended. In this section we present possible future work directions:

  • Most of the language support (pattern matching, exception handling, the high-level data structure extensions, etc) needed for the OpenModelica compiler bootstrapping has been implemented. Our current work targets the integration of the MetaModelica compiler prototype runtime with the OpenModelica compiler runtime to finalize the compiler bootstrapping procedure. The OpenModelica compiler bootstrapping will provide further optimization, simplification, and modularization of the current compiler specification due to providing full MetaModelica language support, compared to the subset supported by the prototype. When the bootstrapping procedure has been completed, the current MetaModelica compiler prototype will retire and the compilation chain of OpenModelica will be highly simplified. Due to easier programming based on the full MetaModelica language, a simplified compilation procedure, and a simplified compiler specification we expect more contributions from the OpenModelica community developers.

  • Further work on the MetaModelica unified language design targeting the equation evaluation strategies is needed. In the current design and implementation the order of equations in the meta-programming functions is important. We intend to remove this restriction in the future.

  • The modularity and scalability of the MetaModelica language should be further researched. Investigation of the suitability and possible adaptation of the current Modelica component model with regards to software modeling should be carried out. Alternative formalisms such as attribute grammars (Ekman and Hedin 2007 [33]) can provide ideas for improvements in the language design, modularity, and equation evaluation strategies used in the MetaModelica language and its supporting environments to further extend the expressivity and usefulness of the language.

  • Model-driven design and development of whole products is briefly investigated in the thesis. However we consider that more research is needed in this area, especially on the integration of all our existing tools in the product design and development process. The Modelica-UML-SysML (ModelicaML) and the FMDesign environments could be integrated to support several views of the same product model. Another research direction worth investigating is the integration of our Modelica tools with existing SysML tools via the ModelicaML profile. Such integration will provide full system simulation capabilities to existing SysML tools.

  • Our general run-time debugging framework for EOO languages should be fully implemented, evaluated and integrated with existing static equation-based debugging frameworks.

  • The tools for generation of alternative EOO model representations (XML, ModelicaML) and invasive composition engine should be integrated into our MDT environment.



Bibliography





1 COMPOST and its interface layer UNICOMP can also model runtime and other types of component models.

1   ...   47   48   49   50   51   52   53   54   55

Похожие:

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconThe Domain Analysis Integrated in an Object Oriented Development Methodology

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconHypergraph-based Object-oriented Model for gis application

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconObject-Oriented Object-Oriented Languages

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconApplying uml and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconModel Development of a Total Integrated Maintenance System

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconAn integrated framework for model-based flow assurance in deep-water oil and gas production

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconThis paper introduces the basic concepts of Agile Database Techniques, and effective ways to go about the Data-Oriented aspects of Object Oriented software

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconObject-Oriented Metrics: an Annotated Bibliography

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconAn Introduction and Brief Examination of Object-Oriented Data Modeling

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconAn Object-Oriented Support Tool for the Design of Casting Procedures

Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница