pev_4_versbd.cpp
Go to the documentation of this file.
1// @file pev_4_versbd.cpp verification of Yiheng's SBD example
2
3
4
5#include "libfaudes.h"
6
7using namespace faudes;
8
9
10int main(int argc, char* argv[]) {
11
12
13 // prepare results
14 ConsoleOut::G()->Verb(1);
16 EventPriorities prios;
17
18 // read priorities
19 prios.Read("data/pev_4_prios.alph");
20
21 // read models
22 gvoi.Clear();
23 gvoi.Append(FairGenerator("data/pev_4_sbd_m12.gen"));
24 gvoi.Append(FairGenerator("data/pev_4_sbd_p2.gen"));
25 gvoi.Append(FairGenerator("data/pev_4_sbd_take_l2.gen"));
26 gvoi.Append(FairGenerator("data/pev_4_one_wpon_cb.gen"));
27 gvoi.Append(FairGenerator("data/pev_4_sbd_send2.gen"));
28 gvoi.Append(FairGenerator("data/pev_4_g_rbpm_coupl.gen"));
29 gvoi.Append(FairGenerator("data/pev_4_sbd_m22.gen"));
30
31 // do compositional verification
32 std::cout<<"starting compositional verification" << std::endl;
33 auto start = std::clock();
34 bool isnc = IsPFNonblocking(gvoi,prios);
35 std::cout<<"duration in seconds: "<<ToStringFloat((std::clock()-start)/(double) CLOCKS_PER_SEC)<<std::endl;
36 if(isnc)
37 std::cout<<"p-nonconflicting test passed"<<std::endl;
38 else
39 std::cout<<"p-nonconflicting test failed [testcase ERROR]"<<std::endl;
40
41 // record test case
42 FAUDES_TEST_DUMP("prio comp ver",isnc);
43
44 // read models (without "wpon")
45 gvoi.Clear();
46 gvoi.Append(FairGenerator("data/pev_4_sbd_m12.gen"));
47 gvoi.Append(FairGenerator("data/pev_4_sbd_p2.gen"));
48 gvoi.Append(FairGenerator("data/pev_4_sbd_take_l2.gen"));
49 gvoi.Append(FairGenerator("data/pev_4_sbd_send2.gen"));
50 gvoi.Append(FairGenerator("data/pev_4_g_rbpm_coupl.gen"));
51 gvoi.Append(FairGenerator("data/pev_4_sbd_m22.gen"));
52
53 // do compositional verification
54 std::cout<<"starting compositional verification" << std::endl;
55 start = std::clock();
56 bool isnnc = IsPFNonblocking(gvoi,prios);
57 std::cout<<"duration in seconds: "<<ToStringFloat((std::clock()-start)/(double) CLOCKS_PER_SEC)<<std::endl;
58 if(isnnc)
59 std::cout<<"p-nonconflicting test passed [testcase ERROR]"<<std::endl;
60 else
61 std::cout<<"p-nonconflicting test failed"<<std::endl;
62
63 // record test case
64 FAUDES_TEST_DUMP("prio comp ver",isnnc); // done
65 return 0;
66
67}
int main()
#define FAUDES_TEST_DUMP(mes, dat)
Definition cfl_utils.h:505
static ConsoleOut * G(void)
void Verb(int verb)
Definition cfl_utils.h:357
virtual void Append(const Type &rElem)
virtual void Clear(void)
bool IsPFNonblocking(const FairGeneratorVector &rPGvec, const EventPriorities &rPrios)
std::string ToStringFloat(Float number)
Definition cfl_utils.cpp:64
TpGenerator< AttributePGenGl, AttributeVoid, AttributePriority, AttributeVoid > FairGenerator

libFAUDES 2.33k --- 2025.09.16 --- c++ api documentaion by doxygen