YERITH_QVGE 2
YERITH-ERP-9-0-SOFTWARE-SYSTEM-ARCHITECTURE 42
YERITH-ERP_mul i_si es_base_de_donnees 79
y i-sd-db- un ime- e i 98
YERITH_QVGE-in o 2
YERITH_QVGE-de ini ions---chea --shee 6
YERITH_QVGE-use -guide 27
YERITH &d |in o ma ion b ochu e o YERITH_QVGE
In o ma ion B ochu e o he
Design and Tes ing Sys em
YERITH_QVGE (YRI_QVGE)
Xa ie Noumbissi Noundou [P . P o . D .–Ing. ]
CONTACT: [email p o ec ed]
Table 1: EQUIVALENCES
scien ific li e a u e enginee ing ac onym
PRE BEFORE
POST AFTER
A TRACE AN EVENT LOG
A FINAL STATE AN ERROR STATE
Figu e 1: A mo i a ing example, as p e ious bug ound in YERITH–ERP–9.0.
Q0:=NOT_IN_BEFORE(YRI_ASSET, depa men .depa men _name).
Q1 :=IN_AFTER(YRI_ASSET, s ocks.depa men _name).
D
Q0
s a E
Q1
[in_sql_e en _log(’DELETE.depa men .YRI_ASSET’, STATE(D))] / ’SELECT.depa men ’
Figu e 2: A SAMPLE s a e diag am mealy machine file. KEYWORDS belonging bo h o ’enginee ing (ERROR_STATE)’, and
’science (START_STATE)’ can be in e mingled in he same SDMM specifica ion file.
1. y _sd_mealy_au oma on_spec y _missing_depa men _NO_DELETE
2. {
3. START_STATE(d):NOT_IN_BEFORE(YRI_ASSET,depa men .depa men _name)
4. ->[in_sql_e en _log(’DELETE.depa emen .YRI_ASSET’,STATE(d))]/’SELECT.depa men ’->
5. ERROR_STATE(e):IN_AFTER(YRI_ASSET,s ocks.depa men _name).
6. }
Figu e 3: A SCREENSHOT OF YERITH_QVGE.
Figu e 4: A SCREENSHOT OF YRI-DB-RUNTIME-
VERIF SQL EVENT LOG.
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page 1. | Ve sion o – Oc obe 14, 2025 –
YERITH_QVGE: a design ool o es ing sql co ec ness p ope ies YERITH &d
1 De elope Biog aphy
Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] is a CHRISTIAN
BY FAITH, Came oonian, bo n on Sep embe 16 1983 in
DOUALA (LITTORAL egion, CAMEROON). Xa ie has a ”Diplom–
In o ma ike (Dipl.–In .)” qualifica ion om he Uni e si y o
B emen, B emen, B emen, GERMANY (May 25,2007). XAVIER
NOUNDOU IS A ”D .–Ing. :Doc o o Enginee ing (PhD equi alen
– Compu e So wa e Ve i ica ion & Analysis)” om THE
UNIVERSITY OF WATERLOO (ON, CANADA); DECEMBER 20,
2011 !
Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] has
wo ked oge he wi h P . P o . D . habil. Jan Peleska, a AGBS–
Uni e si y o B emen, GERMANY; and 2yea s la e a Wa Fo m–
Uni e si y o Wa e loo, ON, Canada, wi h P . P o . D .–Ing. Pa ick
Lam.
Xa ie could success ully wo k wi h D . F ank Tip a The
Uni e si y o Wa e loo (Wa e loo, ON, Canada) on his fi s JAVA
dynamic p og am analysis.
Xa ie also had he g ea oppo uni y h ough P . P o .
D .–Ing. Ma cel Mi an and P . P o . D .–Ing. Pa ick Lam; o
wo k as a g adua e in e n in Ma kham (To on o, ON, CANADA)
a IBM TORONTO SOFTWARE LABORATORY; in he JAVA–J9
Jus –In–Time Compile Op imiza ion Team, oge he wi h Vijay
Sunda esan, M.Sc. (McGill Uni e si y, QC, Canada).
Xa ie has ollowing academic and p o essional
enginee ing esea ch con ibu ions:
1. ’S a is ical es case gene a ion o eac i e sys ems’ a
RTT-MBT a VERIFIED SYSTEMS INTERNATIONAL GmbH
(h ps://www. e ified.de).
2. ’Con ex -Sensi i e S aged S a ic Tain Analysis Fo C using
LLVM’:
1. sou ce code in C++:
h ps://www.gi hub.com/sazzad114/sain
2. ull ex :
h ps://zenodo.o g/ eco d/8051293 .
3. ’YERITH-ERP-3.0’:
1. sou ce code in C++:
a. YERITH–ERP–9.0:
h ps://www.gi hub.com/ye i h d/
ye i h-e p-9-0
b. YERITH–ERP–9.0 SYSTEM DAEMON:
h ps://www.gi hub.com/ye i h d/
ye i h-e p-9-0-sys em-daemon
2. ull ex (ongoing publica ion):
h ps://zenodo.o g/ eco d/8052724 .
2 In oduc ion
Figu e 5: SOFTWARE ARCHITECTURE OF YRI-DB-
RUNTIME-VERIF.
OPERATING SYSTEM (OS)
MYSQL lib a y me hods calls
OS sys em calls
y i−db− un ime− e i
QT socke calls ( ia Q −Dbus)
A RUNTIME MONITOR
LIBRARY − PLUGIN
PUA / SUT (JVM−ja a i ual machine)
PUA sou ce code ins umen ed
YERITH_QVGE is a CASE (Compu e -Aided
So wa e Enginee ing) design ool o gene a e
"domain-specific language (DSL) YRI_SD_RUNTIME_VERIF_LANG 1"
files, o be inpu ed in o he "compile
YRI_SD_RUNTIME_VERIF_LANG_COMP", so o gene a e
C++ files o he un ime e ifie es e "YRI-DB-
RUNTIME-VERIF 2" ha allows o manual e ifica ion o
SQL co ec ness p ope ies o G aphical Use In e ace (GUI)
so wa e.
YRI-DB-RUNTIME-VERIF inpu s SQL co ec ness p ope ies
exp essed using he o malism s a e diag am mealy machine
(YRI_SD_RUNTIME_VERIF_LANG). Figu e 5illus a es a so wa e
sys em a chi ec u e o YRI-DB-RUNTIME-VERIF, oge he wi h he
moni o ed p og am unde analysis. The F ee Open Sou ce Code
So wa e (FOSS) ool-chain o de elopmen es ing is loca ed as
ollows o ee, EXCEPT o "YERITH_QVGE " ha is a Closed
Sou ce Code So wa e (CSCS):
•COMPILER (i.e.: YRI_SD_RUNTIME_VERIF_LANG_COMP):
h ps://www.gi hub.com/ye i h d/y i_sd_ un ime_
e i _lang
•RUNTIME VERIFIER TESTER (i.e.: YRI-DB-RUNTIME-VERIF):
h ps://www.gi hub.com/ye i h d/
y i-db- un ime- e i
•s a e diag am mealy machine UNIT TESTS CODE (i.e.:
YRI_SD_RUNTIME_VERIF_UNIT_TESTS):
h ps://www.gi hub.com/ye i h d/y i_sd_ un ime_
e i _UNIT_TESTS
•s a e diag am mealy machine (i.e.:
YRI_SD_RUNTIME_VERIF_LANG):
h ps://www.gi hub.com/ye i h d/y i_sd_ un ime_
e i
3 YERITH_QVGE (YRI_QVGE) P ojec Dependency
Table 2: YERITH_QVGE Design and Tes ing Sys em
Dependencies
1h ps://www.gi hub.com/ye i h d/y i_sd_ un ime_ e i _lang
2h ps://www.gi hub.com/ye i h d/y i-db- un ime- e i
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page 2. | Ve sion o – Oc obe 14, 2025 –
YERITH_QVGE: a design ool o es ing sql co ec ness p ope ies YERITH &d
PROJECT Requi ed Lib a y
1)YRI_SD_RUNTIME_VERIF_LANG
2)YRI_SD_RUNTIME_VERIF_LANG_COMP 1)
3)YRI_SD_RUNTIME_VERIF_UNIT_TESTS 1)
4)YRI-DB-RUNTIME-VERIF 2)
Table 2illus a es o each lib a y p ojec , which o he s i depends
on.
Figu e 6: YERITH_QVGE so wa e lib a y dependencies.
YRI_SD_RUNTIME_VERIF_LANG
YRI_SD_RUNTIME_VERIF_LANG_COMP
YRI_SD_RUNTIME_VERIF_UNIT_TESTS
Run ime moni o con aine
(e.g.: YRI−DB−RUNTIME−VERIF)
Design SDMM; om CASE ool (e.g.: YERITH_QVGE)
Figu e 6show a diag am o e iew o he p esen a ion in Table 2.
The s ep o he uni es s is colo ed in g ay because i is only o
de elope s o YERITH_QVGE in ended.
4 Po en ial Uses o YERITH_QVGE
YERITH_QVGE (YRI_QVGE) could be used o he ollowing
au oma ic gene a ion, analysis, e ifica ion, and alida ion asks:
1. Au oma ic gene a ion o un ime moni o ing module p og am
o p o e whe he a es p ocedu e, au oma ed, o no , is co ec
wi h ega ds o a es and / o design STATE DIAGRAM MEALY
MACHINE.
In effec , le he es execu ion be un ime moni o ed o wa ch
whe he accep ing e o s a es would be ound.
Fo ins ance, Juni es ing en i onmen could au oma ically
in eg a e an au oma ically gene a ed un ime moni o
in as uc u e o uni es ing.
2. Au oma ic gene a ion o un ime moni o ing module p og am
o any so wa e ha can emi DBus messages.
Such un ime moni o ing modules a e o in e es o special
LTL model checking p ope ies ha canno ge a defini e answe
h ough use o a con en ional model checke .
3. So wa e design p ope ies wi h SQL
4. So wa e design p ope ies including e en sequences o e
diffe en laye s o so wa e sys em a chi ec u e
5. Class diag am wi h sequence diag am.
5 Ad an ages o YERITH_QVGE
Figu e 7: Wo kflow.
use p ojec di ec o y:
"$USER_PROJECT_DIR/sd−mealy−machine−specs".
copy ".spec_sd_mealy" gene a ed
ile in o YRI−DB−RUNTIME−VERIF
YRI−DB−RUNTIME−VERIF
Ins umen SUT (sys em ude es )
wi h Q Dbus calls o
sa e y p ope y wi h
YRI_QVGE.
d aw SQL empo al
GENERATE A SINGLE
y i−db− un ime− e i execu able
"$YRI−DB−RUNTIME−VERIF".
using bash sc ip s in olde
A sample s a e diag am mealy machine is shown in Figu e 2.
WITH manual d awing o SQL CORRECTNESS PROPERTY
MODEL, you a e eed om manually w i ing "s a e
diag am mealy machine ex files" ha could be edious and
leng hy. Also, edi ing s a e diag am mealy machine files
manually could be mo e e o -p one han le ing a compile
(YRI_SD_RUNTIME_VERIF_LANG_COMP) do i o you.
6 Conclusion
YERITH_QVGE cos s only 2, 500 EUROS. WE ONLY SUPPORT
DEBIAN–LINUX (h ps://www.debian.o g).
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page 3. | Ve sion o – Oc obe 14, 2025 –
Index
s a e diag am mealy machine, 2
CASE (Compu e -Aided So wa e Enginee ing), 2
domain-specific language (DSL), 2
un ime e ifie es e , 2
SQL co ec ness p ope ies, 2
4
YERITH &d |Use ’s Chea Shee o YRI_SD_RUNTIME_VERIF : A C++ Func ional Lib a y o Speci ying ”SDMM” (S a e Diag am Mealy Machine)
Use ’s Chea Shee o
YRI_SD_RUNTIME_VERIF :
AC++ Func ional Lib a y o Speci ying
”SDMM” (S a e Diag am Mealy Machine)
AUTHOR: Xa ie Noundou [P . P o . D .–Ing. ]
Con ac : [email p o ec ed]
Con en s
Con en s 1
Lis o Figu es 2
Lis o Tables 3
1 Mo i a ion o SDMM’s Run ime Moni o ing Ve ifica ion Lib a y ”YRI_SD_RUNTIME_VERIF”6
1.1 A Sample Use–Case Scena io o ”SDMM”..................................................... 6
1.2 WHY DO I NEED FORMAL METHODS ....................................................... 6
1.2.1 ”C++ lib a y YRI_SD_RUNTIME_VERIF”: Exp essing o sequencing o ac ions in ime ( empo al usage ules o sys em
sa e y) ....................................................................... 6
1.3 Compa ison wi h Uni Tes ing ............................................................ 6
1.3.1 Uni Tes ing ................................................................... 6
1.3.2 Au oma ed Uni Tes ing ........................................................... 6
1.3.3 Run ime Moni o ing Ve ifica ion ...................................................... 6
1.4 S a e Diag am Mealy Machine : Usages & Ad an ages ............................................. 7
1.4.1 Usages ...................................................................... 7
1.4.2 Ad an ages ................................................................... 7
1.4.3 Cases o P ac ical Usages o ”SDMM” .................................................. 7
1.5 S a e Diag am Mealy Machine : B ie Summa y Explana ion ......................................... 7
1.6 Rela ed S a e Diag am Fo malisms ......................................................... 8
1.6.1 Da id Ha el S a echa : A Visual Fo malism o S a e Diag am .................................. 8
1.6.2 Timed Disc e e Inpu / Ou pu Hyb id Sys em (TDIOHS) ....................................... 8
1.6.3 TDIOHS in Ac ion wi hin ”Bo land Toge he 6”wi h RT–Tes e o ’ e ified.de’........................ 8
1.6.4 TDIOHS in Ac ion by ”Au oma ic Tes Cases / Da a Gene a ion” ................................. 9
2 Ma hema ical Fo mal Defini ion o SDMM 9
2.1 Defini ion 1: A s a e diag am ( o mealy machine). ............................................... 9
2.2 Defini ion 2: A p e-condi ion. ............................................................ 9
2.3 Defini ion 3: A pos -condi ion. ............................................................ 9
2.4 Defini ion 4: A ace. .................................................................. 10
2.5 SUT E en P ocessing Me hod YRI_ igge _an_edge_e en ................................... 10
2.5.1 P oposi ion 1: NO FALSE WARNINGS. .................................................. 10
2.5.2 Explana ion on HOW o a oid code ha c ea es False Wa nings (False Posi i es) ...................... 10
2.6 Gua ded Condi ion Exp ession Specifica ion in YRI_SD_RUNTIME_VERIF ................................... 10
2.7 SDMM o modeling pa allel-concu en so wa e sys em .......................................... 10
2.8 SDMM in Ac ion wi hin YRI_QVGE by ’Ye i h R&D’ ............................................... 10
2.9 SDMM in Ac ion by au oma ic ”Run ime Moni o s Au oma ic Gene a ion” ................................ 10
3 HOW TO Se up C++ Lib a y ”YRI_SD_RUNTIME_VERIF” o Usage in A C++ PROGRAM SOURCE CODE 11
3.1 De elopmen Toolchain ................................................................ 11
4 METHODS o C++ Lib a y ”YRI_SD_RUNTIME_VERIF”12
4.1 Gene a ed Me hod YOU need o code ....................................................... 12
5 A Ha dwa e Dedica ed De ice : YRI–QVGE–PC–Table 13
6 De ailed Scien ific and Enginee ing P esen a ion Documen on ’zenodo.o g’ 14
7 Conclusion 14
Index 14
Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "1 / 16". | Ve sion o – Oc obe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
Lis o Figu es
1 A mo i a ingexample, as p e iousbug oundin YERITH–ERP–9.0.Q0 :=NOT_IN_BEFORE(YRI_ASSET, depa men .depa men _name); Q1 :=
IN_AFTER(YRI_ASSET, s ocks.depa men _name). ..................................................... 4
2 YERITH–ERP–9.0 adminis a ion sec ion displaying depa men s (¬Q0). ................................. 4
3 YERITH–ERP–9.0 s ock asse window lis ing some asse s (Q1). ....................................... 4
4A SAMPLE s a e diag am mealy machine file. KEYWORDS belonging bo h o ’enginee ing ("ERROR_STATE_AUTO")’,
and ’science (START_STATE)’ can be in e mingled in he same SDMM specifica ion file. ...................... 4
5 SAMPLE INTERNET-RELATED USE CASE SCENARIO OF "SDMM ". ................................... 5
6 A SCREENSHOT OF YERITH_QVGE. ........................................................ 5
7 A SCREENSHOT OF YRI-DB-RUNTIME-VERIF SQL EVENT LOG. ......................................... 5
9 A Sample Da id HAREL–S a echa model o he empo al p ope y exp essed in fig. 4 : —”Whene e depa men
YRI_ASSET was dele ed (e en ’DELETE.depa men .YRI_ASSET’); que ying s ock able shall no find again an in en o y
s ock in any depa men named YRI_ASSET”—. ................................................ 8
10 A STCT–symbolic es case ee andomly gene a ed by manual d awing o explana ion pu poses. ............... 8
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "2 / 16". | Ve sion o – Oc obe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
1.4 S a e Diag am Mealy Machine : Usages & Ad an ages
1.4.1 Usages
◦So wa e code p og am es ing & e i ying equi es means o
exp essing equi ing in a o m ha can be used and execu ed by
a compu e p og am.
"SDMM " is a ex ual (See Figu e 4) and g aphical (See
Figu e 1) ep esen a ion o so wa e sys em equi emen s;
HOWEVER, equi emen s exp essed using "SDMM " a e ail
( o bidden) equi emen s : I.E., so wa e sys em execu ion un
ha shall ne e happen !
◦Du ing so wa e de elopmen , de elope s need o cha ac e ize
effec s o p og am s a emen s on o so wa e p og am
beha io .
Fo ins ance, wha causes he dele ion o a da abase able
column depa men alue a he le el o he so wa e use –
scale (Example in Figu e 2). Figu e 2could also be ep esen ed
by a s a e diag am mealy machine as illus a ed in Figu e 1.
1.4.2 Ad an ages
◦WHITE-box as Well As Black-box es ing is possible and / o
a ailable a once o any de elope in es ing; Depending on
how YOU speci y you un ime moni o ing diag am & code (See
Sec ion 4.1).
◦So wa e de elope s could implemen code sou ce
checking o LTL–model checking o mulas (h ps:
//www.wikipedia.o g/) o hei ail ( o bidden) p og am
equi emen s;
I hope o also ha e sample LTL–model checking o mulas
implemen ed in u u e eleases o YRI-DB-RUNTIME-VERIF, which
is a un ime moni o ing e ifica ion con aine p o ided o wo k
wi h he "YRI_QVGE Design & Ve ifica ion Sys em".
◦So wa e de elope s ha c ea e & main ain ail ( o bidden)
p og am equi emen s mus n’ ha e a pe ec knowledge o
code sou ces o he Sys em Unde Tes .
1.4.3 Cases o P ac ical Usages o ”SDMM”
◦Au omobile indus y ”ca –au omobile–b eaking sa e y
& secu i y usage ules” on– he–fly o a oid housands
o ca – ecall because o a bug (E.g.: Toyo a Cam y 2009
(h ps://h ps://en.wikipedia.o g/wiki/
2009%E2%80%932011_Toyo a_ ehicle_ ecalls));
A ca de ec could only jus be fixed a any Toyo a
egis e ed au o-ca -deale by inpu ing a ”SDMM” fix
specifica ion in o an in–ca placed YRI–QVGE–PC–Table
de ice; Ins ead o sending i back o a Toyo a ca
ac o y !
1.5 S a e Diag am Mealy Machine : B ie Summa y Explana ion
"YRI_SD_RUNTIME_VERIF" has ollowing usages and ad an ages:
I.)Fo malism STATE DIAGRAM mealy machine o sys em
specifica ion: Mealy Machines a e kind o s a e machines
whe e ou pu s a es depend only on inpu on a sou ce s a e.
STATE DIAGRAM mealy machine as defined by mysel
is a fini e s a e au oma on ha only has ollowing
cha ac e is ics:
a.) Each au oma on / machine only has 1s a s a e S0, and
1final s a e S ha is an accep ing / e o s a e.
A final, accep ing, o e o s a e is
a s a e ha shows a de ec s a us o he
sys em unde analysis (SUA / PUA / SUT).
b.) Each s a e Sionly has 1ou going s a e ansi ion o an
ou pu s a e S0.
c.) Each ansi ion T, excep a s a ansi ion ”s a ”, could
ha ea p e-condi ion,andpos -condi ion; Tha bo ha e
called o named s a e-edge-condi ion (p e-condi ion
on T1:”T1”; pos -condi ion on T1:”T1”).
A s a e Sihas a s a e–condi ion ei he as p e-
condi ion ”T1” on a s a e ansi ion O as a pos –
condi ion ”T1” o a s a e ansi ion T1.
In Figu e 1, s a e–condi ions a e o ins ance ”Q0”,
and ”Q1”.
Each s a e–condi ion ”Si”, and / o p e–condi ion;
And / o pos –condi ion is an algeb a se specifica ion
ha uses se inclusion ope a ions : ∈,/∈.
d.) A se inclusion ope a ion as s a e–condi ion o a s a e
Sicould o ins ance be :
1.)Q0 :=IN_BEFORE(y, D) is o ead “BEFORE nex
e en , a iable yis IN se D(y∈D)“. THIS
boolean fi s –o de p eposi ion is assigned in o
a iable Q0; he ”unde lining” illus a es ha his is
a p e–condi ion : ”meaning a condi ion Tha shall
hold be o e (PRE) nex e en o occu in so wa e
sys em.”
2.)Q0 :=IN_AFTER(y, D) is o ead “AFTER nex
e en , a iable yis IN se D(y∈D)“. THIS
boolean fi s –o de p eposi ion is assigned in o
a iable Q0; he ”o e -lining” illus a es ha his is
a pos –condi ion : ”meaning a condi ion Tha shall
hold a e (POST) nex e en o occu in so wa e
sys em.”
3.)IN_BEFORE_NOP() : THIS boolean fi s –o de
p eposi ion means ha his p e–condi ion (’T ue’)
holds be o e (BEFORE) nex e en o occu in
so wa e sys em.”
4.)IN_AFTER_NOP() : THIS boolean fi s –o de
p eposi ion means ha his pos –condi ion (’T ue’)
holds be o e nex e en o occu in so wa e
sys em, a e (POST) p e iously occu ed e en .”
5.)NOT_IN_BEFORE(y, D)
6.)NOT_IN_BEFORE_NOP()
7.)NOT_IN_AFTER(y, D)
8.)NOT_IN_AFTER_NOP()
I I.)AC++ lib a y ha implemen s un ime moni o ing
and ail–s a e eco e y as a s a ic lib a y : (h ps:
//www.gi hub.com/ye i h d/y i_sd_
un ime_ e i ).
III.)A F ee and OPEN SOURCE CODE SOFTWARE (Foss)
implemen a ion o a un ime moni o o using
s a e diag am mealy machine specifica ions; BY
means o a QT–dbus so wa e communica ion
s ack wi h you own so wa e : ”YRI-DB-RUNTIME-
VERIF”(h ps://www.gi hub.com/ye i h d/
y i-db- un ime- e i ).
YRI_SD_RUNTIME_VERIF’s o mal desc ip ion o he s a e
diag am o malism ollows Mealy machine [Wik22] added wi h
accep ing s a es (final o e oneous s a es), and s a e diag am
ansi ion p e- and pos -condi ions : ”s a e diag am mealy
machine” ("SDMM").
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "7 / 16". | Ve sion o – Oc obe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
Ano he excellen , de ailed wi h p oo s and heo y
p esen a ion o mealy au oma a [PlH21] is a ailable. In
compa ison o s a echa [Ha XX], which is a isual o malism o
s a es diag ams, YRI_SD_RUNTIME_VERIF doesn’ suppo a ime o
ins ance he ollowing ea u es: hie a chical s a es (composi e
s a e, submachine s a e), iming condi ions.
A sample s a e diag am mealy machine is pic u ed in Figu e 1.
Dis he s a s a e,
1.6 Rela ed S a e Diag am Fo malisms
We he e ci e sample s a e diag am o malisms and he heo y
behind hem o checking and / o e i ying so wa e design &
p og amming p ope ies.
◦S a echa by Da id HAREL : A s a echa is he e a isual
o malism–desc ip ion o enable a desc ip ion o a complex
so wa e sys em ha can also ha e s a es wi h subs a es;
And / o iming condi ions on s a es en ies, and / o ansi ion
igge ing condi ions.
◦”K ipke s uc u e” wi h THEORY & o malism called
”MODEL Checking”; mainly by DAVID–Eme son & CLARKE–
Edmund [CGK+18](h ps://mi p ess.mi .edu/
books/model-checking-second-edi ion)
So wa e ools o pe o m model checking a e called
model checke s. Sample model checke s a e NuSMV (h ps:
//nusm . bk.eu/downloads.h ml); SMV (h ps:
//mcmil.ne /sm .h ml); Spin-model checke
(h ps://spin oo .com/spin/wha ispin.h ml).
1.6.1 Da id Ha el S a echa : A Visual Fo malism o S a e
Diag am
Figu e 9: A Sample Da id HAREL–S a echa model o he empo al
p ope y exp essed in fig. 4: —”Whene e depa men YRI_ASSET
was dele ed (e en ’DELETE.depa men .YRI_ASSET’); que ying s ock
able shall no find again an in en o y s ock in any depa men named
YRI_ASSET”—.
en y /
Pos E en (’DELETE.dep .YRI_ASSET’)
dep _exi s
dep _exis s’
en y /
Pos E en (’SELECT.s ocks’)
’SELECT.dep ’
’SELECT.s ock’
S a echa [Ha XX], as defined andp oposed byDa id HAREL;
Rep esen diag ams, some imes composi e wi h in e nal s a es
ha a e used o desc ibe eac i e sys ems, meaning sys ems ha
eac and ac based on en i onmen al inpu and in e ac ion.
QT de elopmen lib a y p o essional suppo s s a echa as
defined by Da id-Ha el. SCXML is used o speci y a s a e machine.
(h ps://www...)
Timed Disc e e Inpu / Ou pu Hyb id Sys em (TDIOHS) as
defined by Peleska e al. [BFPT06] implemen s Da id-HAREL
s a echa ull compa ibili y inco po a ing he ollowing elemen s
o so wa e sys em specifica ion & elici a ion :
1.)Aso wa e sys em beha io and ac ions can be ep esen ed as
fini e se o configu a ions; A configu a ion is an assignmen
o a iables o alues ha si ua es a so wa e sys em
e olu ion o e ime;
2.)A se o configu a ions o a so wa e sys em as a fini e s a es
g aph ep esen a ion whe enodes ep esen so wa esys em
s a es, And edges ep esen ansi ion be ween so wa e
sys em s a es;
3.)S a – & End– (Final–, Accep ing–, E oneous–) s a e o
ep esen INITIAL & FINAL so wa e sys em s a e.
A eac i e sys em has a pa icula i y ha i doesn’
define a final-accep ing s a e as i con inuously eac s wi h i s
en i onmen : i loops a ound i s s a s a e;
4.)So wa e sys em s a es ansi ion defined as g aph–edge
be ween so wa e sys em configu a ion–s a es;
5.)So wa e sys em s a e ansi ion ”E en ” as label be ween
g aph–nodes;
6.)Gua ded condi ion as beha io al condi ion ha mus hold in
o de o a s a e ansi ion e en o igge & hus send he
so wa e sys em in o a new configu a ion;
7.)Timing condi ion
8.)hie a chical s a es (composi e s a es, submachine s a e)
1.6.2 Timed Disc e e Inpu / Ou pu Hyb id Sys em (TDIOHS)
Figu e10: A STCT–symbolic es case ee andomly gene a edby manual
d awing o explana ion pu poses.
0N
TDIOHS–Timed-Disc e e-Inpu -Ou pu -Hyb id-
Sys em [BFPT06] is a s a echa compa ible s a e diag am
o malism defined by "Peleska e al." a he Uni e si y o B emen
in Ge many.
"Peleska e al." define a es mechanism o gene a e es
cases om TDIOHS s a echa isual desc ip ion; The gene a ed
es cases abide o "Ma ie–Claude Gaudelle" algo i hm defined
in [Gau06] o s a is ically and uni o mly-dis ibu e es cases
a ound a ee ha desc ibe all po en ial p og am code execu ion
pa hs : STCT (Symbolic Tes Case T ee).
A Sys em Unde Tes (SUT) ee execu ion pa hs could hen be
a e sed based on he eal es da a gene a ed by a symbolic es
da a gene a o componen as illus a ed o ins ance in [n 10].
A sample STCT is illus a ed in Figu e 10; ”N0” is a s a node
o he p og am ee.
1.6.3 TDIOHS in Ac ion wi hin ”Bo land Toge he 6”wi h RT–
Tes e o ’ e ified.de’
Xa ie NOUNDOU, mysel , w o e oge he wi h Ve ified
Sys ems In e na ional GmbH a plugin ha enables de elope s o
au oma ically c ea e C++ es ing code o design d awings c ea ed
in he CASE-Compu e Aided So wa e Enginee ing Design ool
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "8 / 16". | Ve sion o – Oc obe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
”Bo land Toge he 6”(h ps://en.wikipedia.o g/
wiki/Mic o_Focus_Toge he ) .
I pe o med his ask unde supe ision and ad ising o ”Jan
Peleska”, as a s uden in Compu e Science a he Uni e si y o
B emen in B emen–Ge many in yea s ”2004 /2005”.
Based on he au oma ically gene a ed C++ module
code, a de elope could hen use he UNIT Tes ing
F amewo k o embedded sys ems RT-Tes e o
Ve ified.de (h ps://www. e i ied.de/p oduc s/
model-based- es ing) o c ea e so wa e module uni
es ing code wi h ollowing c i e ia :
1.)MCDC (Modified Condi ion Decision Co e age) : es cases &
da a o checking any ou come o any boolean assignmen o
a iables in ol ed & used in a condi ional IF-Then-Else
b anching s a emen ;
2.)Uni o mly s a is ically dis ibu ed es cases [NN07] & es
da a [n 10] om all possible es un ime execu ion o he
P og am Unde Analysis (PUA) [NN07,BFPT06];
3.)Mysel I only ecei ed "2, 000 Eu os" as und collec ed as
money– ewa ds–in ellec ual p ope y ou o his wo k since
”May 2007” when I deli e ed p og am code so wa e as
pa –deli e able o acqui e my ”Diplom–INFORMATIKER”
qualifica ion om he depa men o Ma hema ics &
Compu e Science (”Fachbe eich 3”) o he ”UNI e si y–
acis o B emen–Ge many”.
1.6.4 TDIOHS in Ac ion by ”Au oma ic Tes Cases / Da a
Gene a ion”
Mas e Thesis [NN07] in Compu e Science o ”Xa ie N.
NOUNDOU”, a he Uni e si y o B emen in B emen–Ge many;
demons a es an implemen a ion o uni o m dis ibu ed
s a is ically algo i hm o selec ing pa hs o c ea ing es
cases om a S a echa designed in ”Bo land-Toge he 6”.
The s a echa is fi s o all ans o med in o a Symbolic
Tes Case T ee (STCT) be o e ”MARIE-Claude Gaudelle” [Gau06]
modified algo i hm by [NN07] is applied.
In [CHKS12], Ta iana Mangels & Jan Peleska p esen
"CTGEN", a Uni Unde Tes (UUT) es cases and es da a
gene a o o embedded sys em w i en in he Cp og amming
language.
Mo e in o ma ion and con ac s o buying and / o
ying his so wa e p oduc can be ound a ollowing
URL : h ps://www. e ified.de/p oduc s/model-based- es ing,
om he Ge man socie y ”Ve ified Sys ems In e na ional GmbH”.
2 Ma hema ical Fo mal Defini ion o SDMM
THIS sec ion gi es a ma hema ical heo e ical defini ion o s a e
diag am mealy machine (abb e ia ed ”SDMM”), as concei ed
o iginally by us o ou p ojec YERITH–ERP–9.0 [Nou22]
un ime moni o ing e ifica ion s a ed in yea 2015 in Yaounde
Came oon.
YRI_SD_RUNTIME_VERIF’s o mal desc ip ion o he s a e
diag am o malism ollows Mealy machine [Wik22] added
wi h accep ing s a es (final o e oneous s a es), and s a e
diag am ansi ion p e- and pos -condi ions: ”s a e diag am
mealy machine”. Ano he excellen , de ailed wi h p oo s and
heo y p esen a ion o mealy au oma a [PlH21] is a ailable. In
compa ison o s a echa [Ha XX], which is a isual o malism o
s a es diag ams, YRI_SD_RUNTIME_VERIF doesn’ suppo a ime o
ins ance he ollowing ea u es: hie a chical s a es (composi e
s a e, submachine s a e), iming condi ions.
2.1 Defini ion 1: A s a e diag am ( o mealy machine).
A s a e diag am is an 8– uple (S,S0,C,Σ,Λ,δ,T,Γ)whe e:
•S: a fini e se o s a es
•S0∈S: a s a s a e (o ini ial s a e)
•C: a se o p edica e condi ions; p e-condi ions a e
unde lined (e.g.: Q0), and pos -condi ions a e o e lined
(e.g.: Q1). A p e-condi ion is compa able o a Ha el-
s a echa gua ded condi ion.
•Σ: an inpu alphabe , Σ:= {False,T ue}.
′False′means no inpu om SUT in o YRI-DB-RUNTIME-VERIF.
′T ue′means any inpu could come om SUT.
•Λ: an ou pu alphabe (o p og am e en s en(n∈N)), φ he
no p og am e en . A p og am e en gene ally co esponds
o a unc ion o me hod call a a SUT sou ce code s a emen
(o p og am poin ).
•δ:S×C: a 2-a y ela ion ha maps a s a e s o a
s a e-condi ion cas ei he a s a e diag am ansi ion p e-
condi ion(c), o as as a e diag am ansi ion pos -condi ion
(c).
•T:S×Σ→S×Λ: a ansi ion unc ion ha maps an inpu
symbol o an ou pu symbol and he nex s a e.
•: a 2−a y ela ion ha maps a s a e diag am ansi ion o a
gua ded condi ion exp ession.
•Γ: a se o accep ing s a es; Γ∈S.
Fo ins ance, o he mo i a ing example desc ibed in Figu e 1
we ha e:
•S={D,E};
•S0=D;
•C={Q0,Q1};
•Σ={False,T ue};
•Λ={φ,’SELECT.depa men ’};
•δ={(D,Q0),(E,Q1)};
•T={((D,False),(D,φ)),((D,T ue),(E,’SELECT.depa men ’))};
•Γ={E}
2.2 Defini ion 2: A p e-condi ion.
A p e-condi ion o a s a e diag am ansi ion is a p edica e ha
mus be ue be o e he ansi ion can be igge ed. A p e-
condi ion Q0could ha e 2 o ms:
•Q0:=IN_PRE(X, Y) ha means alue "X" is in (∈) da abase
column alue se "Y".
•Q0:=NOT_IN_PRE(X, Y) ha means alue "X" is no in (/∈)
da abase column alue se "Y".
2.3 Defini ion 3: A pos -condi ion.
A pos -condi ion o a s a e diag am ansi ion is a p edica e ha
mus be ue a e he ansi ion was igge ed. A pos -condi ion
Q1could ha e 2 o ms:
•Q1 :=IN_POST(A, B) ha means alue "A" is in (∈)
da abase column alue se "B".
•Q1 :=NOT_IN_POST(A, B) ha means alue "A" is no in
(/∈) da abase column alue se "B".
Fo s a e diag am mealy machines wi h mo e han 2s a es,
only he fi s ansi ion has a p e-condi ion specifica ion (IN_PRE,
o NOT_IN_PRE). Each o he ansi ion only has a pos -condi ion
specifica ion (IN_POST, o NOT_IN_POST). Since each s a e only has
1ou going (edge) s a e ansi ion, he pos -condi ion o he
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "9 / 16". | Ve sion o – Oc obe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
p e ious (incoming) s a e ansi ion ac s as he p e-condi ion o
he nex ansi ion.
IT is also o use in e es o ha e ollowing NO–OPe a ion
pos -condi ions when wo king wi h s a e diag am mealy
machines wi h mo e han 2s a es :
◦IN_POST_NOP
◦NOT_IN_POST_NOP
OUR expe ience, no epo ed a ime anywhe e, shows ha
s a e diag am mealy machine wi h mo e han 2s a es a e eally
mo e o pa allel sys em modeling; I.E. sys ems ha wo k in GUI
wi h ime s and se e al h eads o wo k a any ime.
“In such cases, subsequen linea ly placed s a es may no
belong o same h ead o execu ion: his is kind o wha is
called in CSP (Communica ing Sequen ial P ocesses) []; Pa allel
Composi ion.“
Subsec ion 2.7 de ails be e and well his co ela ion be ween
”CSP” [Ra01] & ”SDMM”.
2.4 Defini ion 4: A ace.
A ace Tn=<e0,e1, .., en>is a sequence o SUT e en s (o
SUT p og am poin s) ei,i∈{0,..,n}o leng h n. ace(D)is he ace
o SUT e en s up o s a e D. Fo ins ance, o he mo i a ing
example desc ibed in Figu e 1we ha e: ace(E) = ace(D),<
’SELECT.depa men ’>.
2.5 SUT E en P ocessing Me hod
YRI_ igge _an_edge_e en
Lis ing 2illus a es he pseudo–code o
YRI_SD_RUNTIME_VERIF SUT e en p ocessing me hod
YRI_ igge _an_edge_e en (QS ing an_edge_e en ).
’YRI_ igge _an_edge_e en (QS ing an_edge_e en )’
is esponsible o in e p e ing a moni o a un ime, based on i s
cu en s a e, and on he cu en e en ecei ed om SUT. Each
s a e in YRI_SD_RUNTIME_VERIF s a es diag ams shall ha e only 1
ou going edge ( ansi ion), by specifica ion and cons uc ion, as
explained in P oposi ion 2.5.1 in Sec ion 2.
The algo i hm in Lis ing 2demons a es ha , gi en co ec
ace and e en in o ma ion om SUT, YRI_SD_RUNTIME_VERIF
always exac ly ma ches he use specifica ion. Thus ne e gi ing
alse wa nings.
2.5.1 P oposi ion 1: NO FALSE WARNINGS.
YRI_SD_RUNTIME_VERIF only allows 1ou going edge o ansi ion
o a s a e in i s specifica ions, and o no desi able ( o bidden)
beha io , as illus a ed in Figu e 1. These 2p ope ies, oge he
wi h algo i hm ’YRI_ igge _an_edge_e en (QS ing
an_edge_e en )’ (Lis ing 2) o YRI_SD_RUNTIME_VERIF, ensu es
ha he e a e no alse wa nings du ing YRI-DB-RUNTIME-VERIF
analyses.
Fo example, he opponen s un ime moni o ing and / o
e ifica ion ools–sys ems [BH12,BRBY00,AAC+05,Bod05,
CR07] may gi e alse wa nings.
We need o also epo ha i a de elope doesn’ well speci y
o he un ime e ifie es e whe e o emi e en , as o ins ance
in ”Lis ing 1”, alse wa nings ( alse posi i es) may occu .
2.5.2 Explana ion on HOW o a oid code ha c ea es False
Wa nings (False Posi i es)
2.6 Gua ded Condi ion Exp ession Specifica ion in
YRI_SD_RUNTIME_VERIF
Gua ded condi ions exp essions can be specified using one
o he y _c ea e_moni o _edge me hod and a boolean
exp ession o ype YR_CPP_BOOLEAN_exp ession. An edge
wi hou an explici gua ded condi ion has an implici ’[T ue]’
gua ded condi ion on i . The implici gua ded condi ion ’[T ue]’
mus n’ be iden ified as an implici inpu e en ’T ue’, as specified
in Defini ion 1.
Gua ded condi ions a e mean o be ace se specifica ion
on p og am e en s. Fo ins ance in Figu e 1(mo i a ing
example): "[in_se _ ace (’DELETE.depa men .YRI_ASSET’,
STATE(D))]"means ha a SQL ’DELETE’ e en emo ing a
depa men named ’YRI_ASSET’ om Ma iaDB SQL able
’depa men ’ mus ha e occu ed in he ace leading o s a e
’D’, be o e e en ’SELECT.depa men ’ can be igge ed. A
gua ded condi ion could ha e wo p ac ical o ms:
•"[in_se _ ace (’e en ’, STATE(D))]" is equi alen o:
’e en ’ ∈ ace(D).
•"[no _in_se _ ace (’e en ’, STATE(D))]" is equi alen o:
’e en ’ /∈ ace(D).
whe e ’e en ’ is an inpu e en (e en ∈Σ) and ’D’ a s a e
diag am s a e (D∈S).
2.7 SDMM o modeling pa allel-concu en so wa e sys em
A s a e in an s a e diag am mealy machine specifica ion ac s as a
pa allel concu en p ocess s a e.
IT means each s a e ansi ion ep esen s a pa allel–
concu en p ocess synch oniza ion e en as o example defined
in a o malism named CSP (Concu en Sequen ial P ocesses) as
a pa allel composi ion ope a o ("||").
Fo ins ance, in Fig. 1, P ocesses D&Ecould be
specified in communica ion in CSP like : ”(D|| B)o e e en
SELEC T.depa men ” !
TODO : imp o e syn ax desc ip ion o CSP.
2.8 SDMM in Ac ion wi hin YRI_QVGE by ’Ye i h R&D’
A sc eensho o a ail ( o bidden) s a e diag am mealy machine is
illus a ed in Figu e 6.
This ail ail ( o bidden) s a e diag am mealy
machine is he same desc ibed in Figu e 4wi h
”YRI_QVGE Design & Ve ifica ion Sys em” domain specific
language (DSL) ”YRI_SD_RUNTIME_VERIF_LANG”.
The p og am–DSL code sou ce illus a ed in Figu e 4was
au oma ically gene a ed by mysel by ”Sa ing a design as a
DOT/G aphVIZ” documen .
”Sa inga designd awingasa DOT/G aphVIZ” c ea es sou ce
code in domain specific language ”YRI_SD_RUNTIME_VERIF_LANG”
wi hin a file ending wi h ’.sd_mealy’.
2.9 SDMM in Ac ion by au oma ic ”Run ime Moni o s
Au oma ic Gene a ion”
I c ea ed YRI-DB-RUNTIME-VERIF so o allow au oma ic gene a ion
o un ime execu ion ime moni o ing modules o s a e diag am
mealy machine defined using a Domain Specific Language (DSL)
called YRI_SD_RUNTIME_VERIF_LANG.
YRI_SD_RUNTIME_VERIF enables exp ession and desc ip ion o
s a e diag am mealy machine specifica ion.
THE Domain–Specific Language (DSL) defini ion in Backus–
Nau –Fo m (BNF) (h ps://en.wikipedia.o g/
wiki/Backus%E2%80%93Nau _ o m) o his DSL called
YRI_SD_RUNTIME_VERIF_LANG is p in ed in he USER’S guide o YRI-
DB-RUNTIME-VERIF (h ps://www.zenodo.o g/ eco ds/
17316481).
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "10 / 16". | Ve sion o – Oc obe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
Lis ing 2: C++ Pseudo-code o YRI_ igge _an_edge_e en (QS ing an_edge_e en ):YRI_SD_RUNTIME_VERIF me hod o igge ing
s a e diag am e en s (edges o ansi ions).
1bool MONITOR::YRI_ igge _an_edge_e en (QS ing an_edge_e en )
2 {
3 MONITOR_EDGE cu _OUTGOING_EDGE = _cu _STATE.ou going_edge();
4
5i (cu _OUTGOING_EDGE.e alua e_GUARDED_CONDITION_exp ession() &&
6 (an_edge_e en == cu _OUTGOING_EDGE.edge_e en _ oken()))
7 {
8bool p econdi ion_IS_TRUE = cu _OUTGOING_EDGE
9 .CHECK_SOURCE_STATE_PRE_CONDITION(_cu _STATE);
10
11 i (p econdi ion_IS_TRUE)
12 {
13 se _cu en _ igge ed_EDGE(cu _OUTGOING_EDGE);
14
15 MONITOR_STATE a_po en ial_accep ing_s a e =
16 cu _OUTGOING_EDGE.ge _TARGET_STATE();
17
18 i (CHECK_whe he __STATE__is__Final(a_po en ial_accep ing_s a e))
19 {
20 CALL_BACK_final_s a e_FUNCTION(a_po en ial_accep ing_s a e);
21 }
22 e u n ue;
23 }
24 }
25 e u n alse;
26 }
3 HOW TO Se up C++ Lib a y ”YRI_SD_RUNTIME_VERIF” o Usage
in A C++ PROGRAM SOURCE CODE
When you build un ime moni o ing e ifica ion lib a y
”YRI_SD_RUNTIME_VERIF”, a s a ic bina y lib a y is newly gene a ed.
YOU hen need o copy his newly c ea ed s a ic bina y lib a y
in o you C++ p ojec . YOU hen need o ins ance using QT, o pu
a line as ollows so o be able o use ”YRI_SD_RUNTIME_VERIF”:
LIBS += -L$$PWD/lib_SD -ly i_sd_ un ime_ e i
in you p ojec file ending wi h ollowing s ing ’.p o’ (e.g.:q -
p ojec .p o”);
Whe eas s ing "-L$$PWD/lib_SD" ep esen s a pa h ha
leads o whe e ”YRI_SD_RUNTIME_VERIF” is s o ed.
S ing "-ly i_sd_ un ime_ e i " men ions o link (”-l”) un ime
moni o ing lib a y ”YRI_SD_RUNTIME_VERIF” du ing you build
p ocess !
3.1 De elopmen Toolchain
Table 2illus a es o each lib a y p ojec , which o he s i depends
on.
1.)The un ime moni o ing in e ace s a ic lib a y
”YRI_SD_RUNTIME_VERIF”enables use s o exp ess so wa e
p og am s a es, ha a e inco ec , USING mealy machines
since mealy machine ansi ions depends only on he cu en
s a e and i s cu en inpu ;
2.)”YRI_SD_RUNTIME_VERIF_UNIT_TESTS”is only equi ed in case
you modified he FOSS lib a y ”YRI_SD_RUNTIME_VERIF”
and would like o apply some uni es s o check you
modifica ions.
3.)The LIBRARY and / o language ha enables o speci y
”YRI_SD_RUNTIME_VERIF”s a e diag am mealy machines is
called ”YRI_SD_RUNTIME_VERIF_LANG”;
4.)The LIBRARY ha c ea es o you he inco ec
mealy machine as a C++ code, by desc ibing i using
ei he a ex file, and / o a s a e machine desc ibed
using YRI_QVGE (”YRI_SD_RUNTIME_VERIF_LANG”)
as a design d awings; IS coined he name
”YRI_SD_RUNTIME_VERIF_LANG_COMP”;
5.)NORMALLY you wouldn’ need o di ec ly in oke he
compile / ansla o ”YRI_SD_RUNTIME_VERIF_LANG_COMP”.
This is bes done by he un ime moni o gene a o ”YRI-DB-
RUNTIME-VERIF”.
The use ’s guide o ”YRI-DB-RUNTIME-VERIF”(h ps://
www.zenodo.o g/ eco ds/17316481) explains how
o do so.
Table 2: YERITH_QVGE Toolchain
PROJECT Requi ed P og am / Lib a y
1)YRI_SD_RUNTIME_VERIF ”Q - oll ech” (h ps://doc.q .io/q -5)
4)YRI_SD_RUNTIME_VERIF_UNIT_TESTS 1)
2)YRI_SD_RUNTIME_VERIF_LANG 1)
3)YRI_SD_RUNTIME_VERIF_LANG_COMP 2)
5)YRI-DB-RUNTIME-VERIF 3)
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "11 / 16". | Ve sion o – Oc obe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
4 METHODS o C++ Lib a y ”YRI_SD_RUNTIME_VERIF”
Table 3: Sample impo an Classes (p efix YRI_CPP_ o class name) & Me hods o C++ Lib a y ”YRI_SD_RUNTIME_VERIF”.
N◦CLASSES METHODS UTILITY
1. MONITOR CREATE_MONITOR C ea es a new un ime moni o
2. MONITOR YRI_ egis e _se _final_s a e_CALLBACK_FUNCTION egis e a C++ me hod a he callback unc ion in case an
e o s a e was ound.
3. MONITOR RESET_RUNTIME_MONITOR Se s he cu en s a e TO he s a s a e.
4. MONITOR YRI_ igge _an_edge_e en "TRUE" is e u ned in case an edge e en "an_edge_e en "
was igge ed.
5. MONITOR c ea e_y i_moni o _s a e C ea es a un ime moni o s a e.
6. MONITOR c ea e_y i_moni o _edge C ea es a un ime moni o edge.
7. MONITOR find_y i_moni o _s a e Sea ch o a un ime moni o s a e wi hin a un ime
moni o .
8. MONITOR se _RUNTIME_MONITOR_NAME Se s an iden i y name o a un ime moni o .
9. MONITOR IS_in_TRACE_LOG
10. MONITOR TRACE_LOG_cu en _RECEIVED_EVENT_TOKEN
11. MONITOR GET_ oo _edge
12. MONITOR DELETE_y i_moni o _edge
13. no inse _inse _TRACE_exp ession YRI_CPP_no inse _inse _TRACE_exp ession
14. no inse _inse _TRACE_exp ession se __USE_SQL_SYNTAX_e en _logging__FOR_PRINTING
We place and explain sample me hods o C++ Lib a y
”YRI_SD_RUNTIME_VERIF” ha WE deem o majo in e es o
de elope s :
1.)
4.1 Gene a ed Me hod YOU need o code
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "12 / 16". | Ve sion o – Oc obe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
5 A Ha dwa e Dedica ed De ice : YRI–QVGE–PC–Table
A ha dwa e dedica ed de ice unning a un ime moni o ing
e ifica ion de ice called YRI–DB–RUNTIME–VERIF is in c ea ion by
mysel .
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "13 / 16". | Ve sion o – Oc obe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
6 De ailed Scien ific and Enginee ing P esen a ion Documen
on ’zenodo.o g’
De ailed o mal scien ific and enginee ing con ibu ions o design
and es ing sys em YERITH_QVGE can be ound in JOURNAL
ARTICLE "Run ime Ve ifica ion O SQL Co ec ness P ope ies
wi h YRI-DB-RUNTIME-VERIF" [nN23].
7 Conclusion
The g aphical d awing ool YERITH_QVGE (Figu e 6) cos s only
2, 500 EUROS. WE ONLY SUPPORT DEBIAN–LINUX (h ps:
//www.debian.o g).
Re e ences
[AAC+05] Ch is Allan, Pa el A gus ino , Aske Simon
Ch is ensen, B uno Du ou , Ch is ophe Goa d,
Lau ie J. Hend en, Sascha Kuzins, Jenni e Lho ák,
Ond ej Lho ák, Oege de Moo , Damien Se eni,
Ganesh Si ampalam, Julian Tibble, and Cla k
Ve b ugge. abc he aspec bench compile o aspec j
a wo kbench o aspec -o ien ed p og amming
language and compile s esea ch. In Ralph E. Johnson
and Richa d P. Gab iel, edi o s, Companion o he
20 h Annual ACM SIGPLAN Con e ence on Objec -
O ien ed P og amming, Sys ems, Languages, and
Applica ions, OOPSLA 2005, Oc obe 16-20, 2005,
San Diego, CA, USA, pages 88–89. ACM, 2005.
[BFPT06] B. Badban, M. F änzle, J. Peleska, and T. Teige. Tes
au oma ion o hyb id sys ems. In Thi d In e na ional
Wo kshop on So wa e Quali y Assu ance (SOQUA
2006), pages 14–21, 2006.
[BH12] E ic Bodden and Lau ie Hend en. The cla a amewo k
o hyb id ypes a e analysis. In e na ional Jou nal
on So wa e Tools o Technology T ans e (STTT),
14:307–326, 2012. 10.1007/s10009-010-0183-5.
[Bod05] E ic Bodden. J-LO - A ool o un ime-checking
empo al asse ions. Diploma hesis, RWTH Aachen
Uni e si y, No embe 2005.
[BRBY00] Se gey Bu ke ich, Ma co Renedo, Ge ald
Baumga ne , and Michal Young. Compile and
ool suppo o debugging objec p o ocols. In
SIGSOFT ’00/FSE-8, 2000.
[CGK+18] Edmund M. Cla ke, O na G umbe g, Daniel K oening,
Do on A. Peled, and Helmu Vei h. Model checking,
2nd Edi ion, 2018.
[CHKS12] F anck Cassez, Ral Huuck, Ge win Klein, and Bas ian
Schlich, edi o s. P oceedings Se en h Con e ence
on Sys ems So wa e Ve ifica ion, SSV 2012, Sydney,
Aus alia, 28-30 No embe 2012, olume 102 o
EPTCS, 2012.
[CR07] Feng Chen and G igo e Rosu. Mop: an efficien and
gene ic un ime e ifica ion amewo k. In Richa d P.
Gab iel, Da id F. Bacon, C is ina Videi a Lopes,
and Guy L. S eele J ., edi o s, P oceedings o he
22nd Con e ence on Objec -O ien ed P og amming,
Sys ems, Languages and Applica ions, pages 569–
588. ACM, 2007.
[Gau06] M.-C. Gaudel. ???– es au oma ion o hyb id
sys ems–??? In Thi d In e na ional Wo kshop on
So wa e Quali y Assu ance (SOQUA 2006), pages
14–21, 2006.
[Ha XX] Da id Ha el. S a echa s: a isual o malism o
complex sys ems. h ps://www.wisdom.
weizmann.ac.il/~dha el/SCANNED.
PAPERS/S a echa s.pd , XXXX. Accessed
las ime on Ap 28,2025 a 12:00.
[MYE20] And ew MYERS. So wa e es ing ..., 20..
[n 10] Se ges ACHILLES nono opoussi. Au oma isie e
es da engene ie ung hyb ide disk e -
kon inuie liche eingebe e e sys eme. h ps://
www.deu sche-digi ale-biblio hek.de/
pe son/gnd/141875240, 2010. DOCTORATE
THESIS IN COMPUTER SCIENCE (D .–Ing.),
Uni e si y o B emen, B emen, B emen, Ge many.
[NN07] Xa ie Noumbissi Noundou. S a is ical
es cases gene a ion o eac i e sys ems.
h ps://www.in o ma ik.uni-b emen.
de/agbs/quali ika ionsa bei en/
diploma bei en_e.h ml, 2007. In eg a ed
Bachelo & Mas e ’s Deg ee Thesis in Compu e
Science (B.Sc. & M.Sc.), Uni e si y o B emen,
B emen, B emen, Ge many.
[nN23] Xa ie noumbissi Noundou. A F amewo k o
Ve i ying SQL Co ec ness Tempo al P ope ies o
GUI So wa e a Run ime. h ps://zenodo.
o g/ eco ds/17362697, Oc obe 2023.
[NN25] Xa ie Noumbissi Noundou. A C++ unc ional
lib a y o speci ying "SDMM" (s a e diag am
mealy machine). h ps://www.zenodo.o g/
eco ds/10474033, 2025. A C++ Func ional
Lib a y o Speci ying "SDMM".
[Nou09] Xa ie Noundou. Juni 4 u o ial. h ps:
//www.zenodo.o g/ eco d/8052444,
Oc . 2009. Tex – u o ial ”Juni 4”, Uni e si y o
Wa e loo, Wa e loo, On a io, Canada.
[Nou22] Xa ie Noundou. YERITH–ERP–PGI–3.0 Doc o al
Compendium. h ps://a chi e.o g/
download/ye i h-e p-pgi-compendium_
202206/JH_NISSI_ERP_PGI_COMPENDIUM.
pd , June 2022. Accessed las ime on Janua y 21,
2023 a 23:24.
[PlH21] Jan Peleska and Wen ling Huang. Tes au oma ion;
ounda ions and applica ions o model-based
es ing. h ps://www.in o ma ik.
uni-b emen.de/agbs/jp/pape s/
es -au oma ion-huang-peleska.pd ,
July 2021. Accessed las ime on May 06,2023 a
12:00.
[Ra01] Bill Roscoe and al... CSP : Communica ing Sequen ial
P ocesses. UK, 2nd edi ion, 2001.
[Wik22] Wikipedia.o g. Mealy machine. h ps://en.
wikipedia.o g/wiki/Mealy_machine,
Decembe 2022. Accessed las ime on Dec 15,2022
a 12:00.
[Zel20] And eas Zelle . So wa e es ing ..., 20..
Index
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "14 / 16". | Ve sion o – Oc obe 15, 2025 –
JUni es ing amewo k, 6
A Sample Da id HAREL–S a echa model o he empo al
p ope y exp essed in fig. 4,8
A STCT–symbolic es case ee andomly gene a ed by manual
d awing o explana ion pu poses, 8
Au oma ed Uni Tes ing, 6
Black–box Tes ing, 6
Uni Tes ing, 6
Whi e–box Tes ing, 6
15
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "16 / 16". | Ve sion o – Oc obe 15, 2025 –
YERITH_QVGE use ’s guide YERITH &d
Lis o Tables
1 STATE DIAGRAM MEALY MACHINE SPECIFICATION KEYWORDS IN YERITH_QVGE. ’AUTO’ KEYWORDS SPECIFIES
ALSO SQL QUERY FOR GOING OUT AUTOMATICALLY FROM A FAIL (FORBIDDEN) STATE. (“SEE SECTION 9.“) ..... 4
2 YERITH_QVGE Design and Tes ing Sys em Dependencies .......................................... 7
3YRI-DB-RUNTIME-VERIF Di ec o ies ......................................................... 8
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "3 / 11". | Ve sion o – Oc obe 12, 2025 –
YERITH_QVGE use ’s guide YERITH &d
Table 1: STATE DIAGRAM MEALY MACHINE SPECIFICATION KEYWORDS IN YERITH_QVGE. ’AUTO’ KEYWORDS SPECIFIES ALSO SQL QUERY FOR
GOING OUT AUTOMATICALLY FROM A FAIL (FORBIDDEN) STATE. (“SEE SECTION 9.“)
N◦scien ific keywo ds enginee ing keywo ds
1. in_se _ ace in_sql_e en _log
2. no _in_se _ ace no _in_sql_e en _log
3. eco e y_sql_que y eco e y_sql_que y
4. STATE STATE
5. START_STATE BEGIN_STATE
6. FINAL_STATE ("FINAL_STATE_AUTO") END_STATE ("END_STATE_AUTO") / ERROR_STATE
("ERROR_STATE_AUTO")
7. IN_PRE IN_BEFORE
8. IN_POST IN_AFTER
9. IN_POST_NOP N / A
10. NOT_IN_PRE NOT_IN_BEFORE
11. NOT_IN_POST NOT_IN_BEFORE
12. NOT_IN_POST_NOP N / A
Figu e 1: A mo i a ing example, as p e ious bug ound in YERITH–ERP–9.0.
Q0:=NOT_IN_BEFORE(YRI_ASSET, depa men .depa men _name) ; Q1 :=IN_AFTER(YRI_ASSET, s ocks.depa men _name).
D
Q0
s a E
Q1
[in_sql_e en _log(’DELETE.depa men .YRI_ASSET’, STATE(D))] / ’SELECT.depa men ’
Figu e 2: YERITH–ERP–9.0 adminis a ion sec ion
displaying depa men s (¬Q0).
Figu e 3: YERITH–ERP–9.0 s ock asse
window lis ing some asse s (Q1).
Figu e 4: A SAMPLE s a e diag am mealy machine file. KEYWORDS belonging bo h o ’enginee ing ("ERROR_STATE_AUTO")’, and ’science
(START_STATE)’ can be in e mingled in he same SDMM specifica ion file.
1. y _sd_mealy_au oma on_spec y _missing_depa men _NO_DELETE
2. {
3. START_STATE(d):NOT_IN_BEFORE(YRI_ASSET,depa men .depa men _name)
4. ->[in_sql_e en _log(’DELETE.depa emen .YRI_ASSET’,STATE(d))]/’SELECT.depa men ’->
5. ERROR_STATE(e):IN_AFTER(YRI_ASSET,s ocks.depa men _name).
6. }
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "4 / 11". | Ve sion o – Oc obe 12, 2025 –
YERITH_QVGE use ’s guide YERITH &d
Figu e 5: SAMPLE INTERNET-RELATED USE CASE SCENARIO OF "SDMM ".
In e ne
WWW /
(ne wo k) communica ion
QT−Dbus RPC P o ocol
execu es SDMM plugins
YRI−DB−RUNTIME−VERIF
NETWORK Rou e
(including Fi ewall)
YRI_QVGE CASE ool
d awing designs
A ailable also
in a USB dongle key
pa allel p ocess managemen
un ime execu ion and h ead
esou ces.
implemen YRI−DB−RUNTIME−VERIF
A PCI−CARD could also
YRI−Db−Run ime−Ve i
Ja a De elope compu e unning
ela ed d awing designs
wi h In el−PIN)
(REQUIRES JVM e−ins umen a ion
Cybe −Secu i y SDMM
enables QT−plugin loading a un ime
YRI−DB−RUNTIME−VERIF
JVM−Ja a Vi ual Machine
IBM Websphe e APPLICATION Se e
/ O o e.g.: Que cus Applica ion Se e
se ing DYNAMIC / STATIC Web Apps
DBMS
Lis ing 1: Sample eal wo ld ”C++” code as opposed o PSEUDO–CODE ”C++” code; as modi ied by a de elope a e au oma ic gene a ion o YRI-DB-
RUNTIME-VERIF.
1bool YERITH_QVGE_sample_PAPER_ex ended_ e sion_PROPERY::DO_VERIFY_AND_o _CHECK_l l_PROPERTY(
2 QS ing sql_ able_ADDED_wi h_file_AND_line_numbe ,
3 uin sql_ eco d_q y_MODIFIED,
4 YRI_CPP_UTILS::SQL_CONSTANT_IDENTIFIER cu _SQL_command)
5 {
6 QS ingLis sql_ able_ADDED_wi h_file_AND_line_numbe _LIST = sql_ able_ADDED_wi h_file_AND_line_numbe .spli (";", Q ::KeepEmp yPa s);
7 QS ing sql_ able_name = sql_ able_ADDED_wi h_file_AND_line_numbe _LIST.a (0);
8 QS ing CPP_FILE_NAME = sql_ able_ADDED_wi h_file_AND_line_numbe _LIST.a (1);
9 QS ing cpp_line_numbe = sql_ able_ADDED_wi h_file_AND_line_numbe _LIST.a (2);
10
11 swi ch(cu _SQL_command)
12 {
13 case YRI_CPP_UTILS::INSERT:
14 b eak;
15
16 case YRI_CPP_UTILS::SELECT:
17 i (YRI_DB_RUNTIME_VERIF_U ils::isEqualsCaseInsensi i e(sql_ able_name, "depa emen s_p odui s")) {
18 e u n YRI_SQL_SELECT_depa emen s_p odui s();
19 }
20 b eak;
21
22 case YRI_CPP_UTILS::UPDATE:
23 b eak;
24
25 case YRI_CPP_UTILS::DELETE:
26 b eak;
27
28 de aul :
29 b eak;
30 }
31
32 e u n alse;
33 }
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "5 / 11". | Ve sion o – Oc obe 12, 2025 –
YERITH_QVGE use ’s guide YERITH &d
Figu e 6: A SCREENSHOT OF YERITH_QVGE.
Figu e 7: A SCREENSHOT OF YRI-DB-RUNTIME-VERIF
SQL EVENT LOG.
1 In oduc ion
Figu e 8: SOFTWARE ARCHITECTURE OF YRI-DB-RUNTIME-VERIF.
OPERATING SYSTEM (OS)
MYSQL lib a y me hods calls
OS sys em calls
y i−db− un ime− e i
QT socke calls ( ia Q −Dbus)
A RUNTIME MONITOR
LIBRARY − PLUGIN
PUA / SUT (JVM−ja a i ual machine)
PUA sou ce code ins umen ed
This use ’s guide helps b iefly and concisely how o c ea e a
bina y execu able o he un ime moni o ing es ing ool YRI-
DB-RUNTIME-VERIF ha ing use defined un ime moni o s. The
guide also specifies keywo ds allowed wi hin un ime moni o
specifica ions as S a e Diag am Mealy Machines.
YERITH_QVGE (YRI_QVGE) could be used o he ollowing
au oma ic gene a ion, analysis, e ifica ion, and alida ion asks:
1. Au oma ic gene a ion o un ime moni o ing module p og am
o p o e whe he a es p ocedu e, au oma ed, o no , is
co ec wi h ega ds o a es and / o design STATE DIAGRAM
MEALY MACHINE ( o mally desc ibed in [Nou23]).
In effec , le he es execu ion be un ime moni o ed o wa ch
whe he accep ing e o s a es would be ound.
Fo ins ance, Juni es ing en i onmen could au oma ically
in eg a e an au oma ically gene a ed un ime moni o
in as uc u e o uni es ing.
2. Au oma ic gene a ion o un ime moni o ing module p og am
o any so wa e ha can emi DBus messages.
”Such un ime moni o ing modules a e o in e es o special
LTL model checking p ope ies ha canno ge a de ini e
answe h ough use o a con en ional model checke ”.
3. So wa e design p ope ies wi h SQL
4. So wa e design p ope ies including e en sequences o e
diffe en laye s o so wa e sys em a chi ec u e
5. Class diag am wi h sequence diag am.
1h ps://www.gi hub.com/ye i h d/y i_sd_ un ime_ e i
2h ps://www.gi hub.com/ye i h d/y i-db- un ime- e i
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "6 / 11". | Ve sion o – Oc obe 12, 2025 –
YERITH_QVGE use ’s guide YERITH &d
2 YERITH_QVGE (YRI_QVGE) Sho O e iew
Figu e 9: YERITH_QVGE so wa e lib a y dependencies.
YRI_SD_RUNTIME_VERIF_LANG
YRI_SD_RUNTIME_VERIF_LANG_COMP
YRI_SD_RUNTIME_VERIF_UNIT_TESTS
Run ime moni o con aine
(e.g.: YRI−DB−RUNTIME−VERIF)
Design SDMM; om CASE ool (e.g.: YERITH_QVGE)
YERITH_QVGE is a CASE (Compu e -Aided So wa e
Enginee ing) design ool o gene a e "domain-specific language
(DSL) YRI_SD_RUNTIME_VERIF_LANG 1" files, o be inpu ed
in o he "compile YRI_SD_RUNTIME_VERIF_LANG_COMP",
so o gene a e C++ files o he " un ime e ifie es e YRI-
DB-RUNTIME-VERIF 2" ha allows o manual e ifica ion o SQL
co ec ness p ope ies o G aphical Use In e ace (GUI) so wa e.
Figu e 10 illus a es a wo kflow diag amma ically o he
a o e desc ibed p ocess.
Figu e 9show a diag am o he a o e desc ibed p ocess;
The s ep o he uni es s is colo ed in g ay because i is only o
de elope s o YERITH_QVGE in ended.
YRI-DB-RUNTIME-VERIF inpu s SQL co ec ness p ope ies
exp essed using he o malism "s a e diag am mealy machine
(YRI_SD_RUNTIME_VERIF_LANG)". Figu e 8illus a es a so wa e
sys em a chi ec u e o YRI-DB-RUNTIME-VERIF, oge he wi h he
moni o ed p og am unde analysis. The F ee Open Sou ce Code
So wa e (FOSS) ool-chain o de elopmen es ing is loca ed as
ollows o ee, EXCEPT o "YERITH_QVGE " ha is a Closed
Sou ce Code So wa e (CSCS):
•COMPILER (i.e.: YRI_SD_RUNTIME_VERIF_LANG_COMP):
h ps://www.gi hub.com/ye i h d/y i_sd_
un ime_ e i _lang
•RUNTIME VERIFIER TESTER (i.e.: YRI-DB-RUNTIME-VERIF):
h ps://www.gi hub.com/ye i h d/
y i-db- un ime- e i
•s a e diag am mealy machine UNIT TESTS CODE (i.e.:
YRI_SD_RUNTIME_VERIF_UNIT_TESTS):
h ps://www.gi hub.com/ye i h d/y i_sd_
un ime_ e i _UNIT_TESTS
•s a e diag am mealy machine (i.e.:
YRI_SD_RUNTIME_VERIF_LANG):
h ps://www.gi hub.com/ye i h d/y i_sd_
un ime_ e i
3 YERITH_QVGE (YRI_QVGE) P ojec Dependency
Table 2: YERITH_QVGE Design and Tes ing Sys em Dependencies
PROJECT Requi ed P og am / Lib a y
1)YRI_SD_RUNTIME_VERIF_LANG
2)YRI_SD_RUNTIME_VERIF_LANG_COMP 1)
3)YRI_SD_RUNTIME_VERIF_UNIT_TESTS 1)
4)YRI-DB-RUNTIME-VERIF 2)
Table 2illus a es o each lib a y p ojec , which o he s i depends
on.
4 Ad an ages o YERITH_QVGE
A sample s a e diag am mealy machine is shown in Figu e 4.
WITH manual d awing o SQL CORRECTNESS PROPERTY
MODEL, you a e eed om manually w i ing "s a e
diag am mealy machine ex files" ha could be edious and
leng hy. Also, edi ing s a e diag am mealy machine files
manually could be mo e e o -p one han le ing a compile
(YRI_SD_RUNTIME_VERIF_LANG) do i o you.
5 S a e Diag am Mealy Machine (SDMM)
TABLE 1depic s scien ific keywo ds and hei enginee ing
coun e pa ha can be used in desc ibing NOT DESIRABLE 3
SQL 4call sequence s a e diag am mealy machine in
YERITH_QVGE Design and Tes ing Sys em.
A STATE DIAGRAM mealy machine specifica ion is compiled
in o C++ code ha desc ibes a un ime moni o o be execu ed in
he un ime moni o ing es e YRI-DB-RUNTIME-VERIF. Figu e 4
depic s a sample S a e Diag am Mealy Machine specifica ion on
a NOT DESIRABLE SQL call sequence.
5.1 HOW TO READ A "SDMM"
Figu e 1shows a fini e au oma on ep esen a ion o he mealy
machine desc ip ion in Figu e 4. I shall be ead as ollows:
•Thep og amis in a s a s a e D; s a e Disas a s a esince
he e is incoming "START" a ow in o i .
•(P e-) Condi ion Q0: "depa men name ’YRI_ASSET’ is
no in able column ’depa men _name’ o da abase
able ’depa men ’"; applies in s a e D.
•Whene e GUARD CONDITION :
in_sql_e en _log(’DELETE.depa men .YRI_ASSET’,
STATE(d)): "e en ’DELETE.depa men .YRI_ASSET’
appea s in SQL e en log ( ace) leading o s a e
D"; applies in s a e D, sys em unde es (SUT) e en
’SELECT.depa men ’ could occu .
•When SUT e en ’SELECT.depa men ’ occu s, SUT
is now in s a e E; s a e Eis an e o s a e because he node
ha ep esen s i in Figu e 1has 2ci cles on i .
•(Pos -) Condi ion Q1: "depa men name ’YRI_ASSET’
is in able column ’depa men _name’ o da abase
able ’s ocks’"; applies in s a e E.
Thisshallno be hecasesince depa men ’YRI_ASSET’
isnomo edefinedinSUT da abase able ’depa men ’.
3Scien ific: ail ( o bidden) ace.
4S uc u e Que y Language.
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "7 / 11". | Ve sion o – Oc obe 12, 2025 –
YERITH_QVGE use ’s guide YERITH &d
5.2 "SDMM" WITH MORE THAN 2STATES
S a e Diag am Mealy Machines (SDMM) wi h mo e han 2
s a es ha e ollowing cha ac e is ics, as de ailed in scien ific and
enginee ing jou nal pape [Nou23] in p epa a ion:
•Only he fi s ansi ion has a p e-condi ion specifica ion
•Each o he ansi ion only has a pos -condi ion
specifica ion
•Since each s a e only has 1ou going s a e ansi ion, he
pos -condi ion o he p e ious (incoming) s a e ansi ion
ac s as he p e-condi ion o he nex ansi ion.
6 YERITH_QVGE (YRI_QVGE) Wo kflow
Figu e 10: Wo kflow explana ion.
use p ojec di ec o y:
"$USER_PROJECT_DIR/sd−mealy−machine−specs".
copy ".spec_sd_mealy" gene a ed
ile in o YRI−DB−RUNTIME−VERIF
YRI−DB−RUNTIME−VERIF
Ins umen SUT (sys em ude es )
wi h Q Dbus calls o
sa e y p ope y wi h
YRI_QVGE.
d aw SQL empo al
GENERATE A SINGLE
y i−db− un ime− e i execu able
"$YRI−DB−RUNTIME−VERIF".
using bash sc ip s in olde
The "Design and Tes ing Sys em" YERITH_QVGE wo ks wi h
ollowing wo kflow, as illus a ed g aphically in Figu e 10, and in
Figu e 5:
1. D aw S uc u e Que y Language (SQL) empo al sa e y
p ope y using d awing ool YERITH_QVGE;
2. copy he gene a ed ".spec_sd_mealy" files in o a use p ojec
di ec o y in YRI-DB-RUNTIME-VERIF home de elopmen
olde : "$YRI–DB–RUNTIME–VERIF";
3. ollow he s eps desc ibed in Sec ion 7so o ga he a single
execu able ha defines all specified un ime moni o s.
7 Cus om Use P ojec (YRI–DB–RUNTIME–VERIF)
Table 3: YRI-DB-RUNTIME-VERIF Di ec o ies
Va iable o illus a ion
pu poses
Meaning
$YRI–DB–RUNTIME–VERIF oo di ec o y o YRI-DB-
RUNTIME-VERIF
$YRI–DB–RUNTIME–VERIF/$USER_PROJECT oo di ec o y o use p ojec
Table 3illus a es di ec o ies ha will be used o desc ibe a
p ocess o gene a e a single bina y execu able o a use ’s cus om
p ojec wi h se e al un ime moni o specifica ions.
Figu e 7illus a es a sc eensho o he G aphical Use
In e ace (GUI) o YRI-DB-RUNTIME-VERIF. You can ge a copy o
YRI-DB-RUNTIME-VERIF using he ollowing command:
gi clone h ps://www.gi hub.com/ye i h d/y i-db- un ime- e i
C ea ing a bina y execu able o S a e Diag am Mealy
Machine (SDMM) specifica ions consis s o he ollowing
elemen s:
1. ’Ma iaDB’ da abase connec ion configu a ion file: his file
defines se ings o connec o he sys em unde es (SUT)
applica ion da abase; i is loca ed in pa h: "$YRI–DB–RUNTIME–
VERIF/YRI-DB-RUNTIME-VERIF-GUI-ELEMENTS-SETUP/y i-db- un ime-
e i -da abase-connec ion.p ope ies".
A da abase connec ion o he SUT applica ion da abase
is equi ed in o de o check LTL p ope y h ough he SDMM
applica ion lib a y YRI_SD_RUNTIME_VERIF_LANG.
2. P ope y configu a ion file: his file defines en i onmen
a iables necessa y o building a bina y execu able
o he use ; i is loca ed in pa h: "$YRI–DB–RUNTIME–
VERIF/$USER_PROJECT/bin/configu a ion-p ope ies.sh".
3. "$YRI–DB–RUNTIME–VERIF/$USER_PROJECT/sd-mealy-machine-specs":
his di ec o y con ains use defined S a e Diag am Mealy
Machine (SDMM) specifica ions o gene a e Co esponding
un ime moni o s wi hin a single bina y execu able.
4. Gene a e an execu able o a use defined un ime moni o :
a) A ollowing command MUST be enewed each ime you
a e new in a bash–shell en i onmen ; execu e ollowing
command in di ec o y "$YRI–DB–RUNTIME–VERIF":
. ./YRI-c ea e-execu able- o -use -SDMM.sh -d $USER_PROJECT
b) modi y he LTL e ifica ion code pa wi hin he gene a ed
sou ce code files.
Then execu e ollowing command in di ec o y "$YRI–DB–
RUNTIME–VERIF":
./y _db_ un ime_ e i _BUILD_DEBIAN_PACKAGE.sh
c) unins all YRI-DB-RUNTIME-VERIF wi h ollowing command
in di ec o y "$YRI–DB–RUNTIME–VERIF":
./y _DB_RUNTIME_VERIF_unins all.sh
d) e–ins all YRI-DB-RUNTIME-VERIF wi h ollowing command
in di ec o y "$YRI–DB–RUNTIME–VERIF":
./y _DB_RUNTIME_VERIF_INSTALL.SH
e) Redo [1s –s ep] in case you add o modi y a
’.spec_sd_mealy’ speci ica ion ile in olde "$YRI–DB–
RUNTIME–VERIF/$USER_PROJECT/sd-mealy-machine-specs" !
8 HOW TO START YRI-DB-RUNTIME-VERIF
•The "ELF-x64" bina y execu able, in he sou ce
de elopmen di ec o y is loca ed in ull pa h: "$YRI-
DB-RUNTIME-VERIF/bin".
•The DEBIAN–LINUX icon ( ) o YRI-DB-RUNTIME-
VERIF is loca ed in "Applica ions" menu unde sec ion
"P og amming", and sec ion "Accesso ies".
•The "ELF-x64" bina y execu able, a e ins alla ion o
he DEBIAN–LINUX package ’y i-db- un ime- e i .deb’ is
loca ed in ull pa h: "/op /y i-db- un ime- e i /bin".
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "8 / 11". | Ve sion o – Oc obe 12, 2025 –
YERITH_QVGE use ’s guide YERITH &d
Figu e 11: SAMPLE sql eco e y s a e diag am model in YERITH_QVGE
9 SQL QUERY Reco e y execu ion on demand
A use can speci y which SQL command que y o execu e
whene e a Sys em Unde Tes (SUT) lands in an accep ing e o
s a e. This is done using keywo ds ending wi h "AUTO", used o
meaning "AUTO RECOVERY FROM FAIL STATE":
1. eco e y_sql_que y
2. END_STATE_AUTO
3. FINAL_STATE_AUTO
4. ERROR_STATE_AUTO.
The use o an "AUTO" keywo d shall be accompanied wi h
a use o keywo d eco e y_sql_que y, ha specifies a SQL
command que y o un when landing in his ail e o accep ing
s a e.
9.1 Au oma ic SQL Command Que y Gene a ion
YERITH_QVGE implemen s an au oma ic SQL que y gene a ion
s a egy incase ause don’ speci y aSQL commandque y, since i
could be lea ed emp y: Subsec ions 9.1.1,9.1.2,9.1.3, and 9.1.4
desc ibe he s a egy implemen ed.
9.1.1 ERROR ACCEPTING STATE o sdmm 1.
no in_be o e (YX,YY)ACTION (V)
in_a e (DD,YR)
9.1.2 RECOVERY 1.
in_a e (DD,YR)ACTION (RECOVERY_ND)
no in_a e (DD,YR)
9.1.3 RECOVERY 2
in_a e (DD,YR)ACTION (RECOVERY_D)
in_a e (YX,YY)
9.1.4 Conc e e RECOVERY 2 ac ion (P ac ical solu ion o be
implemen ed in YRI-DB-RUNTIME-VERIF.
in_a e (YX,YY)inse _RECOVERY (YX,YY)
in_be o e (YX,YY)•
10 HOW TO USE a use in e ace
Figu e 12: YERITH_QVGE use in e ace sc eensho .
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "9 / 11". | Ve sion o – Oc obe 12, 2025 –
YERITH_QVGE use ’s guide YERITH &d
11 YRI_SD_RUNTIME_VERIF SPECIFICATION LANGUAGE
Figu e 13 illus a es a ”Backus-NAUR o m (BNF)” o ou specifica ion language o YRI-DB-RUNTIME-VERIF ool.
12 Fo mal Scien ific and Enginee ing P ojec Desc ip ion
De ailed o mal scien ific and enginee ing con ibu ions o design
and es ing sys em YERITH_QVGE can be ound in JOURNAL
ARTICLE "Run ime Ve i ica ion O SQL Co ec ness P ope ies
wi h YRI-DB-RUNTIME-VERIF" [Nou23].
13 Conclusion
The g aphical d awing ool YERITH_QVGE (Figu e 6) cos s only
2, 500 EUROS. WE ONLY SUPPORT DEBIAN–LINUX (h ps:
//www.debian.o g).
Re e ences
[Nou23] Xa ie Noundou. A F amewo k o Ve i ying SQL
Co ec ness Tempo al P ope ies o [GUI] So wa e
a Run ime. h ps://zenodo.o g/ eco ds/
13232567, Oc obe 2023.
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "10 / 11". | Ve sion o – Oc obe 12, 2025 –
YERITH_QVGE use ’s guide YERITH &d
Figu e 13: G amma in Backus–Nau Fo m (BNF) o YRI_SD_RUNTIME_VERIF_LANG Mealy Machine STATE DIAGRAM Specifica ion
Language.
〈speci ica ion〉::= y i_sd_mealy_au oma on_spec ’{’ 〈mealy-au oma on-spec〉’.’ ’}’
〈mealy-au oma on-spec〉::= 〈su -s a e-spec〉
|〈su -s a e-spec〉’→’〈su -edge-s a e-spec〉
〈su -edge-s a e-spec〉::= 〈su -edge-mealy-au oma on-spec〉’→’〈mealy-au oma on-spec〉
〈su -edge-mealy-au oma on-spec〉::= 〈edge-mealy-au oma on-gua d-cond〉 〈e en -call〉
〈edge-mealy-au oma on-gua d-cond〉::= /* emp y */ ’/’ | ’[’ 〈 ace-speci ica ion〉’]’ ’/’
〈 ace-speci ica ion〉::= 〈in-sql-e en -log〉|〈no -in-sql-e en -log〉|〈in-se - ace〉|〈no -in-se - ace〉
〈su -s a e-spec〉::= 〈s a -s a e-p ope y-spec〉
|〈s a -s a e-p ope y-spec〉’:’ 〈algeb a-se -speci ica ion〉
|〈s a e-p ope y-spec〉’:’ 〈algeb a-se -speci ica ion〉
|〈 inal-s a e-p ope y-spec〉’:’ 〈algeb a-se -speci ica ion〉
|〈 inal-s a e-au o-p ope y-spec〉’:’ 〈algeb a-se -speci ica ion〉’:’ 〈 eco e y-sql-que y-spec〉
〈algeb a-se -speci ica ion〉::= 〈in-algeb a-se -spec〉|〈no -in-algeb a-se -spec〉
〈in-algeb a-se -spec〉::= 〈in-spec〉’(’ 〈p og- a iable〉’,’ 〈db- able〉’.’ 〈db-column〉’)’
|〈in-spec-nop〉’(’ ’)’
〈no -in-algeb a-se -spec〉::= 〈no -in-spec〉’(’ 〈p og- a iable〉’,’ 〈db- able〉’.’ 〈db-column〉’)’
|〈no -in-spec-nop〉’(’ ’)’
〈in-sql-e en -log〉::= in_sql_e en _log’(’ 〈e en -call〉’,’ 〈s a e-p ope y-speci ica ion〉’)’
〈no -in-sql-e en -log〉::= no _in_sql_e en _log’(’ 〈e en -call〉’,’ 〈s a e-p ope y-speci ica ion〉’)’
〈in-se - ace〉::= in_se _ ace’(’ 〈e en -call〉’,’ 〈s a e-p ope y-speci ica ion〉’)’
〈no -in-se - ace〉::= no _in_se _ ace’(’ 〈e en -call〉’,’ 〈s a e-p ope y-speci ica ion〉’)’
〈in-spec〉::= IN_BEFORE |IN_AFTER |IN_PRE |IN_POST
〈in-spec-nop〉::= IN_POST_NOP
〈no -in-spec〉::= NOT_IN_BEFORE |NOT_IN_AFTER |NOT_IN_PRE |NOT_IN_POST
〈no -in-spec-nop〉::= NOT_IN_POST_NOP
〈s a -s a e-p ope y-spec〉::= START_STATE’(’ AlphaNum ’)’
〈s a e-p ope y-spec〉::= STATE’(’ AlphaNum ’)’
〈 inal-s a e-p ope y-spec〉::= END_STATE’(’ AlphaNum ’)’ | FINAL_STATE’(’ AlphaNum ’)’ | ERROR_STATE’(’ AlphaNum ’)’
〈 inal-s a e-au o-p ope y-spec〉::= END_STATE_AUTO’(’ AlphaNum ’)’ | FINAL_STATE_AUTO’(’ AlphaNum ’)’
|ERROR_STATE_AUTO’(’ AlphaNum ’)’
〈 eco e y-sql-que y-spec〉::= eco e y_sql_que y’(’ 〈db- able〉’,’ 〈sql- eco e y-que y〉’)’
〈sql- eco e y-que y〉::= S ing
〈e en -call〉::= S ing
〈p og- a iable〉::= AlphaNum
〈db- able〉::= AlphaNum
〈db-column〉::= AlphaNum
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "11 / 11". | Ve sion o – Oc obe 12, 2025 –
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Lis o Tables
1.1 COMPARISON TABLE BETWEEN C++ [S e90], Ja asc ip [Fla20], AND JAVA [AGH00].
Ja asc ip and JAVA only ha e i ual machines ha a e in FACT REACTIVE SYSTEMS ! .12
1.2 YERITH–ERP–9.0 RELEVANT SOFTWARE SYSTEM METRICS .................. 14
2.1 Thick clien applica ion VS Webb owse based applica ion (wi h solu ions o
YERITH &d now (2025)). ........................................... 18
3.1 Thick clien applica ion VS Webb owse based applica ion. . . . . . . . . . . . . . . . . . . . . 19
6.1 Ye i h–E p–9.0–PLATINUM (Ye i h–E p–Pgi–9.0–Web–Sys em) VS. Odoo.............. 25
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 7 DE 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 8 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Lis o Lis ings
5.1 A sample e y limi ed o explana ion & illus a ion pu pose ye i h–web–dsl–9.0 Sou ce code ! 24
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 9 DE 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 10 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Chap e 1
In oduc ion
This in oduc ion mo i a es why I c ea ed Ye i h–E p–9.0, and why i uses he bes so wa e
p og amming language AND METHODOLOGY (OOP: OBJECT–ORIENTED PROGRAMMING) o i s ime
!
1.1 Mo i a ion
Figu e 1.1: BUSINESS wo kflow o ERP so wa e Ye i h–E p–9.0
cus ome s, supplie s, and / o
BUSINESS da a abou clien s
Employees a e manipula ed.
mando o y connec ions.
Blue colo ed a ows a e no
Red colo ed a ows a e mando o y
connec ion o a well un ioning
YERITH−E p−9.0 Sys em.
Gene a ed S a ic /
DYNAMIC web si es
cus ome s and / o clien s
a compu e ne wo k o deli e
Maximum pe o mance o hei
Employe s
All ye i h−e p−pgi−pla iNum
compu e s colabo a e h oughou
YERITH−ERP−PGI−9.0−pla iNum
Ye i h R&D
Ye i h−e p−pgi pla iNum COMPONENTS Wo k low
Business
In o ma ion / Da a
Repo
Run ime
Moni o ing Ve i ica ion
YRI_QVGE:
a e checked by his componen
ale s abou s ocks, e c.
Human REsou ce (HR) paymen s,
Sys em−daemon :
Ba code
Scanne Web−SYSTEM
Con igu a ions−da a
Use o Ye i h−E p−Pgi−9.0−Pla iNUM
DBMS
BASE
Da a
Size − La ge / Medium / Small
La ge / Medium / Small
Dining Room − Yes / No
Bed oom #1
P ice:
Linen Close
Dis inguishing Fea u es:
Add ess:
Plumbing − New / Old
Ba h ooms: 1 1+ 2
Tub / Showe
Te mi e Repo : Yes / No $
Bed ooms: 2 2+ 3
Close s − La ge / Medium / Small
Li ing Room
La ge / Medium / Small
Fi eplace
Laund y Yes / No
Hea ing Sys em
Floo / Wall / Cen al
Roo − New / Old
O he
Wi ing − New / Old 110V / 220V
Windows − Casemen / Double Hung / O he :
S o e − Gas / Elec ic
Cabine s − Many / Few New / Old
Pan y
Sink − La ge / Small Po celain / S ainless
Ki chen
Ou side
Ga age − One ca / Two ca
Ya d La ge / Medium / Small
Bed oom #2
Size − La ge / Medium / Small
Close s − La ge / Medium / Small
Sink − La ge / Small Po celain / S ainless
Wi ing − New / Old 110V / 220V
Dis inguishing Fea u es:
Hea ing Sys em
Windows − Casemen / Double Hung / O he :
Size − La ge / Medium / Small
Li ing Room
Ye i h–E p–9.0 [NOU22,NOU21a,NOU21b] is an En e p ise Resou ce Planing (ERP) so wa e sys em
ha aims ’effec i eness’ and ’simplici y’, compa ed o o he high anked ERP so wa e sys ems (e.g.:
’Sage Gescom i7’, ’SAP Business One’, ’Odoo’, e c.).
Ye i h–E p–9.0 is implemen ed by me wi h THE USER INTERFACE LIBRARY QT [L d22]. Ou goal when
designing and implemen ing his ERP so wa e sys em is mo e olds:
1) RENDER ENTERPRISE RESOURCE PLANING (ERP) SOFTWARE SYSTEM USAGE AND
MANIPULATION AS EASY AS READING A LEISURE OR RECREATIONAL BOOK SO TO REDUCE
USER STRAIN SIZE !
2) CONTRIBUTE TO REDUCE POVERTY BY IMPROVING SOFTWARE SYSTEM TECHNOLOGY FOR
ENTERPRISE RESOURCE PLANING (ERP).
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 11 DE 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
1.1.1 Applica ion Domain
Ye i h–E p–9.0 can be used by any manage ial o ganiza ion, WHETHER go e nmen al, OR NON
GOVERNMENTAL (N.G.O) !
Ye i h–E p–9.0 is aimed a being simple in usage and manipula ion han olde op anked ERP so wa e
sys ems (e.g.: ’Sage Gescom i7’, ’SAP Business One’, Odoo, e c.) !
A DETAILED COMPARISON OF OCCURS IN PAPER [NOU21a]!
Applica ions domains o Ye i h–E p–9.0 a e o ins ance:
1. enginee ing offices;
2. insu ance companies;
3. a o ney offices;
4. e c.
1.1.2 Implemen a ion Technology
Table 1.1: COMPARISON TABLE BETWEEN C++ [S e90], Ja asc ip [Fla20], AND
JAVA [AGH00]. Ja asc ip and JAVA only ha e i ual machines ha a e in FACT
REACTIVE SYSTEMS !
FEATURES C++ Ja asc ip Ja a
1. PROGRAMMING LANGUAGE PHILOSOPHY objec –o ien ed objec –o ien ed objec –o ien ed
2. MACROS Ø Ø
3. MULTIPLE INHERITANCE Ø
4. suppo INTERFACES Ø Ø Ø
5. STATIC COMPILATION Ø
6. RUNTIME MONITORING & VERIFICATION Ø(YRI_DB_RUNTIME_VERIF)Ø Ø
7. UNIT TESTING FRAMEWORK Ø Ø Ø
8. NETWORK CAPABLE Ø Ø Ø
9. CROSS PLATFORM PORTABLE Ø Ø Ø
10. include FILE LIBRARY CAPABILITY Ø
11. MULTI THREADING Ø Ø
12. WYSIWYG GUI DESIGN TOOL Ø Ø
13. VIRTUAL MACHINE IS A REACTIVE SYSTEM Ø Ø
We ound ollowing easons o in oduc ion o i ual machines in he p og amming languages
Ja asc ip , and JAVA:
•JAVA and Ja asc ip o e come un ime moni o ing equi emen s by in oducing language
in e p e a ion ia i ual machine implemen a ion and execu ion o p og ams.
•C++ doesn’ ha e a mains eam equi alen o da e; due o i s compiled na u e.
I ad oca e YRI_DB_RUNTIME_VERIF as he componen h ough which any p og amming
language may ha e o ee by un ime execu ion, un ime moni o ing capabili y.
We chose o design and implemen Ye i h–E p–9.0 as a hick clien so wa e sys em because o he
ollowing easons:
1. The implemen a ion language C++ offe s much flexibili y:
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 12 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
1. MULTIPLE INHERITANCE:
I allows de elope s o abs ac as much as possible business code upwa ds, away om downwa ds
implemen a ion classes. Fo ins ance, in Ye i h–E p–9.0, GUI Q windows inhe i s o ins ance
sea ch fil e ing ea u e, and p in capabili y om 2diffe en classes.
P in capabili y couldn’ be inhe i ed om he same class whe e sea ch fil e ing is abs ac ed
and pa ially implemen ed (in e ace in JAVA o ins ance doesn’ allow any me hod body code),
because i wo ks in i s pu e abs ac class (C++ class wi h a leas 1emp y me hod body), oge he
wi h ea u e da abase column fil e ing o iewing and p in ing.
The d awback o he mul iple inhe i ance in C++ is: i some imes can be e y difficul o build i
using "gcc (g++)[GCC]" !
2. MACROS:
They enable de elope s o c ea e TEXT TEMPLATE in hei code.
Fo ins ance, I use mac os in some pa s o my code o educe execu ion ime and s ack ac i a ion
eco ds size o me hod o unc ion calls in Ye i h–E p–9.0 !
2. The a ailabili y o ’WHAT YOU SEE IS WHAT YOU GET’ (WYSIWYG) ools o as and use ul use
in e ace design (e.g.: Q designe [Com20], miniS udio ( xWo ks) [WEI20], e c.)
3. The low numbe o logical so wa e sys em a chi ec u e laye (i.e.: 2.) in ol ed wi h he use o a hick
clien so wa e sys em a chi ec u e, as opposed o a webb owse based so wa e sys em (i.e.: 4,clien
use in e ace,p esen a ion laye ,business logic, and da a (DBMS)).
FURTHERMORE, TABLE 1.1 ILLUSTRATES A FEATURE COMPARISON TABLE BETWEEN objec
o ien ed languages C++,Ja asc ip , and JAVA!
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 13 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
1.1.3 So wa e Sys em Cu en Me ics
Table 1.2: Ye i h–E p–9.0 RELEVANT SOFTWARE SYSTEM METRICS
So wa e Sys em Me ic Value
Use In e ace (windows, dialog) numbe 60
Ma iaDB SQL able numbe 40
Ma iaDB SQL able column numbe 320
La ex empla e o PDF p in ing 75
Sou ce lines o code (SLOC) 390, 000
1.2 O e iew
This pamphle is s uc u ed as ollows:
1. Chap e 1mo i a es why I c ea ed Ye i h–E p–9.0, and why i uses he bes so wa e p og amming
language AND METHODOLOGY (OOP: OBJECT–ORIENTED PROGRAMMING) o i s ime !
2. Chap e 2 abula e alua es why hick clien a e BETTER THAN webb owse based so wa e sys em
a chi ec u es !
3. Chap e 3explains why Ye i h–E p–9.0 is modula in i s uses, and fi s any indus ial se ing.
4. Chap e 5in oduces Ye i h–E p–Pgi–9.0–Web–Sys em (h ps://gi hub.com/ye i h d/
ye i he ppgiwebsys em) ha encompasses 2p ojec s o deli e o ee, Wi hou much compu e
p og amming webshops o Ye i h–E p–9.0 clien s and / o cus ome s :
A.Ye i h–Web–Pages–Gene a o –9.0 : his p ojec deli e s webshop p og amming using
a new simple Domain–Specific Language (DSL) wi h a compile / ansla o ha
gene a es au oma ically PHP sou ce code o i s use s.
h ps://gi hub.com/ye i h d/ye i h-web-pages-gene a o -9
B.Ye i h–Web–Design–Tool : This QT– oll ech addi ional ool ha enables webshop
au oma ic sou ce code gene a ion based on use d awn widge s using Q
designe .
h ps://gi hub.com/ye i h d/ye i h-e p-9-0
C.ALL unc ionali ies will be a ailable only on USB–dongle key on shopping s o es
as comme cial p iced p oduc .
5. Chap e 6explains why Ye i h–E p–9.0 uses he BEST SOFTWARE TECHNOLOGY IN TERMS OF
SOFTWARE SYSTEM ARCHITECTURE !
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 14 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Chap e 2
Thick Clien VS. Webb owse based
So wa e Sys em A chi ec u e
This compa ison chap e abula e alua es why hick clien a e BETTER THAN webb owse based
so wa e sys em a chi ec u es !
2.1 Thick clien : 2laye s logical so wa e a chi ec u e
Figu e 2.1: 2laye s logical a chi ec u e o hick clien so wa e sys em (Image copied
om [sec20]).
A hick clien so wa e a chi ec u e may also ha e mo e han only 2laye s.
2.1.1 Secu i y Leak
We ad oca e o c ea e a un ime e ifica ion moni o ing ool ha p o ec de-compila ion and / o e e se
enginee ing o code sou ce and / o bina ies wi hin a p oduc i e en i onmen !!!
P og am Code–bina y ob usca ion could also be an al e na i e solu ion o a oid
de-compila ion and / o e e se enginee ing in o de o des oy !!!
1. A copy o a comme cial so wa e on you local ha d d i e is an eno mous amoun o money ha
was in es ed in o you local compu e , Wi h a isk o a company ha you c ack–dishones hei
c yp og aphic p o ec ion design o secu e hei sou ce / bina ies code on you ha d d i e !!!
IN EFFECT, de-compiling you bina y so wa e code is no possible a all !!!
IN EFFECT, a comme cial one ous so wa e bina ies shall be sold only ins alled in o a
USB–dongle key, Since only i s use can ha e access o i .
2. Wi h a web–b owse based so wa e a chi ec u e, no anyone could know which so wa e you a e
using because none is ins alled on you ha d d i e; THIS could be o ins ance ad an ageous o banking
so wa e o ins ance as no one excep i s use could know how o access i om a local compu e web–
b owse !!!
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 15 DE 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
2.2 Webb owse based: a leas 4laye s logical so wa e a chi ec u e
Figu e 2.2: Webb owse –based so wa e a chi ec u e : a leas 4laye s logical so wa e a chi ec u e (Image
modified om online pd pape "FlashCache: A NAND Flash Memo y File Cache o Low Powe Web Se e s" [
h ps://doi.o g/10.1145/1176760.1176774] by T e o e al..). YRI–DB–RUNTIME–VERIF un ime moni o s communica ion
laye s.
Y −Db−Run ime−Ve i analyzes & e i ies
communica ions bew een laye s
YRI−QVGE−PC−Table
QT−Designe ool
as Wha You See Is Wha You Ge design Tool
(WYSIWYG Tool)
2.2.1 So wa e Vulne abili y
1. 1in usion o a malwa e–so wa e in o an applica ion se e ; Example like ”IBM–Websphe e”;
”Apache Tomca ”; e c.; Causes a mal unc ion o a s o e–o ganiza ion ne wo k comple ely.
ÆSuch so wa e ulne abili ies don’ exis wi h hick clien so wa e sys em !
2.2.2 NETWORK connec ion ela ed issues & p oblems
1. The p obabili y o ha e mal unc ion o you so wa e sys em is high because o he ne wo k p obable
deficiency due o a leas 3laye s o in e –connec ion be ween you local ie – iew (Tie s –1as
depic ed in Figu e 2.2); and you emo e Applica ion And / O Da abase se e !!!
2.2.3 BUSINESS ela ed da a & INFORMATION Issues wi h Web–B owse based
A chi ec u e So wa e Sys ems
A.) Since all o pa o you business da a c i ical a e only loca ed on a ha d–d i e ou side o you local
a ea ne wo k (LAN), The e migh be issues wi h ollowing legal & documen a y aspec s :
1. Dis up ion o WAN (Wide A ea Ne wo k) and / o In e ne migh p e en you indefini ely o access
you business da a.
2. LAWS o he coun y–place whe e you loca e you da a migh endange you business; Pa ly
because i is diffe en om you local laws whe e you officially ha e egis e ed you business
en u e !
ON he o he hand side o i ; Remo e loca ion o you business da a in a be e coun y–place
migh a o you business compa ed o whe e i is locally egis e ed !
I migh be allowed in ha emo e coun y–place o pe o m ce ain digi al ideas and hings
ha a e o bidden whe e you o iginal business is loca ed : o ins ance PORNOGRAPHY, e c. !
You may expose you sel o legal p osecu ions in he la e case; Ei he in he emo e coun y–
place o you emo e digi al ac i i ies–se e , O locally whe e his digi al ac i i y is P ohibi ed–
by–laws !!!
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 16 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Chap e 5
Ye i h–Web–Pages–Gene a o –
9.0 : Websi e Applica ion FOR ee
THIS chap e in oduces a so wa e–sys em ha we s a ed in en ion and / o c ea ion his cu en
yea 2024, As an al e na i e solu ion o ou clien s. Use s o Ye i h–E p–9.0 could hen wi h Ye i h–Web–Dsl–
9.0 au oma ically gene a e websi e applica ions o hei goods and se ices o sha e wi h clien s and / o
o he people ab oad !
5.1 Wha You See Is Wha You Ge (WYSIWYG-Tool) : Ye i h–Web–Design–Tool
Figu e 5.1: A SOFTWARE a chi ec u e o e iew o Ye i h–Web–Pages–Gene a o –9.0 ("An SDMM usage scena io by IBM–
websphe e".)
Figu e 5.2: Ye i h–Web–Pages–Gene a o –9.0 gene a es legacy
web files om Q 5in e ace files (”.ui” files).
Flex, Bison
Ye i h−web−pages−gene a o −9.0−DSL
T ansla o
Op ional S ep
HTML / CSS / PHP / Ja asc ip , e c.
gene a ed iles
Applica ion Se e
Running O acle−open−JAVA−jdk
Sc ip iles (.spec_h ml)
Ye i h−web−pages−gene a o −9.0−DSL
QT−ui (.ui) use in e ace iles
Ye i h−Web−Design−Tool
(WYSIWYG C++ ool)
YRI−DB−RUNTIME−VERIF
un ime moni o ing
e i ica ion
Figu e 5.3: A S ack S apled A chi ec u e O e iew o
Ye i h–Web–Pages–Gene a o –9.0.
Cybe −Secu i y SDMM
(E.g.: ain −analysis) (E.g.: No−w i e−A e −Close)
Run ime memo y SDMM
Op imiza ing−compile
O he Use −speci ic
SDMM d awing−design
SDMM
PHP − Ja a QUERCUS
Applica ion Se e
Que cus Applica ion Se e
Running on O acle−open−jdk
PHP Code om YERITH−WEB−DSL−9.0
Dbus emi messages
Dbus emi messages
YRI−DB−RUNTIME−VERIF Run ime Moni o ing Se ice
Common non– echnical use s o Ye i h–E p–9.0 canno p og am a websi e.
To encou age such use s o c ea e hei webshops using Ye i h–E p–9.0; We in oduce
”Ye i h–Web–Dsl–9.0”, And ”Ye i h–Web–Design–Tool” :
1.)Any s ock in en o y and s ock se ice in oduced wi hin Ye i h–E p–9.0 could hen be con e ed in o a
web p esen a ion shop using bo h echnologies;
”Ye i h–Web–Dsl–9.0” is a high–le el iew p og amming language o c ea e web HTML5–PHP pages
by desc ibing hem mo e simply han using aw con en ional, since yea 1990,HTML5(and PHP)
p og amming web languages.
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 23 DE 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Lis ing 5.1: Asample e ylimi ed o explana ion&illus a ionpu pose ye i h–web–dsl–9.0 Sou cecode!
1 ye i h−web−pages−gene a o −MAIN YECEFOIQ−WEB−PAGES
2 {
3
4 web−h ml−page y i_ es
5 {
6# ’C’ommen s. #
7 y i_h ml_page_ i le: ’Bien enue !’;
8 y i_h ml_page_MENU_BAR_link_s ing: ’y i_ es !’;
9 y i_h ml_page_inpu _heade _menu_ba [web−h ml−page−menu−ba −heade s];
10 };
11
12
13 web−h ml−page index
14 {
15 y i_h ml_page_ i le: ’Bien enue au cen e de o ma ion qualifian e Yece oiq !’;
16
17 y i_h ml_page_MENU_BAR_link_s ing: ’y i_index !’;
18
19 y i_h ml_page_inpu _heade _menu_ba [web−h ml−page−menu−ba −heade s];
20
21 y i_h ml_page_ ex _SECTION (HTML_HEADER_H/3; ’Desc ip ion du Cen e de Fo ma ion’)
22 {
23 VARIABLE_YRI_PARAGRAPH a iable_pa ag aph_1
24 { ex −y i− on −size = 11} :
25 { ex −y i−wid h−box = 5 cm} ===
26 "Ce cen e de o ma ion en In o ma ique es la p op i de
27 la s a −−up en ep eneu iale de Gnie des Sys mes de
28 Ges ion In o ma iss YERITH RD.
29 Les cou s du cen e de o ma ion on pou cibles les
30 pe sonnes sui an es:"
31
32 li_begin: ’T a ailleu s qualifis en In o ma ique.’
33 li: ’T a ailleu s qualifis en Sciences e en Gnie.’
34 li: ’l es e colie s des ablissemen s con essionnelles angliques.’
35 li: ’ udian s dans les uni e si s publiques con essionnelles angliques.’
36 li_end: ’ udian s dans les uni e si s du monde mode ne
37 (incluan des ca holiques o hodoxes).’
38 };
39 };
40
41 web−h ml−page−menu−ba −heade s
42 {
43 # e ical−le e ical− igh ho izon al− op #
44 web−h ml−page−menu−ba −heade s_Posi ion = ’ e ical−le ’;
45
46 y i_h ml_page_sec ion[index,
47 y i_ es ,
48 a_p opos,
49 p og amme_des_cou s,
50 con enu_des_cou s,
51 imp essum];
52 };
53 }
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 24 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Chap e 6
Conclusion
This conclusion explains why Ye i h–E p–9.0 uses he BEST SOFTWARE TECHNOLOGY IN TERMS OF
SOFTWARE SYSTEM ARCHITECTURE !
Table 6.1: Ye i h–E p–9.0–PLATINUM (Ye i h–E p–Pgi–9.0–Web–Sys em) VS. Odoo.
A i ac s Ye i h–E p–9.0–PLATINUM Odoo
lib a ies & p og ams YERITH_QVGE, e c. py honlxml, e c.
use in e ace code TOOLS WYSIWYG QT–DESIGNER (CUSTOM BUILD) FRAMEWORKS
business code PHP (pa ly gene a ed), C++ Py hon,Ja aSc ip
Da abase Managemen Se e (DBMS) MySQL Pos g eSQL
web se e Que cus We kzeug
Ye i h–E p–9.0 has a hick clien so wa e sys em a chi ec u e because we ound hick clien so wa e
sys em a chi ec u es simple han webb owse based so wa e sys em a chi ec u es.
Thick clien so wa e sys em a chi ec u es is simple because i equi es less laye s in i s logical (o
physical) so wa e sys em a chi ec u e, and is easie o de elop and main ain as a so wa e sys em
applica ion.
Table 2.1 illus a es a hick clien so wa e sys em is SUPERIOR IN TERMS OF TOOLS FOR
MAINTENANCE AND DEVELOPMENT han a webb owse based so wa e sys em !
A webb owse based so wa e sys em a chi ec u e has mo e d awbacks as ollows:
1.)i equi es a leas 2o he so wa e sys ems, apa om he ones no mally equi ed by de eloped
so wa e sys em i sel , o ins ance lib a ies (e.g.: Log4j), o ully ope a e (e.g.: web se e ,
applica ion se e , e c.).
Table 6.1 depic s his si ua ion in he ligh o he open sou ce ERP so wa e sys em Odoo.
Acco dingly, a hick clien so wa e sys em doesn’ equi e any unning and managing in as uc u e
such as o example an applica ion se e !
2.)A webb owse based so wa e sys em equi es a leas 4laye s in i s logical sys em a chi ec u e (e.g.:
clien , p esen a ion, logic, and da a laye s).
Acco dingly, a hick clien so wa e sys em only equi es a leas 2laye s !
3.)A webb owse based so wa e sys em po en ially en ails mo e so wa e secu i y ulne abili ies
because i s implemen a ion equi es he use o a leas 2diffe en p og amming languages, and
amewo ks in combina ion.
Acco dingly, a hick clien so wa e sys em needs only he use o 1homogeneous so wa e
p og amming language !
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 25 DE 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 26 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Chap e 7
Bibliog aphy
[AGH00] Ken A nold, James Gosling, and Da id Holmes. The Ja a P og amming Language. Addison
Wesley Longman Publishing Co., Inc., USA, 3 d edi ion, 2000.
[Com20] The Q Company. Q Designe Manual. h ps://doc.q .io/q -5/q designe -manual.
h ml, 2020. Las accessed on Sep embe 4,2020 a 15:21.
[DEB22] DEBIAN. Debian – The Uni e sal Ope a ing Sys em. h ps://www.debian.o g, 2022.
ACCESSED LAST TIME on JUNE 12,2022 a 12:10.
[Fla20] Da id Flanagan. Ja aSc ip : The Defini i e Guide: Mas e he Wo ld’s Mos -Used
P og amming Language 7 h Edi ion. O’Reilly, 2020.
[GCC] THE COMPILER SUITE GCC. THE GCC (G++) COMPILER SUITE. h ps://www..o g/. Las
accessed on Decembe 29,2020 a 12:00.
[L d22] The Q Company L d. Q is a C++ oolki o c oss-pla o m applica ion de elopmen . h ps:
//www.q .io, 2022. ACCESSED LAST TIME on JUNE 12,2022 a 18:00.
[Ma 22] Ma iaDB.o g. Ma iaDB Founda ion - Ma iaDB.o g. h ps://www.ma iadb.o g, 2022.
ACCESSED LAST TIME on JUNE 24,2022 a 12:20.
[NOU21a] XAVIER NOUNDOU. GROUPED PRESENTATIONS DOCUMENTS OF YERITH–PGI–
3.0. h ps://a chi e.o g/download/ye i h-e p-9-0-in o-english_202104/
ye i h-e p-9-0-in o-english.pd , 2021. ACCESSED LAST TIME ON june 17,2022
a 08:40.
[NOU21b] XAVIER NOUNDOU. INSTALLATION GUIDE FOR ERP
SOFTWARE SYSTEM YERITH–ERP–9.0. h ps://a chi e.
o g/download/ye i h-e p-9-0-ins alla ion-guide-s andalone/
ye i h-e p-9-0-ins alla ion-guide-s andalone.pd , 2021. ACCESSED LAST TIME
ON june 17,2022 a 08:20.
[NOU22] XAVIER NOUNDOU. YERITH–ERP–PGI–3.0 DOCTORAL COMPENDIUM. h ps:
//a chi e.o g/download/ye i h-e p-pgi-compendium_202206/JH_NISSI_ERP_PGI_
COMPENDIUM.pd , 2022. ACCESSED LAST TIME ON June 22,2022 a 12:00.
[sec20] secu i yboule a d.com. Thick Clien Pene a ion Tes ing Me hodology. h ps://
secu i yboule a d.com/2020/02/ hick-clien -pene a ion- es ing-me hodology/,
2020. Las accessed on Sep embe 4,2020 a 15:21.
[S e90] W. Richa d S e ens. UNIX Ne wo k P og amming. P en ice-Hall, Inc., USA, 1990.
[WEI20] Yongming WEI. miniS udio Use ’s Guide. h ps://www.minigui.ne /en/minis udio,
2020. Las accessed on Sep embe 4,2020 a 15:21.
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 27 DE 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 28 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Index
1–page p esen a ion o Ye i h–E p–9.0,28
2laye s logical a chi ec u e o hick clien so wa e
sys em, 15
2–pages p esen a ion o Ye i h–E p–9.0,33
4laye s logical a chi ec u e o webb owse based
so wa e sys em, 16
Ye i h–E p–9.0 VS. Odoo webb owse based
so wa e sys em, 25
compa ison o Ye i h–E p–9.0 agains o he s,
29
compa ison able be ween hick clien and
webb owse based so wa e sys em,
18
mo i a ion o c ea ing Ye i h–E p–9.0,11
poin o sale p oposed ha dwa e, 30
Sample 2–compu e s s o e, 20
sample decen alized mul i si es supe ma ke ,
20
STRUCTURE OF THIS PAPER, 14
Webb owse based: now 2laye s wi h QT–
oll ech-WebAssembly & YERITH &d-
Ye i h-Web-Dsl-9.0, 17
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 29 DE 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 30 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
Appendix A
P esen a ion Documen s o open sou ce
so wa e sys em YERITH–ERP–9.0
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 31 DE 37 VERSION OF Oc obe 12, 2025
YERITH &d WWW - Wo ld Wide Web (WWW) Design & P og amming using ye i h–web–dsl–9.0
YERITH &d |YERITH–ERP–9.0 so wa e sys em p oduc shee
YERITH–ERP–9.0 So wa e Sys em P oduc Shee
YERITH–ERP–9.0 is an ERP so wa e sys em wi h 6use oles, and ypes:
1. « Adminis a o »
2. « Business manage »
3. « Cashie »
4. « Selle »
5. « ASSET – s ock manage »
6. « S o ekeepe ».
YERITH–ERP–9.0 ea u es:
1. Run ime moni o ing e ifica ion wi h ”ye i h_q ge (h ps:
//gi hub.com/ye i h d/y i-db- un ime- e i ) ”;
2. ale s o e s ock quan i y, and, ime pe iod;
3. BA–Business Analy ics (business dashboa d);
4. HR (human esou ces) — ALSO wi h au oma ed and / o manual pay-
men handling o employees; cus ome ela ionship managemen
(CRM), budge line managemen ;
5. sale managemen (e.g. poin o sale);
6. ASSET – s ock managemen (e.g. check in);
7. use , and ole adminis a ion;
8. wild-cha sea ches wi h cha ac e %.
YERITH–ERP–9.0 is:
1. easie , and, in ui i e, in i s use
2. ligh e , and, as e , in memo y usage
3. mul i si es.
YERITH–ERP–9.0’s un ime memo y usage es is ealized using
un– ime so wa e analysis ool alg ind.
GENERAL SOURCE CODE QUALITY CONTROL is ealized wi h
compile– ime code analysis ool Cppcheck.
Business manage ’s main window
BUSINESS wo kflow o YERITH–
ERP–9.0
Ye i h−e p−pgi pla iNum business Wo k low
Employees a e manipula ed.
cus ome s, supplie s, and / o
BUSINESS da a abou clien s
All ye i h−e p−pgi−9.0−pla iNum
cus ome s and / o clien s
compu e s collabo a e h oughou
a compu e ne wo k o deli e
Maximum pe o mance o hei
Employe s.
YERITH−ERP−PGI−9.0−pla iNum
Business
Repo
In o ma ion / Da a
The maL−P in e
Epson−TMT20ii
Ba code
scanne
Ye i h R&D
High
Disk
Speed
Sink − La ge / Small Po celain / S ainless
Wi ing − New / Old 110V / 220V
Dis inguishing Fea u es:
Hea ing Sys em
Windows − Casemen / Double Hung / O he :
Size − La ge / Medium / Small
Li ing Room
Sink − La ge / Small Po celain / S ainless
Wi ing − New / Old 110V / 220V
Dis inguishing Fea u es:
Hea ing Sys em
Windows − Casemen / Double Hung / O he :
Size − La ge / Medium / Small
Li ing Room
OPERATIONS
Poin o Sale Ha dwa e
ØBa code scanne
ØThe mal p in e , e c.
Da abase Managemen
Sys ems
Øma iadb 10.5.
Ope a ing Sys ems
ØDebian–Linux 11; 12.
Au ho : ”Xa ie Noumbissi Noundou [P . P o . D .–Ing.]” Ve sion o – Oc obe 12, 2025 –
Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) 32 OF 37 VERSION OF Oc obe 12, 2025
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
2 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
Table des ma iè es
Table des ma iè es 3
Table des figu es 5
Lis e des ableaux 7
1 INTRODUCTION 9
1.1 Défini ions ......................................... 9
1.1.1 Filiale (DICTIONNAIRE ROBERT)..................... 9
1.1.2 Succu sale (DICTIONNAIRE ROBERT).................. 9
2 Configu a ion D’1ORDINATEUR D’1SUCCURSALE 11
2.1 INSTALLATIONS DE ye i h–e p–pgi–9.0 PAR SUCCURSALE . . . . . . . . 12
3 CAS D’1Filiale 13
3.1 TPE e PME ........................................ 13
3.2 T ès G andes En ep ises (TGE) ........................... 14
4 CAS D’1Succu sale 15
4.1 Coupu e de connexion In e ne ............................ 16
5 LOGIN e connexion à 1succu sale 17
6 Bibliog aphie 19
3 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
4 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
Table des figu es
1 WORKFLOW de a ail géné ique de YERITH–PGI–9.0............ 1
2.1 FIGURE ILLUSTRATIVE de la ma que succu sale ................ 11
3.1 BASE DE DONNÉES CENTRALISÉE d’1filiale POUR TPE / PME ...... 13
3.2 BASE DE DONNÉES CENTRALISÉE d’1filiale pou TGE ........... 14
4.1 BASE DE DONNÉES décen alisée du SIÈGE CENTRAL ............ 15
5.1 Connexion à 1succu sale (SOCIÉTÉ – SITE) ................... 17
5 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
6 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
Lis e des ableaux
7 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
8 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
Chapi e 1
INTRODUCTION
LE PROGICIEL DE GESTION INTÉGRÉ YERITH–PGI–9.0 [uNu22,uNu23a,uNu23b]
pe me à ses u ilisa eu s la éu ilisa ion de la onc ionnali é "mul i-si es (succu sales)"!
La onc ionnali é "mul i-si es (succu sales)" pe me à 1o ganisa ion de con ôle ses
ac i i és décen alisées de açon cen alisée à l’aide de YERITH–PGI–9.0. Les opé a-
ions des succu sales (ou enco e d’1filiale) son épe o iées dans la base de données
(MySQL) à l’aide de la colonne ’localisa ion’. ’Lacolonnelocalisa ion’ de la base de don-
nées "ye i h_e p_9"CORRESPOND À :
1. Localisa ion (INSTALLATION EN FRANÇAIS)
2. Si e (EN ANGLAIS)
dans les in e aces g aphiques (GUI) de YERITH–PGI–ERP–9.0.
1.1 Défini ions
1.1.1 Filiale (DICTIONNAIRE ROBERT)
Socié é jouissan d’une pe sonnali é ju idique (à la diffé ence de la succu sale) mais
di igée ou con ôlée pa une socié é mè e.
1.1.2 Succu sale (DICTIONNAIRE ROBERT)
É ablissemen qui dépend d’un siège cen al, ou en jouissan d’une ce aine au o-
nomie. Exemple : Les succu sales d’une banque.
9 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
10 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
Chapi e 2
Configu a ion D’1ORDINATEUR D’1
SUCCURSALE
Figu e 2.1 – FIGURE ILLUSTRATIVE de la ma que succu sale
CHAQUE ORDINATEUR INSTALLÉ DANS 1SUCCURSALE possède 1iden ifica ion
égale à 1CHAÎNE DE CARACTÈRE unique.
CETTE CHAÎNE de ca ac è e es la même pou chaque o dina eu de la succu sale
obse ée. LA FIGURE 2.1 illus e L’IDENTIFIANT "YERITH_RD_TEST" d’1succu sale
de es . Il s’agi de L’ONGLET "Connec e une localisa ion" dans la enê e ’FENÊTRE
DE L’ADMINISTRATEUR’!
11 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
18 DE 19
YERITH &d YERITH–ERP–PGI–9.0: Configu a ion MULTI–SITES (SUCCURSALES)
Chapi e 6
Bibliog aphie
[uNu22] XAVIER NOUMBISSI NOUNDOU. YERITH–ERP–PGI–9.0 DOC-
TORAT COMPENDIUM. h ps://a chi e.o g/download/
ye i h-e p-pgi-compendium_202206/JH_NISSI_ERP_PGI_COMPENDIUM.
pd , 2022. ACCÉDER POUR LA DERNIÈRE FOIS le 29 Ma s 2023 à09:00.
[uNu23a] XAVIER NOUMBISSI NOUNDOU. GUIDE D’INSTALLATION POUR LE
PROGICIEL DE GESTION INTÉGRÉ YERITH–PGI–9.0. h ps://a chi e.
o g/download/ye i h-e p-9-0-guide-dins alla ion-s andalone_
202303/ye i h-e p-9-0-guide-dins alla ion-s andalone.pd , 2023.
ACCÉDER POUR LA DERNIÈRE FOIS le 29 ma s 2023 à12:00.
[uNu23b] XAVIER NOUMBISSI NOUNDOU. INSTALLATION GUIDE FOR ERP
SOFTWARE SYSTEM YERITH–ERP–9.0. h ps://a chi e.o g/
download/ye i h-e p-9-0-ins alla ion-guide-s andalone_202304/
ye i h-e p-9-0-ins alla ion-guide-s andalone.pd , 2023. ACCES-
SED LAST TIME ON APRIL 18,2023 a 08:05.
19 DE 19
YERITH_QVGE : A F amewo k o Ve i ying SQL Co ec ness
Tempo al P ope ies o [GUI] So wa e a Run ime
Xa ie noumbissi Noundou1
1Yaounde, Cen e egion, Came oon.
Con ibu ing au ho s: ye i h.xa[email p o ec ed];
Abs ac
So wa e co ec ness p ope ies a e essen ial o main ain quali y by con inuous and eg essi e in e-
g a ion es ing, as well as un ime moni o ing he p og am a e cus ome deploymen . This pape
p esen s an e ec i e and ligh weigh C++ p og am e i ica ion amewo k: YRIDBRUNTIMEVERIF,
o check SQL (S uc u e Que y Language) [1] so wa e co ec ness p ope ies speci ied as empo al
sa e y p ope ies [2]. A empo al sa e y p ope y speci ies wha beha io shall no occu , in a so -
wa e, as sequence o p og am e en s. YRIDBRUNTIMEVERIF allows speci ica ion o a SQL empo al
sa e y p ope y by means o a s a e diag am mealy machine [3]. In YRIDBRUNTIMEVERIF, a speci-
ica ion cha ac e izes e ec s o p og am e en s ( ia SQL s a emen s) on da abase able columns by
means o se in e ace ope a ions (∈, /∈), and, enable o check hese cha ac e is ics hold o no a
un ime. In eg a ion es ing is achie ed o ins ance by exp essing a s a e diag am ha encompasses
bo h G aphical Use In e ace (GUI) s a es and MySQL [4] da abases que ies ha glue hem. Fo
example, a simple speci ica ion would encompass s a es be ween ’Depa men adminis a ion’ and
’S ock lis ing’ GUI in e aces, and ansi ions be ween hem by means o MySQL da abases ope a-
ions. YRIDBRUNTIMEVERIF doesn’ gene a e alse wa nings; YRIDBRUNTIMEVERIF speci ica ions
a e no desi able ( o bidden) speci ica ions ( ail aces). This pape ocuses i s examples on MySQL
da abase speci ica ions, labeled as s a es diag ams e en s, o he newly de eloped and FOSS (F ee
and Open Sou ce So wa e) En e p ise Resou ce Planing So wa e YERITH–ERP–3.0 [5].
Keywo ds: model-based es ing, eac i e sys em analysis, compu e so wa e p og am analysis, compu e
so wa e dynamic p og am analysis, so wa e in eg a ion es ing wi h SQL and GUI, un ime moni o ing
1
Fig. 1:YRIDBRUNTIMEVERIF WORKFLOW (diag am inspi ed om ope a ion diag am in [6]).
Ongoing epo
p og am s a e
on e oneous SUT
and lines o code
y i_sd_ un ime_ e i _lang
STATE DIAGRAM
SPECIFICATIONS as
DSL code
as y i_sd_ un ime_ e i
STATE DIAGRAM
SPECIFICATIONS
C++ code
DYNAMIC RUNTIME ANALYSIS
(SUT + y i−db− un ime− e i )
as sepa a e p ocesses
SUT + y i−db− un ime− e i
un conccu en ly
SUT emi s SQL e en s
o y i−db− un ime− e i
PROGRAMS OUTPUT
co ela ion
SUT ecei es use GUI e en s
ha modi y SQL da abase ables
y i−db− un ime− e i
moni o s and analyzes
SUT SQL e en sequence
1 In oduc ion
Table 1:YERITH–ERP–3.0 RELEVANT
SOFTWARE SYSTEM METRICS
So wa e Sys em Me ic Value
Use In e ace (windows, dialog) numbe 60
Ma iaDB SQL able numbe 38
Ma iaDB SQL able column numbe 320
Sou ce lines o code (SLOC) 300,000
1.1 Mo i a ions
This pape desc ibes an e ec i e dynamic analysis
amewo k, based on un ime moni o s speci ied
in C++ p og ams (implemen ed in he so wa e
lib a y y i_sd_ un ime_ e i ), o pe o m so -
wa e empo al sa e y p ope y checking o GUI
(G aphical Use In e ace) based so wa e.
GUI based so wa e a e e y com o able and
handy o use. Howe e , ools o pe o m empo-
al sa e y p ope y e i ica ion o GUI so wa e
a e allmos no a ailable as FOSS. The es ing o
combina ions be ween GUI windows and da abase
que ies ha glue hem o make sense o he use , is
allmos una ailable as FOSS, o a all o he bes
o he knowledge o he au ho o his pape . The
FOSS C++ lib a y lib sm es [7] p o ides es
sui e gene a ion suppo o sou ce code beha -
io speci ica ions as mealy au oma a. Howe e ,
lib sm es only allows o desi able co ec ness
p ope ies, and doesn’ p o ide GUI (in e ac ion)
suppo o as plugin-based.
Uni o in eg a ion es ing o GUI widge s is
a ailable by use o "NUni " es ing amewo ks
like e.g. Q Tes [8], CppUni [9], e c.. So wa e
es ing ac oss GUI widge s (and MySQL que ies)
is howe e limi ed in suppo by hese "NUni "
amewo k. To he bes o he knowledge o he
au ho o his pape , DejaVu [10] p o ides some
suppo o Ja a’ eco d and eplay’ es ing while
FROGLOGIC [11] p o ides suppo o C++ GUI
so wa e ’ eco d and eplay’ es ing echnology.
’Reco d and eplay’ es ing means a use pe o ms
a sequence o e en s ha a e eco ded by es -
ing in as uc u e and au oma ically eplay la e
on o see i expec ed e en s he eo occu . How-
e e , none o his ’ eco d and eplay’ echnology
ool enable empo al sa e y p ope y speci ica ion
as FOSS, wi h SQL as plugin.
2
As we will see in he ela ed wo k, sec ion 7,
o his pape , mos o so wa e co ec ness p op-
e y checking amewo ks don’ pu an emphasis
on checking empo al sa e y p ope y o GUI so -
wa e. Cha ac e izing he e ec s o p og am s a e-
men s ( ia SQL s a emen s) on da abase able
columns, and o check ha hese cha ac e is ics
hold o no , is o p edominan impo ance o la ge
so wa e sys ems wi h an imp essi e numbe o
da abase ables. Table 1illus a es o ins ance
FOSS YERITH–ERP–3.0 ele an so wa e sys-
em me ics.
I means i can be e y di icul o de elope s
o keep applica ion ela ed logical equi emen s
be ween he ables wi hou app op ia e so wa e
es ing o analysis ools.
A la ge amoun o o me wo k on un ime
moni o ing assumes o a sequen ial p og am, o
an abs ac ion o he p og am as one single sou ce
code, on which p og am analysis is pe o med [12–
16].
The p og am analysis echnique he au ho o
his pape p esen s he e abs ac SQL e en s, GUI
e en s, o sequences o hem, as a s a e diag am,
and enables de elope s o un hem sequen ially
agains a un ime moni o speci ied as a C++
p og am. In pa icula , he example p esen ed in
Sec ion 3speci ies esul s o GUI windows e en s
as SQL da abase p e-condi ions on s a e diag am
ansi ions; SQL e en s a e speci ied as s a e dia-
g am ansi ion e en s. Figu e 1shows a high le el
o e iew o YRIDBRUNTIMEVERIF wo k low.
1.2 Main Con ibu ions
This pape p esen s 3o iginal main con ibu ions:
•an indus ial le el quali y amewo k
(YRIDBRUNTIMEVERIF:h ps://gi hub.com/
ye i h d/y i-db- un ime- e i ), ha sol es
empo al p ope y e i ica ion by dynamic
p og am analysis. YRIDBRUNTIMEVERIF
makes use o he C++ Q Dbus lib a y,
o inpu a un ime moni o speci i-
ca ion (y i_sd_ un ime_ e i )as
C++ p og am code, ha also enables
so wa e–lib a y–plugin checks;
•aC++ lib a y: y i_sd_ un ime_ e i
(h ps://gi hub.com/ye i h d/y i_sd_
un ime_ e i ); modeling a s a e diag am
un ime moni o ing in e ace using only se
algeb a inclusion ope a ions (∈, /∈) o s a e
diag am p og am s a e speci ica ion as p e-
and pos -condi ions.
y i_sd_ un ime_ e i only enables
he speci ica ion o s a es diag ams speci ica-
ions as no desi able ( o bidden) beha -
io speci ica ions ( ail aces). Thus,
YRIDBRUNTIMEVERIF doesn’ gene a e any
alse wa ning. A iola ion o a sa e y ule has
been ound whene e a inal s a e could be
eached. On he o he hand, no eaching a
inal s a e doesn’ mean ha he e is no a
es case (o es inpu ) ha canno each
his inal s a e.
•An applica ion o YRIDBRUNTIMEVERIF o
check 1 empo al sa e y p ope y e o , ound
in he ERP FOSS YERITH–ERP–3.0.
P e ious e sion o his pape
This pape ex ends a p e ious e sion [17],
cu en ly in con e ence p oceedings SPLASH–
ICTSS 2023 submission, wi h s a e diag am wi h
mo e han 2s a es, gua ded condi ions speci ica-
ions, 2new keywo ds o s a e diag am ansi ion
ace speci ica ion (”in_sql_e en _log”,
”no _in_sql_e en _log”), 2
new keywo ds (”IN_POST_NOP”,
”NOT_IN_POST_NOP”) o no-ope a ions
s a e pos -condi ions; And YRIDBRUNTIMEVERIF
bina ies wi h mo e han 1 un ime moni o .
1.3 O e iew
This pape is o ganized as ollows: Sec ion 2
p esen s o mal de ini ions o he p incipal con-
cep s used in his pape . Sec ion 3p esen s a
mo i a ing example ha will be used h ough-
ou his pape o explain he p esen ed concep s
o his pape . Sec ion 4p esen s he so wa e
a chi ec u e o YRIDBRUNTIMEVERIF, ou GUI
dynamic analysis amewo k. Sec ion 5in oduces
he C++ so wa e lib a y y i_sd_ un ime_ e i
o model s a es diag ams, and eused by
YRIDBRUNTIMEVERIF. We e alua e ou dynamic
un ime analysis in Sec ion 6. Sec ion 7compa es
his pape wi h o he pape s ha achie e simila
wo k o endea o s. Sec ion 8concludes his pape .
3
2 Fo mal De ini ions
y i_sd_ un ime_ e i ’s o mal desc ip ion o
he s a e diag am o malism ollows Mealy
machine [3] added wi h accep ing s a es
( inal o e oneous s a es), and s a e dia-
g am ansi ion p e- and pos -condi ions:
”s a e diag am mealy machine”. Ano he excellen ,
de ailed wi h p oo s and heo y p esen a ion o
mealy au oma a [18] is a ailable. In compa ison
o s a echa [19], which is a isual o mal-
ism o s a es diag ams, y i_sd_ un ime_ e i
doesn’ suppo a ime o ins ance he ollow-
ing ea u es: hie a chical s a es (composi e s a e,
submachine s a e), iming condi ions ( iming con-
di ions on s a es en ies, and / o ansi ion
igge ing condi ions).
De ini ion 1: A s a e diag am.
A s a e diag am is an 8– uple
(S, S0, C, Σ,Λ, δ, T, Γ) whe e:
•S: a ini e se o s a es
•S0∈S: a s a s a e (o ini ial s a e)
•C: a se o p edica e condi ions; p e-
condi ions a e unde lined (e.g.: Q0), and
pos -condi ions a e o e lined (e.g.: Q1). A
p e-condi ion is compa able o a Ha el-
s a echa gua ded condi ion.
•Σ: an inpu alphabe , Σ:= {False, T ue}.
′False′means no inpu om SUT in o
YRIDBRUNTIMEVERIF.
′T ue′means any inpu could come om
SUT.
•Λ: an ou pu alphabe (o p og am e en s
en(n∈N)), φ he no p og am e en . A
p og am e en gene ally co esponds o a
unc ion o me hod call a a SUT sou ce code
s a emen (o p og am poin ).
•δ:S×C: a 2-a y ela ion ha maps a
s a e s o a s a e-condi ion cas ei he a s a e
diag am ansi ion p e-condi ion (c), o as a
s a e diag am ansi ion pos -condi ion (c).
•T:S×Σ→S×Λ: a ansi ion unc ion ha
maps an inpu symbol o an ou pu symbol
and he nex s a e.
•: a 2−a y ela ion ha maps a s a e diag am
ansi ion o a gua ded condi ion exp ession.
•Γ: a se o accep ing s a es; Γ∈S.
Fo ins ance, o he mo i a ing example
desc ibed in Figu e 2we ha e:
•S={D,E};
•S0=D;
•C={Q0, Q1};
•Σ={F alse, T ue};
•Λ={φ, ’SELECT.depa men ’};
•δ={(D, Q0),(E, Q1)};
•T={((D, F alse),(D, φ)),((D, T ue),(E,’SELECT.depa men ’))};
•Γ={E}
De ini ion 2: A p e-condi ion.
A p e-condi ion o a s a e diag am ansi ion is a
p edica e ha mus be ue be o e he ansi ion
can be igge ed. A p e-condi ion Q0could ha e
2 o ms:
•Q0:= IN_PRE(X, Y) ha means alue "X"
is in (∈) da abase column alue se "Y".
•Q0:= NOT_IN_PRE(X, Y) ha means
alue "X" is no in (/∈) da abase column
alue se "Y".
De ini ion 3: A pos -condi ion.
A pos -condi ion o a s a e diag am ansi ion is
a p edica e ha mus be ue a e he ansi ion
was igge ed. A pos -condi ion Q1could ha e 2
o ms:
•Q1 := IN_POST(A, B) ha means alue
"A" is in (∈) da abase column alue se "B".
•Q1 := NOT_IN_POST(A, B) ha means
alue "A" is no in (/∈) da abase column alue
se "B".
Fo s a e diag am mealy machines wi h
mo e han 2s a es, only he i s ansi-
ion has a p e-condi ion speci ica ion (IN_PRE,
o NOT_IN_PRE). Each o he ansi ion only
has a pos -condi ion speci ica ion (IN_POST,
o NOT_IN_POST). Since each s a e only has
1ou going (edge) s a e ansi ion, he pos -
condi ion o he p e ious (incoming) s a e ansi-
ion ac s as he p e-condi ion o he nex ansi-
ion.
IT is also o use in e es o ha e ollow-
ing NO–OPe a ion pos -condi ions when wo king
wi h s a e diag am mealy machines wi h mo e
han 2s a es :
◦IN_POST_NOP
4
◦NOT_IN_POST_NOP
OUR expe ience, no epo ed a ime any-
whe e, shows ha s a e diag am mealy machine
wi h mo e han 2s a es a e eally mo e o pa -
allel sys em modeling; I.E. sys ems ha wo k in
GUI wi h ime s and se e al h eads o wo k a
any ime.
“In such cases, subsequen linea ly
placed s a es may no belong o same h ead
o execu ion: his is kind o wha is called
in CSP (Communica ing Sequen ial P o-
cesses) []; Pa allel Composi ion.“
De ini ion 4: A ace.
A ace Tn=< e0, e1, .., en>is a sequence o
SUT e en s (o SUT p og am poin s) ei,i∈{0,..,n}
o leng h n. ace(D)is he ace o SUT e en s up
o s a e D. Fo ins ance, o he mo i a ing exam-
ple desc ibed in Figu e 2we ha e: ace(E) =
ace(D), < ’SELECT.depa men ’>.
P oposi ion 1: NO FALSE
WARNINGS.
y i_sd_ un ime_ e i only allows 1ou going
edge o ansi ion o a s a e in i s speci ica ions,
and o no desi able ( o bidden) beha io , as
illus a ed in Figu e 2. The e is no need o spec-
i y he ed colo ed edge in Figu e 2because i
ep esen s un ime cases whe e no inpu e en s
a i e om SUT in o YRIDBRUNTIMEVERIF.
These 2p ope ies, oge he wi h algo-
i hm ’YRI_ igge _an_edge_e en (QS ing
an_edge_e en )’ (Lis ing 3) o
y i_sd_ un ime_ e i , ensu es ha he e a e
no alse wa nings du ing YRIDBRUNTIMEVERIF
analyses. Fo example, he un ime moni o ing
o e i ica ion sys ems [12–16] may gi e alse
wa nings.
2.1 Gua ded Condi ion Exp ession
Speci ica ion in
y i_sd_ un ime_ e i
Gua ded condi ions exp essions can be speci-
ied using one o he y _c ea e_moni o _edge
me hod and a boolean exp ession o ype
YR_CPP_BOOLEAN_exp ession. An edge wi hou
an explici gua ded condi ion has an implici
’[T ue]’ gua ded condi ion on i . The implici
gua ded condi ion ’[T ue]’ mus n’ be iden i ied
as an implici inpu e en ’T ue’, as speci ied in
De ini ion 1.
Gua ded condi ions a e mean o be ace se
speci ica ion on p og am e en s. Fo ins ance in
Figu e 2(mo i a ing example): "[in_se _ ace
(’DELETE.depa men .YRI_ASSET’,
STATE(D))]"means ha a SQL ’DELETE’ e en
emo ing a depa men named ’YRI_ASSET’
om Ma iaDB SQL able ’depa men ’ mus ha e
occu ed in he ace leading o s a e ’D’, be o e
e en ’SELECT.depa men ’ can be igge ed. A
gua ded condi ion could ha e wo p ac ical o ms:
•"[in_se _ ace (’e en ’, STATE(D))]" is
equi alen o: ’e en ’ ∈ ace(D).
•"[no _in_se _ ace (’e en ’,
STATE(D))]" is equi alen o:
’e en ’ /∈ ace(D).
whe e ’e en ’ is an inpu e en (e en ∈Σ)
and ’D’ a s a e diag am s a e (D∈S).
5
Fig. 2: A mo i a ing example, as cu en bug in YERITH–ERP–3.0.
Q0 := NOT_IN_PRE(YRI_ASSET, depa men .depa men _name).
Q1 := IN_POST(YRI_ASSET, s ocks.depa men _name).
D
Q0
s a E
Q1
False / φ
[in_se _ ace(’DELETE.depa men .YRI_ASSET’, STATE(d))] / ’SELECT.depa men ’
Fig. 3:YERITH–ERP–3.0 adminis a ion
sec ion displaying depa men s (¬Q0).
Fig. 4:YERITH–ERP–3.0 s ock
asse window lis ing some asse s
(Q1).
3 Mo i a ing Example: missing
depa men de ini ion
3.1 The En e p ise Resou ce
Planing So wa e
YERITH–ERP–3.0
YERITH–ERP–3.0 is a as , ye e y simple
in e ms o usage, ins alla ion, and con igu a ion
En e p ise Resou ce Planing So wa e de eloped
by Noundou e al. [5] o e y small, small,
medium, and la ge en e p ises. YERITH–ERP–
3.0 is de eloped using C++ by means o he
Q de elopmen lib a y. YERITH–ERP–3.0 is
a la ge so wa e wi h a ound 300 000 ( h ee
hund ed housands) o physical sou ce lines o
code. YRIDBRUNTIMEVERIF could be used o in e-
g a ion es ing o YERITH–ERP–3.0, among
di e en so wa e modules.
3.2 Example Tempo al Sa e y
P ope y
The mo i a ing example o his pape con-
sis s o he empo al sa e y p ope y s ipula -
ing ha ”A DEPARTMENT SHALL NOT
BE DELETED WHENEVER STOCKS
ASSET STILL EXISTS UNDER THIS
DEPARTMENT”. This s a emen means ha
a use shall be denied he emo al o depa -
men ’YRI_ASSET’ in Figu e 3because he e
a e s ill a s ock asse lis ed wi hin depa men
’YRI_ASSET’, as illus a ed in Figu e 4. Figu e 2
6
Fig. 5:YRIDBRUNTIMEVERIF g aphical EDITOR iewing in e ace demons a ing ha a inal s a e has
been eached (Sec ion 6analyzes hese esul s).
illus a es he abo e empo al sa e y p ope y as
a simple s a e diag am.
3.2.1 S a e Diag am Explana ion
’D’ is a s a s a e as illus a ed by an a ow end-
ing on i s s a e shape. ’E’ is a inal (e o , o
accep ing) s a e as illus a ed by a double ci cle
as s a e shape.
The p e-condi ion Q0(as a p edica e) in s a e
’D’:
"NOT_IN_PRE(YRI_ASSET, depa -
men .depa men _name)" means:
•a depa men named ’YRI_ASSET’
is no in column ’depa men _name’
o Ma iaDB SQL da abase able
’depa men ’. This migh happen whene e
bu on ’Dele e’ in Figu e 3is p essed when
i em ’YRI_ASSET’ is selec ed.
Simila ly, he pos -condi ion Q1(as
a p edica e) "IN_POST(YRI_ASSET,
s ocks.depa men _name)", in accep ing s a e
’E’, means:
•a depa men named ’YRI_ASSET’ is in
column ”depa men _name’’ o Ma iaDB
SQL da abase able ’s ocks’.
The s a e diag am e en ansi ion in
Figu e 2: ’SELECT.depa men ’ deno es ha
when in ’D’, a SQL ’selec ’ on da abase able
”depa men ’’ has occu ed; ’E’ is hen eached as
an accep ing s a e.
7
Gua ded Condi ion Exp ession
The gua ded condi ion exp ession "[in_se _ ace
(’DELETE.depa men .YRI_ASSET’,
STATE(D))]"means a SQL ’DELETE’ e en emo -
ing a depa men named ’YRI_ASSET’ om
Ma iaDB SQL able ’depa men ’ mus ha e
occu ed in he ace leading o s a e ’D’.
Y i_sd_ un ime_ e i Speci ica ion
Code
The sou ce code speci ied in Lis ing 2also
illus a es a speci ica ion in C++ using so wa e
lib a y y i_sd_ un ime_ e i o he s a e dia-
g am speci ica ion abo e.
3.3 YRIDBRUNTIMEVERIF Analysis
Repo
The mo i a ing example au oma on in Figu e 2is
analyzed by YRIDBRUNTIMEVERIF as ollows:
•whene e depa men ’YRI_ASSET’ is
dele ed in YERITH–ERP–3.0, as done in
Figu e 3, he un ime moni o s a e ’D’ wi h
a s a e condi ion Q0is en e ed
•when MySQL lib a y (plugin) e en
’SELECT.depa men ’ occu s, in Figu e 3
because o YERITH–ERP–3.0 display-
ing he emaining p oduc depa men s,
he gua ded condi ion o edge e en
’SELECT.depa men ’ is au oma ically
e alua ed o ’T ue’ by C++ lib a y
y i_sd_ un ime_ e i , because no o he
gua ded condi ion was speci ied by he
de elope
•y i_sd_ un ime_ e i en e s he
un ime moni o s a e o ’E’ and
s a e condi ion Q1 ia me hod
YRI_ igge _an_edge_e en (QS ing
an_edge_e en ) because he e a e s ill
asse s (ye i h_asse _3) le wi hin p od-
uc depa men ’YRI_ASSET’, as illus a ed
in Figu e 4. ’E’ is hen an accep ing (o inal
o e o ) s a e.
Figu e 5illus a es an analysis esul o he
a o e desc ibed p ocess, which ge s e alua ed and
desc ibed in E alua ion Sec ion 6.
8
7 Rela ed Wo k
•SUT sou ce code ins umen a ion
wi h un ime moni o speci ica ion.
"Cla a" [12] enables o exp ess so wa e
co ec ness p ope ies using Aspec J and
dependency s a e machines ( ela ed o ace-
ma ches [21]), bo h as ins ances o he
ypes a e o malism, a o malism ha is
me ely used o checking co ec ness o p o-
g ams by a s a ic compila ion (analysis)
echnique called ypes a e checking. The
Cla a amewo k wea es (ins umen s), and
anno a es a p og am wi h un ime moni-
o s using Aspec J, hen ies o op imize
he wea ed p og am by s a ic analysis. The
” esidual p og am”, meaning he wea ed
s a ically op imized p og am is hen exe-
cu ed and un ime moni o ed by de elope s
o de ec un ime e o s. Run ime moni o -
ing ools [13–16] wo k as simila as he Cla a
amewo k does.
YRIDBRUNTIMEVERIF doesn’ ins u-
men he Sys em Unde Tes (SUT) wi h
any speci ica ion. I uns he un ime mon-
i o concu en ly om he analyzed SUT,
bu no wi h hand–shaking mechanism, hus
no inc easing un ime execu ion o he SUT.
YRIDBRUNTIMEVERIF speci ies he un ime
moni o as a s a e diag am mealy machine, a
subse o ypes a e, speci ied as a C++ p o-
g am, and ex ended wi h accep ing s a es
and s a e ansi ion p e- and pos -condi ion.
•SUT bina y code ins umen a ion wi h
a un ime moni o . Wi h ace o y [6,
22]", Jon Eyol son and Pa ick Lam
use un ime p og am bina y code ins u-
men a ion echnique in INTELpin [23] o
ins umen unning p og ams o pu poses
o de ec ing un ead memo y. I.e., ace o y
doesn’ gene a e i sel a un ime moni o ,
i uses INTELpin [23] o gene a e a un-
ime moni o o i s e i ica ion pu poses.
"Pu i y" [24] doesn’ allow o SUT use co -
ec ness p ope y speci ica ion. I has buil -in
memo y access sa e y p ope ies o check
o line on p og am execu ion, a e ins u-
men a ion o he SUT, i s hi d-pa y, and
endo objec -code lib a ies.
In con as , wi h YRIDBRUNTIMEVERIF,
he use ins umen s he sou ce code
o he analyzed C++ p og am a com-
pile ime wi h SQL e en s emi ing code.
YRIDBRUNTIMEVERIF could also be used
o pe o m memo y w i e in eg i y check
like ace o y.YRIDBRUNTIMEVERIF moni-
o s p og am ace e en s a da abase le el
(also sou ce code s a emen le el by map-
ping o SQL que y s a emen s), and no a
p og am coun e le el as ace o y does.
YRIDBRUNTIMEVERIF inpu s a SUT co ec -
ness p ope y speci ica ion as a s a e diag am
mealy machine (as a subse o LTL [2]);
YRIDBRUNTIMEVERIF is a un ime moni o
con aine ; YRIDBRUNTIMEVERIF also gen-
e a es i sel a un ime moni o whe eas
ace o y doesn’ .
•Sou ce code au oma ed es case gene -
a ion o C++ wi h TDIOHS [25], o FOSS
lib a y lib sm es [7]. ”Peleska e al.”
c ea ed a F amewo k o gene a ing Ha el–
s a echa s ully compa ible s a e diag ams
as Tes p og ams as C++ objec –o ien ed p o-
g am code; Based on ”Peleska e al.” o mal-
ism o Time Disc e e Inpu /Ou pu Hyb id
Sys em (TDIOHS). TDIOHS models s a e sys-
ems ha handle eal and disc e e eal num-
be da a as inpu o he sys em unde es ;
TDIOHS models SUT execu ion by a so called
SYMBOLIC TEST CASES TREE (STCT)
ha ep esen s all possible un ime execu ion
pa hs o he SUT by means o symbolic es
cases da a. Symbolic es cases da a a e da a
ha canno be used in a un ime execu ion,
BUT ha a e gene a ed ou side om STCT
ee by a symbolic es da a gene a o algo-
i hm. The SUT sample ee execu ion pa hs
a e hen a e sed based on he eal es da a
gene a ed by a symbolic es da a gene a o
componen [26].
In con as , he amewo k YERITH_QVGE
un ime moni o s a p og am unde analy-
sis only o speci ied ail ( o bidden) ace
beha io s as gi en by use s.
•Speci ica ion as se in e ace ope a-
ions. "Hob" [27,28] is a p og am e i i-
ca ion amewo k ha enables o: cha ac-
e ize e ec s o p og am s a emen on da a
15
s uc u es by means o all (∀,∃,e c.) alge-
b a abs ac se in e ace ope a ions; and o
check ha hese cha ac e is ics hold o no ,
using s a ic analyses.
YRIDBRUNTIMEVERIF is a p og am e i-
ica ion amewo k ha enables o: cha ac e -
ize e ec s o p og am s a emen s ia SQL [4]
(S uc u e Que y Language) on da abase
able columns by means o se in e ace ope -
a ions (∈, /∈); and o check ha hese cha ac-
e is ics hold o no , using dynamic un ime
analysis.
•Concu en E en S eam Analysis.
"DejaVu" [29] enables o check sa e y
empo al p ope y exp essed in i s -o de
pas linea - ime empo al logic (FO-
PLTL) o e en s ha ca y da a. DejaVu
inpu s a ace log (o line) and a FO-
PLTL o mula, and ou pu s a boolean alue
o each posi ion in he inpu ed ace.
"LogScope" [30] checks, o line, so wa e
sys ems co ec ness p ope ies exp essed
using a ule–based speci ica ion language
o e s a e machines. I is no e y p ecise
wha ype o s a e machine is c ea ed and
p ocessed. "LogScope" ansla es speci ica-
ions in o C++ moni o s ( ha could ca y
da a). "E en RaceCommande " [31] epai s in
web applica ions (online), e en ace e o s,
a kind o sa e y e o .
S a es diag ams speci ica ions a e
implemen ed as C++ p og am moni o s
using C++ lib a y y i_sd_ un ime_ e i .
YRIDBRUNTIMEVERIF ou pu s a de elope
gi en (by means o a callback unc ion, as
seen in ’line 15’ in Lis ing 2) s ing message 1
in case an accep ing s a e was en e ed, and
a ace e en o YERITH–ERP–3.0 lead-
ing o i . YRIDBRUNTIMEVERIF’s moni o s
need no s o e da a, as DejaVu moni o s
mus . YRIDBRUNTIMEVERIF e en s also
ca y da a (da abase able and column
name, eco ds quan i y modi ied by cu en
SUT e en ). Run ime moni o s could be
checked agains p og ams w i en in any
p og amming language o amewo k, as
1’YRI_DB_RUNTIME_VERIF_Moni o _no i y_SUCCESS_VERIFICATION’
in his pape mo i a ing example in Figu e 5.
long as hey emi necessa y SQL e en s o
YRIDBRUNTIMEVERIF.
16
Fig. 11:A Mealy Machine S a e Diag am Speci ied Using y i_sd_ un ime_ e i Speci ica ion
Language.
1. y i_sd_mealy_au oma on_spec y i_missing_depa men
2. {
3. START_STATE(d):NOT_IN_PRE(YRI_ASSET,depa men .depa men _name)
4. ->[in_sql_e en _log(’DELETE.depa emen .YRI_ASSET’,STATE(d))]/’SELECT.depa men ’->
5. ERROR_STATE(e):IN_POST(YRI_ASSET,s ocks.depa men _name).
6. }
Fig. 12: ’YERITH_QVGE’ model o he example speci ica ion in Figu e 11.
8 Conclusion And Fu u e
Wo k
This pape has p esen ed a ligh weigh
C++ Q Dbus [32] ool o check a p o-
g am agains a un ime moni o using
se in e ace ope a ions (∈, /∈) on p o-
g am s a emen : YRIDBRUNTIMEVERIF.
YRIDBRUNTIMEVERIF doesn’ gene a e alse wa n-
ings; YRIDBRUNTIMEVERIF speci ica ions a e no
desi able ( o bidden) speci ica ions ( ail aces).
Since he concu en communica ion be ween
YRIDBRUNTIMEVERIF and a p og am occu s o e
he RPC (Remo e P ocedu e Call) ins ance Dbus,
a un ime moni o could be checked agains p o-
g ams w i en in any p og amming language o
amewo k, as long as hey emi he necessa y
SQL e en s o YRIDBRUNTIMEVERIF.
Fu u e wo k would be a ool-chain o alida e
y i_sd_ un ime_ e i models as ep esen ed in
his pape .
Also, he au ho o his pape has de el-
oped a g aphical d awing ool (YERITH_QVGE)
o in Sec ion 2de ined s a e diag ams. A
model o YERITH_QVGE is shown in Figu e 12.
I is an ex ension o he FOSS (F ee and
Open Sou ce So wa e) Q G aph iz [33] d aw-
ing ool QVGE [34]. YERITH_QVGE gene a es,
om a model, an inpu ile o he compile
y i_sd_ un ime_ e i _lang_comp.
17
Lis ing 4: ’DO_VERIFY_AND_o _CHECK_l l_PROPERTY’: YRIDBRUNTIMEVERIF’s o e idden
me hod o p ocessing SUT e en s eam C++ pseudo-code.
1bool DO_VERIFY_AND_o _CHECK_l l_PROPERTY(
2 QS ing sql_ able_NAME,
3 SQL_CONSTANT_IDENTIFIER cu _SQL_command)
4 {
5swi ch (cu _SQL_command)
6 {
7case SELECT:
8
9i ("depa men " == sql_ able_NAME))
10 {
11 e u n YRI_ igge _an_edge_e en ("’selec .depa men ’");
12 }
13 b eak;
14
15 de aul :
16 b eak;
17 }
18
19 e u n alse;
20 }
A P ocessing o SUT E en
S eam By An Analysis
Clien
Lis ing 4illus a es he pseudo-
code o YRIDBRUNTIMEVERIF
SUT e en p ocessing me hod
’DO_VERIFY_AND_o _CHECK_l l_PROPERTY’.
An analysis clien mus i s o e ide me hod
’DO_VERIFY_AND_o _CHECK_l l_PROPERTY’
o class ’YRI_DB_RUNTIME_VERIF_Moni o ’ so o
implemen a checking algo i hm o each e en
ecei ed om SUT, as o ins ance he e en s
illus a ed in Figu e 2o he mo i a ing example.
The analysis clien hen calls me hod
’YRI_ igge _an_edge_e en (QS ing
an_edge_e en )’ o class
’YRI_CPP_RUNTIME_MONITOR’ o C++ lib a y
y i_sd_ un ime_ e i o each co esponding
s a e diag am ansi ion e en .
B YRI_SD_RUNTIME_VERIF
SPECIFICATION
LANGUAGE
18
Fig. 13:G amma in Backus–Nau Fo m (BNF) o y i_sd_ un ime_ e i Mealy Machine
S a e Diag am Speci ica ion Language.
hspeci ica ioni::= y i_sd_mealy_au oma on_spec ’{’ hmealy-au oma on-speci’.’ ’}’
hmealy-au oma on-speci::= hsu -s a e-speci
|hsu -s a e-speci’→’hsu -edge-s a e-speci
hsu -edge-s a e-speci::= hsu -edge-mealy-au oma on-speci’→’hmealy-au oma on-speci
hsu -edge-mealy-au oma on-speci::= hedge-mealy-au oma on-gua d-condi he en -calli
hedge-mealy-au oma on-gua d-condi::= /* emp y */ ’/’ | ’[’ h ace-speci ica ioni’]’ ’/’
h ace-speci ica ioni::= hin-sql-e en -logi|hno -in-sql-e en -logi|hin-se - acei|hno -in-se - acei
hsu -s a e-speci::= hs a -s a e-p ope y-speci
|hs a -s a e-p ope y-speci’:’ halgeb a-se -speci ica ioni
|hs a e-p ope y-speci’:’ halgeb a-se -speci ica ioni
|h inal-s a e-p ope y-speci’:’ halgeb a-se -speci ica ioni
|h inal-s a e-au o-p ope y-speci’:’ halgeb a-se -speci ica ioni’:’
h eco e y-sql-que y-speci
halgeb a-se -speci ica ioni::= hin-algeb a-se -speci|hno -in-algeb a-se -speci
hin-algeb a-se -speci::= hin-speci’(’ hp og- a iablei’,’ hdb- ablei’.’ hdb-columni’)’
|hin-spec-nopi’(’ ’)’
hno -in-algeb a-se -speci::= hno -in-speci’(’ hp og- a iablei’,’ hdb- ablei’.’ hdb-columni’)’
|hno -in-spec-nopi’(’ ’)’
hin-sql-e en -logi::= in_sql_e en _log’(’ he en -calli’,’ hs a e-p ope y-speci ica ioni’)’
hno -in-sql-e en -logi::= no _in_sql_e en _log’(’ he en -calli’,’ hs a e-p ope y-speci ica ioni’)’
hin-se - acei::= in_se _ ace’(’ he en -calli’,’ hs a e-p ope y-speci ica ioni’)’
hno -in-se - acei::= no _in_se _ ace’(’ he en -calli’,’ hs a e-p ope y-speci ica ioni’)’
hin-speci::= IN_BEFORE |IN_AFTER
|IN_PRE |IN_POST
hin-spec-nopi::= IN_POST_NOP
hno -in-speci::= NOT_IN_BEFORE |NOT_IN_AFTER
|NOT_IN_PRE |NOT_IN_POST
hno -in-spec-nopi::= NOT_IN_POST_NOP
hs a -s a e-p ope y-speci::= START_STATE’(’ AlphaNum ’)’
hs a e-p ope y-speci::= STATE’(’ AlphaNum ’)’
h inal-s a e-p ope y-speci::= END_STATE’(’ AlphaNum ’)’
|FINAL_STATE’(’ AlphaNum ’)’
|ERROR_STATE’(’ AlphaNum ’)’
h inal-s a e-au o-p ope y-speci::= END_STATE_AUTO’(’ AlphaNum ’)’
|FINAL_STATE_AUTO’(’ AlphaNum ’)’
|ERROR_STATE_AUTO’(’ AlphaNum ’)’
h eco e y-sql-que y-speci::= eco e y_sql_que y’(’ hdb- ablei’,’ hsql- eco e y-que yi’)’
hsql- eco e y-que yi::= S ing
he en -calli::= S ing
hp og- a iablei::= AlphaNum
hdb- ablei::= AlphaNum
hdb-columni::= AlphaNum
19
Fig. 14:YERITH–ERP–3.0 Main enance Ve i ica ion In e ace.
C YERITH–ERP–3.0
MAINTENANCE
VERIFICATION
INTERFACE
20
Re e ences
[1] Wikipedia.o g: SQL - Wikipedia. h ps://en.
wikipedia.o g/wiki/SQL. Accessed las ime
on Feb ua y 08,2023 a 12:00 (2023)
[2] Cla ke, E.M., G umbe g, O., K oening, D.,
Peled, D.A., Vei h, H.: Model Checking,
2nd Edi ion. (2018). h ps://mi p ess.mi .
edu/books/model-checking-second-edi ion
[3] Wikipedia.o g: Mealy machine. h ps:
//en.wikipedia.o g/wiki/Mealy_machine.
Accessed las ime on Dec 15,2022 a 12:00
(2022)
[4] Ma iaDB.o g: Ma iaDB Founda ion -
Ma iaDB.o g. h ps://www.ma iadb.o g.
Accessed las ime on June 24,2022 a 12:20
(2022)
[5] Noundou, X.: YERITH–ERP–PGI–3.0 Doc-
o al Compendium. h ps://a chi e.o g/
download/ye i h-e p-pgi-compendium_
202206/JH_NISSI_ERP_PGI_
COMPENDIUM.pd . Accessed las ime on
Janua y 21,2023 a 23:24 (2022)
[6] Eyol son, J., Lam, P.: De ec ing un ead mem-
o y using dynamic bina y ansla ion. In:
Qadee , S., Tasi an, S. (eds.) Run ime Ve i-
ica ion, pp. 49–63. Sp inge , Be lin, Heidel-
be g (2013)
[7] Be gen hal, M., K a czyk, N., Peleska, J.,
Sach leben, R.: lib sm es an open sou ce
lib a y o sm-based es ing. In: Cla k, D.,
Menendez, H., Ca alli, A.R. (eds.) Tes ing
So wa e and Sys ems, pp. 3–19. Sp inge ,
Cham (2022)
[8] doc.q .io/q -5: Q 5.15.h ps://doc.q .io/
q -5. Accessed las ime on Dec 22,2022 a
12:40 (2022)
[9] h ps:// eedesk op.o g/wiki/So wa e/cppuni :
cppuni . h ps://doc.q .io/q -5/
q dbus-index.h ml. Accessed las ime on
Janua y 01,2023 a 12:00 (2022)
[10] Alpe n, B., Ngo, T., Choi, J.-D., S idha-
an, M.: DejaVu: de e minis ic Ja a eplay
debugge o Jalapeño Ja a i ual machine.
In: Addendum o he P oceedings o he
Con e ence on Objec -O ien ed P og am-
ming, Sys ems, Languages, and Applica ions
(OOPSLA) (2000). h ps://doi.o g/10.1145/
367845.368073
[11] oglogic.com: Home • oglogic. h ps://
www. oglogic.com/home. Accessed las ime
on Dec 18,2022 a 20:00 (2022)
[12] Bodden, E., Hend en, L.: The cla a ame-
wo k o hyb id ypes a e analysis. In e na-
ional Jou nal on So wa e Tools o Tech-
nology T ans e (STTT) 14, 307–326 (2012).
10.1007/s10009-010-0183-5
[13] Bu ke ich, S., Renedo, M., Baumga ne , G.,
Young, M.: Compile and ool suppo o
debugging objec p o ocols. In: SIGSOFT
’00/FSE-8 (2000)
[14] Allan, C., A gus ino , P., Ch is ensen, A.S.,
Du ou , B., Goa d, C., Hend en, L.J., Kuzins,
S., Lho ák, J., Lho ák, O., Moo , O., Se eni,
D., Si ampalam, G., Tibble, J., Ve b ugge,
C.: abc he aspec bench compile o aspec j a
wo kbench o aspec -o ien ed p og amming
language and compile s esea ch. In: John-
son, R.E., Gab iel, R.P. (eds.) Companion o
he 20 h Annual ACM SIGPLAN Con e ence
on Objec -O ien ed P og amming, Sys ems,
Languages, and Applica ions, OOPSLA
2005, Oc obe 16-20, 2005, San Diego,
CA, USA, pp. 88–89. ACM, ??? (2005).
h ps://doi.o g/10.1145/1094855.1094877 .
h ps://doi.o g/10.1145/1094855.1094877
[15] Bodden, E.: J-LO - A ool o un ime-
checking empo al asse ions. Diploma he-
sis, RWTH Aachen Uni e si y (No em-
be 2005). h ps://www.bodden.de/pubs/
bodden05jlo.pd
[16] Chen, F., Rosu, G.: Mop: an e icien and
gene ic un ime e i ica ion amewo k. In:
Gab iel, R.P., Bacon, D.F., Lopes, C.V., J .,
G.L.S. (eds.) P oceedings o he 22nd Con-
e ence on Objec -O ien ed P og amming,
Sys ems, Languages and Applica ions, pp.
569–588. ACM, ??? (2007). h ps://doi.o g/
10.1145/1297027.1297069
21
[17] Noundou, X.: Y _db_ un ime_ e i : a
amewo k o e i ying sql co ec ness p op-
e ies o gui so wa e a un ime (2023).
h ps://a chi e.o g/download/y i_ic ss_
2023/y i_ic ss_2023.pd
[18] Peleska, J., Huang, W.-l.: Tes
Au oma ion; Founda ions and Appli-
ca ions o Model-based Tes ing. h ps:
//www.in o ma ik.uni-b emen.de/agbs/jp/
pape s/ es -au oma ion-huang-peleska.pd .
Accessed las ime on May 06,2023 a 12:00
(2021)
[19] Ha el, D.: S a echa s: a isual o malism
o complex sys ems. Science o Compu e
P og amming 8(3) (1987)
[20] Booch, G., Rumbaugh, J., Jacobson, I.: Uni-
ied Modeling Language Use Guide, The
(2nd Edi ion) (Addison-Wesley Objec Tech-
nology Se ies). (2005)
[21] Allan, C., A gus ino , P., Ch is ensen, A.S.,
Hend en, L.J., Kuzins, S., Lho ák, O., Moo ,
O., Se eni, D., Si ampalam, G., Tibble, J.:
Adding ace ma ching wi h ee a iables o
aspec j. In: OOPSLA ’05 (2005)
[22] Eyol son, J.: T ace o y; Dynamic T ace-
ma ches and Un ead Memo y De ec ion o
C/C++. (2012). MASTER OF APPLIED
SCIENCES (MASc). h ps://hdl.handle.ne /
10012/6206
[23] Luk, C.K., Cohn, R.S., Mu h, R., Pa il,
H., Klause , A., Lowney, P.G., Wallace,
S., Reddi, V.J., Hazelwood, K.M.: Pin:
building cus omized p og am analysis ools
wi h dynamic ins umen a ion. In: PLDI ’05
(2005)
[24] Has ings, R.O., Joyce, B.A.: Fas de ec ion o
memo y leaks and access e o s. (1991)
[25] Badban, B., F änzle, M., Peleska, J., Teige,
T.: Tes au oma ion o hyb id sys ems. In:
Thi d In e na ional Wo kshop on So wa e
Quali y Assu ance (SOQUA 2006), pp. 14–21
(2006)
[26] opoussi, S.A.: Tes da a ... In: DISSERTA-
TION in INFORMATIK (2010)
[27] Kuncak, V., Lam, P., Zee, K., Rina d, M.:
Modula pluggable analyses o da a s uc-
u e consis ency. T ansac ions on So wa e
Enginee ing 32(12), 988–1005 (2006)
[28] Lam, P.: The Hob Sys em o Ve i ying So -
wa e Design P ope ies. (2007)
[29] Ha elund, K., Peled, D., Ulus, D.: Deja u:
A moni o ing ool o i s -o de empo al
logic, pp. 12–13 (2018). h ps://doi.o g/10.
1109/MT-CPS.2018.00013
[30] Ha elund, K.: Speci ica ion-based moni o ing
in c++. In: Ma ga ia, T., S e en, B. (eds.)
Le e aging Applica ions o Fo mal Me hods,
Ve i ica ion and Valida ion. Ve i ica ion P in-
ciples, pp. 65–87. Sp inge , Cham (2022)
[31] Adamsen, C.Q., Mølle , A., Ka im, R., S id-
ha an, M., Tip, F., Sen, K.: Repai ing
e en ace e o s by con olling nonde e -
minism. In: P oceedings o he 39 h In e na-
ional Con e ence on So wa e Enginee ing,
ICSE (2017). h ps://doi.o g/10.1109/ICSE.
2017.34 . iles/ICSE17Repai ing.pd
[32] doc.q .io/q -5/q dbus-index.h ml: Q D-Bus.
h ps://doc.q .io/q -5/q dbus-index.h ml.
Accessed las ime on Dec 22,2022 a 12:40
(2022)
[33] g aph iz.o g: DOT Language | G aph iz.
h ps://g aph iz.o g/doc/in o/lang.h ml.
Accessed las ime on JUNE 8,2022 a 12:30
(2022)
[34] show oom.q .io: QVGE; Q Visual G aph
Edi o | Show oom. h ps://show oom.q .
io/q ge-q - isual-g aph-edi o . Accessed las
ime on Jun 27,2022 a 12:40 (2022)
22