- Todo:
- {French->English}
The original program is mapped into 2 parts (| Q1 | Q2 |)
-> global compiling then partitionning (runOn pragma)
It produces Q1 and Q2 processes (booleans are added for "tree clock hierchy")
-> Builting the programs
* Q1COSTQ1 = (| Q1 | M(Q1) |)
* Q2COSTQ2 = (| Q2 | M(Q2) |)
-> then execution of
Q1COSTQ1Q2COSTQ2 = (| Abs(Q1COSTQ1) | Abs (Q2COSTQ2) |)
where Abs denotes the "Grey boxes" abstraction
----------------------------------------------------
Compilation globale + Partitionnement
signal -archi -tra ARCHI.SIG
--> archi_xxx.SIG (xxx, yyy sont des entiers)
archi_EXTRACT_xxx_TRA.SIG (renonmmé Q1.SIG)
--> archi_yyy.SIG
archi_EXTRACT_yyy_TRA.SIG (renonmmé Q2.SIG)
-----------------------------------------------------
Construction de Q1COSTQ1= (| Q1 | C(Q1) |) (fichier Q1COSTQ1.gpk, Q1COSTQ1.SIG)
signal Q1.SIG -profiling
produit les fichiers:
* Q1_Simu_bDC_TRA.SIG, ce fichier est renommé en Q1_Simu.SIG
* M_Q1_COST.SIG
signal -tra -clu -spec -c Q1COSTQ1.SIG
Avec les options -spec -clu, il y a production
* du code C (separe en lignees)
* de l'abstraction "Boite Grise" : Q1COSTQ1_ABSTRACT.SIG
Pour avoir le fichier object pour Q1COSTQ1, aller dans le répertoire Q1COSTQ1 et exécuter la commande
make separate -f Makefile_Q1COSTQ1
Production de Q1COSTQ1.o
Le fichier Makefile_Q1COSTQ1 est produit par la commande
genMake C Q1COSTQ1
Cette commande est fournie avec Polychrony.
-----------------------------------------------------------------------------------------------------------
Construction de Q2COSTQ2 = (| Q2 | C(Q2) |) (fichiers Q2COSTQ2.gpk, Q2COSTQ2.SIG)
Cette construction est similaire à celle de Q1COSTQ1.
signal Q2.SIG -profiling (Q2.SIG : archi_yyy.SIG, avec changement de nom du process)
produit les fichiers:
* Q2_Simu_bDC_TRA.SIG, ce fichier est renommé en Q2_Simu.SIG
* M_Q2_COST.SIG
(apres similaire a Q1)
signal -tra -clu -spec -c Q2COSTQ2.SIG
Avec les options -spec -clu, il y a production
* du code C (separe en lignees)
* de l'abstraction "Boite Grise" : Q2COSTQ2_ABSTRACT.SIG
Pour avoir le fichier object pour Q2COSTQ2, aller dans le répertoire Q2COSTQ2 et exécuter la commande
make separate -f Makefile_Q2COSTQ2
Production de Q2COSTQ2.o
Le fichier Makefile_Q2COSTQ2 est produit par la commande
genMake C Q2COSTQ2
Cette commande est fournie avec Polychrony.
-----------------------------------------------------------------------------------------------------------
Et enfin
Q1COSTQ1Q2COSTQ2 = (| Abs(Q1COSTQ1) | Abs (Q2COSTQ2) |) (Composition des abstractions "boite grise" )
Voir le source dans Q1COSTQ1Q2COSTQ2.gpk (forme textuelle, fichier Q1COSTQ1Q2COSTQ2.SIG)
* Production de code
signal -tra -c Q1COSTQ1Q2COSTQ2.SIG
* Production de l'executable.
make -f link_Q1COSTQ1Q2COSTQ2
le fichier link_Q1COSTQ1Q2COSTQ2 est produit par la commande
genLink Q1COSTQ1Q2COSTQ2 Q1COSTQ1 Q2COSTQ2
Cette commande est fournie avec Polychrony.