Différences entre les versions de « DataFlowGenerator »

De Wikip
toross>WikiAdmin
m (1 révision importée)
 
m (1 version importée : dfg)
 
(Aucune différence)

Version actuelle datée du 24 juillet 2026 à 19:08

Version : 1.36.1 4974 (2026-07-24) 20260724190830

Data Flow Generator (Dfg) est un outil qui a pour but le développement de logiciels en gardant la synchronisation entre les sources (Python et C++) et les modèles utilisant DfgUml(UML) et DfgBehaviour(code Python des méthodes).

Il fait appel aux paradigmes de développement suivants : Round-trip engineering, Object-oriented programming et Model-driven software development.

Dfg offre aussi la possibilité d'écrire ou lire automatiquement la forme persistante des données décrites dans DfgUml.

Il existe deux versions de Dfg : V0 et V1.

Dfg V1 utilise DfgUml et DfgBehaviour et ne génère pour l'instant que du code Python tandis que Dfg V0 n'utilise que DfgUml et génère du code Python et C++.

Dfg V1 peut aussi importer DfgUml depuis les diagrammes de classes contenus dans le fichiers édités par le logiciel Dia.

L'outil est gratuitement utilisable en ligne sur Internet à l'adresse http://dfg.bht.fr pour la version 0 et sur http://dfg1.bht.fr pour la version 1.

Les sources générés par Dfg suivent sous la licence MPL 1.1 et/ou LPGL

Data Flow Generator (Dfg) is a tool that is intended for software development by keeping the synchronization between the sources (PYTHON and C++) and models using DfgUml (UML) and DfgBehaviour (Python codes of methods).

It uses the following paradigms of development: Round-trip engineering, Object-oriented programming and Model-driven software development.

Dfg also offers the ability to automatically read and write the persistent form of data described by DfgUml.

There are two versions of Dfg: V0 and V1.

Dfg V1 uses DfgUml and DfgBehaviour and generates, currently, only Python code while Dfg V0 uses only DfgUml and generates Python and C++ code.

Dfg V1 can also import DfgUml from class diagrams contained in the files edited by the software Dia.

The tool can be used online for free at http://dfg.bht.fr for version 0 and http://dfg1.bht.fr for version 1.

Sources generated by Dfg ar under the license MPL 1.1 and/or LPGL
Dfg1.png
Fig. n°1: Data Flow Generator V1

1 Data Flow Generator V1

2 Data Flow Generator V0

Version de développement : Les versions de DataFlowGenerator

3 Les versions de DataFlowGenerator

4 Versionnement

4.1 Application versioning

R-V1.V2.V3.V4
The identification consists of:
R (release) xn pre-alpha alpha beta gamma/rcn prod/gold/live_release
The release is the qualification of software distribution or delivery often as a file or set of files, called a package. Here are the qualifications in the logical order of software development project (http://en.wikipedia.org/wiki/Software_testing):
xn or x1,x2, ...
delivery made during the development after unit tests. Distribution can be used between development teams who do not share the same basic sources;
pre-alpha or rpa
delivery made before the end of development and after integration tests. Distribution can be used between development integration testing teams;
alpha or ra
delivery made to the test team for System tests;
beta or rb
delivery made to a small number of users for User Acceptance Tests(UAT);
gamma_n or rcn
delivery also called "Release Candidate" number n, after nth UAT;
prod, gold, ou lr (live release)
delivery called "live release" which is considered to be very stable and relatively bug-free with a quality suitable for wide distribution and use by end users (http://en.wikipedia.org/wiki/Software_release_life_cycle).
V1
a number that indicates the evolution of the system architecture and/or a large number of functional changes;
V2
a number that indicates the evolution of the functions provided by the application;
V3
a number that indicates the evolution of implementations of functions;
V4
a number, optional, which indicates the integration of bugfixes.

4.2 Grammar/File Format versioning

grV1.grV2.grV3 / flV1.flV2.flV3
xxV1 changes that can not keep backward compatibility when reading
xxV2 developments that maintain backward compatibility when reading
xxV3 changes such as additions, comments or additional support in the grammar that have no impact on reading

Le format du fichier et le modèle définit par le fichier même, cette version est celle du modèle.

4.3 Driver versioning (python or c++)

  • For each grammar main version number, which is grV1, a new driver versioning starts.
drV1.drV2.drV3
drV1 major modifications
drV2 minor modifications
drV3 bug corrections

5 Scripts d'utilisation

#!/bin/bash
cafile=~/scratch/change/doc/certificat/cacert.cer
if [ -f $cafile ] ; then
    echo ""
else
    cafile=~/cacert.cer
fi ;
rm -Rf ./generated/*
python ~/scratch/svnDvlp/dfg1/dfg_V1PythonGenDriver.py \
 --pathGrammarfile doc/dvlp/spec/fileModel/graphGenFileModel.xml \
 --dataName graphGenhFile \
 --cartridgeFile tool/data/cartridge.txt \
 --licenceFile tool/data/licence.txt \
 --driverVersion "0.0.0" \
 --fileformatVersion "0.0.0" \
 --pathGen modFileDrv/api/impl


#!/bin/bash
cafile=~/scratch/change/doc/certificat/cacert.cer
if [ -f $cafile ] ; then
    echo ""
else
    cafile=~/cacert.cer
fi ;
rm -Rf ./generated/*
python ~/scratch/svnDvlp/dfg1/dfg_V1PythonGenDriver.py \
  --pathGrammarfile doc/dvlp/spec/fileModel/calibrationModel.xml \
  --dataName calibrationConfig \
  --cartridgeFile tool/data/cartridge.txt \
  --licenceFile tool/data/licence.txt \
  --driverVersion 0.0.0 \
  --fileformatVersion 0.0.0 \
  --pathGen modFileDrv/api/impl