Giter Club home page Giter Club logo

imbriqua_structure_loader's Introduction

Imbriqua Structure Loader : Interpreter of BPMN model files (in UML notation) for Imbriqua Engine project

Context

The Object Management Group® (OMG®) is an international, open membership, not-for-profit technology standards consortium, who create and make evolve specification for modeling language.

Updated in 2010, the BPMN™ (Business Process Model and Notation) specification propose a normative language for business process modeling. This notation is schematic-oriented and highly adaptive. BPMN project can be exchange in XML-structured files. This repository proposes to create a interpreter who generates BPMN class and function code (in RUST) from BPMN metamodel files.

Goal

Based on MOF™ (Meta Object Facility) and on UML® (Unified Modeling Language) specification, the BPMN™ 2.0.2 specification publish consumable file of BPMN class model in UML language.

With the goal to create RUST structure and RUST traits based on BPMN Structute and BPMN Execution semantic, this repository propose to make the following task :

  • Generate RUST structures, with attributes, associations and heritage
    • TODO For BPMN definition, using BPMN 2.0.2 .cmof files
    • TODO For BPMN execution, using custom .cmof files
  • Generate SQL up file, including creation of tables, attributes, foreign-key, and contraints
    • TODO For BPMN definition, using BPMN 2.0.2 .cmof files
    • TODO For BPMN execution, using custom .cmof files
  • Generate SQL down file, including removal of tables, attributes, foreign-key, and contraints
    • TODO For BPMN definition, using BPMN 2.0.2 .cmof files
    • TODO For BPMN execution, using custom .cmof files
  • Generate RUST traits for structures, for BPMN Execution
    • TODO For BPMN execution, using custom .cmof files

The following element aren't in the scope of the project :

  • Integrate SQL migration files : All execution don't take in account any old result and old input file. No file provide to migrate database after modification of classes or attributes

How to use

Reference

All resource and files from OMG consortium can be found in the folder "resource" of this repository. It contain actual and previus version of BPMN™, DD™, MOF™, OCL™, UML® and XMI® specification.

Copyright

Copyright 2023-2024 CHATROUX MARC

This file is part of Imbriqua Structure, a interpreter of BPMN model files (in UML notation) for Imbriqua Engine project Imbriqua Structure is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Imbriqua Structure is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Imbriqua Structure. If not, see https://www.gnu.org/licenses/.

imbriqua_structure_loader's People

Contributors

marc-chatroux-elmarcofr38 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

imbriqua_structure_loader's Issues

Reviewing module_dependencies_explorer

  • Apply module_file_env, module_file_manager, module_log gain
  • Add rustdoc for existing content
  • Add tests for existing content
  • Apply clippy
  • And multiple output file in primar_result

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.