diff --git a/src/ModelCheckLace.cpp b/src/ModelCheckLace.cpp index db840642b525c32a4627e680b60f078551c4c1c9..db8c87accc9d446612fd8b0d5943c16622060617 100644 --- a/src/ModelCheckLace.cpp +++ b/src/ModelCheckLace.cpp @@ -170,15 +170,16 @@ TASK_3 (Set, fire_obs_lace,MDD, State, Set*, observable, vector<TransSylvan>*, t LDDState * ModelCheckLace::buildInitialMetaState() { - LDDState *c=new LDDState; + LDDState *initalAggregate=new LDDState; LDDState *reached_class; LACE_ME; MDD initial_meta_state(CALL(Aggregate_epsilon_lace,m_initalMarking,&m_nonObservable,&m_tb_relation)); Set fire=fire_obs_lace(initial_meta_state,&m_observable,&m_tb_relation); // c->m_lddstate=CALL(lddmc_canonize,initial_meta_state,0,*this); - m_graph->setInitialState(c); - m_graph->insert(c); + initalAggregate->m_lddstate=initial_meta_state; + m_graph->setInitialState(initalAggregate); + m_graph->insert(initalAggregate); // Compute successors unsigned int onb_it=0; Set::const_iterator iter=fire.begin(); @@ -202,11 +203,11 @@ LDDState * ModelCheckLace::buildInitialMetaState() reached_class->m_lddstate=Complete_meta_state; m_graph->addArc(); m_graph->insert(reached_class); - c->Successors.insert(c->Successors.begin(),LDDEdge(reached_class,t)); - reached_class->Predecessors.insert(reached_class->Predecessors.begin(),LDDEdge(c,t)); + initalAggregate->Successors.insert(initalAggregate->Successors.begin(),LDDEdge(reached_class,t)); + reached_class->Predecessors.insert(reached_class->Predecessors.begin(),LDDEdge(initalAggregate,t)); } - return c; + return initalAggregate; } void ModelCheckLace::buildSucc(LDDState *agregate) diff --git a/src/SogKripkeIteratorOTF.cpp b/src/SogKripkeIteratorOTF.cpp index 12a1081cf50b19e9f1e9a663628bc8ac203930d4..3c2ba894ff1f782fb12fb825266d4b5b6c5accca 100644 --- a/src/SogKripkeIteratorOTF.cpp +++ b/src/SogKripkeIteratorOTF.cpp @@ -30,38 +30,37 @@ bool SogKripkeIteratorOTF::first() { } bool SogKripkeIteratorOTF::next() { - cout<<"entering "<<__func__<<endl; + //cout<<"entering "<<__func__<<endl; m_current_edge++; return m_current_edge<m_lsucc.size(); } bool SogKripkeIteratorOTF::done() const { -cout<<"entring /excit"<<__func__<<endl; + //cout<<"entring /excit"<<__func__<<endl; return m_current_edge==m_lsucc.size(); } SogKripkeStateOTF* SogKripkeIteratorOTF::dst() const { - cout<<"enter/excit "<<__func__<<endl; + //out<<"enter/excit "<<__func__<<endl; return new SogKripkeStateOTF(m_lsucc.at(m_current_edge).first); } bdd SogKripkeIteratorOTF::cond() const { - cout<<"entering "<<__func__<<endl; + //cout<<"entering "<<__func__<<endl; if (m_lsucc.at(m_current_edge).second==-1) return bddtrue; - cout<<"step 0"<<endl; + string name=m_builder->getTransition(m_lsucc.at(m_current_edge).second); //cout<<"Value "<<m_lddstate->getSuccessors()->at(m_current_edge).second<<" Transition name "<<name<<endl; - cout<<"step 1 "<<name<<endl; + spot::bdd_dict *p=m_dict_ptr->get(); - cout<<"step 2"<<endl; spot::formula f=spot::formula::ap(name); bdd result=bdd_ithvar((p->var_map.find(f))->second); //cout<<"Iterator "<<__func__<<" "<<m_current_edge<<"\n";*/ - cout<<"exciting "<<__func__<<endl; + //cout<<"exciting "<<__func__<<endl; return result & spot::kripke_succ_iterator::cond(); } diff --git a/src/SogKripkeOTF.cpp b/src/SogKripkeOTF.cpp index 7f3129edffd55d5a3ad1fee55a6d757761ef3cd7..3bc8c85ec7a39938f04d84c9fcf67c09f678de11 100644 --- a/src/SogKripkeOTF.cpp +++ b/src/SogKripkeOTF.cpp @@ -29,7 +29,7 @@ SogKripkeOTF::SogKripkeOTF(const spot::bdd_dict_ptr& dict_ptr,ModelCheckLace *bu state* SogKripkeOTF::get_init_state() const { - cout<<__func__<<endl; + // cout<<__func__<<endl; return new SogKripkeStateOTF(m_builder->buildInitialMetaState());//new SpotSogState(); } diff --git a/src/main.cpp b/src/main.cpp index e67360c39464b1e2268b8d12d946d03475827c7b..4d9e1723a44ccfab1c5b25c384bea2a85617807b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -171,13 +171,14 @@ int main(int argc, char** argv) run->highlight(5); // 5 is a color number. fstream file; file.open("violated.dot",fstream::out); - cout<<"xxxxxviolatedxxxxxxx"<<endl; + cout<<"Property is violated!"<<endl; + cout<<"Check the dot file."<<endl; spot::print_dot(file, k, ".kA"); file.close(); } else std::cout << "formula is verified\n"; - // exit(0); + } else if (n_tasks==1) {