scieee Science in your language
[en] (orig)

Compendium of Documents About the Design and Testing System YERITH_QVGE (YRI_QVGE)

Author: Noundou, Xavier
Publisher: Zenodo
DOI: 10.5281/zenodo.17689378
Source: https://zenodo.org/records/17689378/files/YERITH_QVGE.pdf
YERITH_QVGE-in o 2
YERITH_QVGE-de ini ions---chea --shee 6
YERITH_QVGE-use -guide 28
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 Ano he Sample Use–Case Scena io o ”SDMM”................................................ 6
1.3 WHY DO I NEED FORMAL METHODS ....................................................... 6
1.3.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.4 Compa ison wi h Uni Tes ing ............................................................ 6
1.4.1 Uni Tes ing ................................................................... 6
1.4.2 Au oma ed Uni Tes ing ........................................................... 7
1.4.3 Run ime Moni o ing Ve ifica ion ...................................................... 7
1.5 S a e Diag am Mealy Machine : Usages & Ad an ages ............................................. 7
1.5.1 Usages ...................................................................... 7
1.5.2 Ad an ages ................................................................... 7
1.5.3 Cases o P ac ical Usages o ”SDMM” .................................................. 7
1.6 S a e Diag am Mealy Machine : B ie Summa y Explana ion ......................................... 7
1.7 Rela ed S a e Diag am Fo malisms ......................................................... 8
1.7.1 Da id Ha el S a echa : A Visual Fo malism o S a e Diag am .................................. 8
1.7.2 Timed Disc e e Inpu / Ou pu Hyb id Sys em (TDIOHS) ....................................... 9
1.7.3 TDIOHS in Ac ion wi hin ”Bo land Toge he 6”wi h RT–Tes e o ’ e ified.de’........................ 9
1.7.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). ............................................... 10
2.2 Defini ion 2: A p e-condi ion. ............................................................ 10
2.3 Defini ion 3: A pos -condi ion. ............................................................ 10
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) ...................... 11
2.6 Gua ded Condi ion Exp ession Specifica ion in YRI_SD_RUNTIME_VERIF ................................... 11
2.7 SDMM o modeling pa allel-concu en so wa e sys em .......................................... 11
2.8 SDMM in Ac ion wi hin YRI_QVGE by ’Ye i h R&D’ ............................................... 11
2.9 SDMM in Ac ion by au oma ic ”Run ime Moni o s Au oma ic Gene a ion” ................................ 11
3 HOW TO Se up C++ Lib a y ”YRI_SD_RUNTIME_VERIF” o Usage in A C++ PROGRAM SOURCE CODE 12
3.1 De elopmen Toolchain ................................................................ 12
4 METHODS o C++ Lib a y ”YRI_SD_RUNTIME_VERIF”12
4.1 Gene a ed Me hod YOU need o code ....................................................... 13
5 A Ha dwa e Dedica ed De ice : YRI–QVGE–PC–Table 14
6 De ailed Scien ific and Enginee ing P esen a ion Documen on ’zenodo.o g’ 15
7 Conclusion 15
Index 15
Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "1 / 17". | Ve sion o – No embe 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 YRI_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. ............... 9
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "2 / 17". | Ve sion o – No embe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
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.)Q1 :=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 Q1; 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 (PRE) 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 a 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) is o ead “BEFORE nex
e en , a iable yis NOT 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.”
6.)NOT_IN_BEFORE_NOP() : THIS boolean
fi s –o de p eposi ion means ha his p e–
condi ion (’False’) doesn’ hold be o e (PRE) nex
e en o occu in so wa e sys em.’
7.)NOT_IN_AFTER(y, D) is o ead “AFTER nex
e en , a iable yis NOT IN se D(y/∈D)“.
THIS boolean fi s –o de p eposi ion is assigned
in o a iable Q1; he ”o e lining” illus a es ha
his is a pos –condi ion : ”meaninga condi ionTha
shall no hold a e (POST) nex e en o occu in
so wa e sys em.”
8.)NOT_IN_AFTER_NOP() : THIS boolean
fi s –o de p eposi ion means ha his pos –
condi ion (’False’) doesn’ hold a e (POST) nex
e en o occu in so wa e sys em.’
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").
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 84], 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.7 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.7.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 84], as defined and p oposed by Da id HAREL;
Rep esen diag ams, some imes composi e wi h in e nal s a es
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "8 / 17". | Ve sion o – No embe 15, 2025 –

YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
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://doc.q .io/q -6/q scxml-index.h ml)
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.7.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 [DGG04] 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.7.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
”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.7.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” [DGG04]
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 2022 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
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "9 / 17". | Ve sion o – No embe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
compa ison o s a echa [Ha 84], 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
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) [RBH81]; Pa allel
Composi ion.“
Subsec ion 2.7 de ails be e and well his co ela ion be ween
”CSP” [RBH81] & ”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 .
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "10 / 17". | Ve sion o – No embe 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 }
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 a 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 ” !
A e his e en (’SELEC T.depa men ’) has occu ed,
”P ocess E” en e s a deadlock while ”p ocess D” migh con inue
unning.
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 "11 / 17". | Ve sion o – No embe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
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: YRI_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)
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 Checks whe he a oken is in ace o cu en sys em ace
10. MONITOR TRACE_LOG_cu en _RECEIVED_EVENT_TOKEN appends o cu en e en ace his e en oken gi en as
pa ame e
11. MONITOR GET_ oo _edge Re u ns a oo edge (fi s usable edge) o his un ime
moni o ace log
12. MONITOR DELETE_y i_moni o _edge Remo es his gi en as a gumen edge om his moni o
ace log
13. no inse _inse _TRACE_exp ession YRI_CPP_no inse _inse _TRACE_exp ession C ea es an exp ession o be used as an edge oken
exp ession
14. no inse _inse _TRACE_exp ession se __USE_SQL_SYNTAX_e en _logging__FOR_PRINTING Use SQL syn ax (e.g.: in_sql_e en _log ins ead o
scien ific in_se _ ace)
Table 3gi es sample impo an me hods o YRI_SD_RUNTIME_VERIF.
Fo he sake o space and o cla i y, we ha e emo ed p efix
’YRI_CPP’ s ing in a able p esen a ion om all class names !
Using Domain–Specific Language (DSL) we c ea ed o desc ibe
w ongbeha io o you codemigh allowsno o di ec ly call hese
me hods, bu o le a compile (YRI_SD_RUNTIME_VERIF_LANG_COMP)
do his o you.
Also simply pu ing you (.sd_mealy) desc ip ion file wi hin a
p ojec olde in he un ime e ifie con aine (YRI-DB-RUNTIME-
VERIF) will call he compile o you sel .
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "12 / 17". | Ve sion o – No embe 15, 2025 –
YRI_SD_RUNTIME_VERIF :C++ Func ional Lib a y o speci ying "SDMM"YERITH &d
YRI-DB-RUNTIME-VERIF will gene a e a class file bea ing he name o
you ’.sd_mealy’ file bu ending wi h ’hpp and ”cpp’ o you.
Subsec ion 4.1 alks in mo e de ails o he me hod you need o
modi y code so o use hem easily.
4.1 Gene a ed Me hod YOU need o code
The me hod
i ual bool DO_VERIFY_AND_o _CHECK_l l_PROPERTY(QS ing sql_ able_ADDED_wi h_ ile_AND_line_numbe ,
uin sql_ eco d_q y_MODIFIED,
YRI_CPP_UTILS::SQL_CONSTANT_IDENTIFIER cu _SQL_command =
YRI_CPP_UTILS::SQL_CONSTANT_IDENTIFIER::UNDEFINED_SQL_COMMAND);
is he one whe e you need o implemen you analysis and / o
e ifica ion code.
F om i s a gumen s you ha e access o he ollowing code
in o ma ion :
1.)a SQL able name ha is used by e en s so o pe o m ac ions
on use p og am;
2.)a so wa e p og am code sou ce file whe e he call occu ed;
3.)a sou ce code line numbe whe e he e en occu ed in a o e
gi en sou ce code file;
4.)a SQL command ha was sen , And ha is exac ly one
o : ’INSERT’, ’SELECT’, ’UPDATE’, ’DELETE’ !
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "13 / 17". | Ve sion o – No embe 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: YRI–QVGE–PC–Table unning a
un ime moni o ing e ifica ion con aine p og am 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 "14 / 17". | Ve sion o – No embe 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 YRI_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 YRI_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.
[DGG04] A. Denise, M.-C.Gaudel, and S.-D. Gou aud. A gene ic
me hod o s a is ical es ing. In 15 h In e na ional
Symposium on So wa e Reliabili y Enginee ing,
pages 25–34, 2004.
[Ha 84] Da id Ha el. S a echa s: a isual o malism o
complex sys ems. h ps://www.weizmann.
ac.il/ma h/ha el/si es/ma h.ha el/
iles/use s/use 56/S a echa s.pd ,
Decembe 1984. Accessed las ime on No 6,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.
[RBH81] A. W. Roscoe, S.D. B ookes, and C. A. R. Hoa e.
A heo y o communica ing sequen ial p ocesses.
Technical Repo PRG-16, Ox o d Uni e si y
Compu ing Labo a o y, May 1981.
[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.
[Zel09] And eas Zelle . Why P og ams Fail: A Guide o
Sys ema ic Debugging. Else ie /Mo gan Kau mann,
Ams e dam ; Bos on, second edi ion, 2009.
Index
Au ho : Xa ie Noundou [P . P o . D .–Ing. ] Holy-Ghos . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "15 / 17". | Ve sion o – No embe 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, 7
Black–box Tes ing, 6
Uni Tes ing, 6
Whi e–box Tes ing, 6
16
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 "17 / 17". | Ve sion o – No embe 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 ......................................................... 7
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "3 / 10". | Ve sion o – No embe 15, 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 i ic 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 ile. KEYWORDS belonging bo h o ’enginee ing ("ERROR_STATE_AUTO")’, and ’science
(START_STATE)’ can be in e mingled in he same SDMM speci ica ion ile.
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 / 10". | Ve sion o – No embe 15, 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_ ile_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_ ile_AND_line_numbe _LIST = sql_ able_ADDED_wi h_ ile_AND_line_numbe .spli (";", Q ::KeepEmp yPa s);
7 QS ing sql_ able_name = sql_ able_ADDED_wi h_ ile_AND_line_numbe _LIST.a (0);
8 QS ing CPP_FILE_NAME = sql_ able_ADDED_wi h_ ile_AND_line_numbe _LIST.a (1);
9 QS ing cpp_line_numbe = sql_ able_ADDED_wi h_ ile_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 }
Figu e 6: A SCREENSHOT OF YERITH_QVGE.
Figu e 7: A SCREENSHOT OF YRI-DB-RUNTIME-VERIF
SQL EVENT LOG.
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "5 / 10". | Ve sion o – No embe 15, 2025 –
YERITH_QVGE use ’s guide YERITH &d
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 ie ly 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 de ined un ime moni o s. The
guide also speci ies keywo ds allowed wi hin un ime moni o
speci ica 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 i ica 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 e ec , 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
di e en laye s o so wa e sys em a chi ec u e
5. Class diag am wi h sequence diag am.
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-speci ic language
(DSL) YRI_SD_RUNTIME_VERIF_LANG 1" iles, o be inpu ed
in o he "compile YRI_SD_RUNTIME_VERIF_LANG_COMP",
so o gene a e C++ iles o he " un ime e i ie es e YRI-
DB-RUNTIME-VERIF 2" ha allows o manual e i ica 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 k low 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
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
3Scien i ic: 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 "6 / 10". | Ve sion o – No embe 15, 2025 –
YERITH_QVGE use ’s guide YERITH &d
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 iles" ha could be edious and
leng hy. Also, edi ing s a e diag am mealy machine iles
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 i ic 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 speci ica 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 speci ica ion on
a NOT DESIRABLE SQL call sequence.
5.1 HOW TO READ A "SDMM"
Figu e 1shows a ini 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 ede inedinSUT da abase able ’depa men ’.
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 i ic and
enginee ing jou nal pape [Nou23] in p epa a ion:
•Only he i s ansi ion has a p e-condi ion speci ica ion
•Each o he ansi ion only has a pos -condi ion
speci ica 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 k low
Figu e 10: Wo k low 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 k low, 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" iles 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 de ines all speci ied 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 speci ica 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) speci ica ions consis s o he ollowing
elemen s:
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "7 / 10". | Ve sion o – No embe 15, 2025 –

YERITH_QVGE use ’s guide YERITH &d
1. ’Ma iaDB’ da abase connec ion con igu a ion ile: his ile
de ines 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 con igu a ion ile: his ile de ines 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/con igu 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 de ined S a e Diag am Mealy
Machine (SDMM) speci ica 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 de ined 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 i ica ion code pa wi hin he gene a ed
sou ce code iles.
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".
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 speci ies 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.
Au ho : Xa ie Noumbissi Noundou [P . P o . D .–Ing. ] Esp i –Sain . YERITH–NISSI. (JEOVAH–NISSI IN HEAVEN.) Page "8 / 10". | Ve sion o – No embe 15, 2025 –
YERITH_QVGE use ’s guide YERITH &d
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 .
11 YRI_SD_RUNTIME_VERIF SPECIFICATION LANGUAGE
Figu e 13 illus a es a ”Backus-NAUR o m (BNF)” o ou speci ica ion language o YRI-DB-RUNTIME-VERIF ool.
12 Fo mal Scien i ic and Enginee ing P ojec Desc ip ion
De ailed o mal scien i ic 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 "9 / 10". | Ve sion o – No embe 15, 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 Speci ica 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 "10 / 10". | Ve sion o – No embe 15, 2025 –