Activity log for bug #1444513

Date Who What changed Old value New value Message
2015-04-15 14:53:22 Danil Sokolov bug added bug
2015-04-15 14:53:22 Danil Sokolov attachment added stg-vme-read_write.work https://bugs.launchpad.net/bugs/1444513/+attachment/4376283/+files/stg-vme-read_write.work
2015-04-15 14:55:06 Danil Sokolov description Normalcy checking can have 3 types of outputs for the case of violation. Normalcy checking returns "property" satisfied for the attached example, even though there is a violation. This is due to incorrect parsing of the MPSat output. Normalcy checking can have 3 types of outputs for the case of violation that need to be considered.
2015-04-15 15:04:14 Danil Sokolov description Normalcy checking returns "property" satisfied for the attached example, even though there is a violation. This is due to incorrect parsing of the MPSat output. Normalcy checking can have 3 types of outputs for the case of violation that need to be considered. Normalcy checking returns "property" satisfied for the attached example, even though there is a violation. This is due to incorrect parsing of the MPSat output. Normalcy checking can have 3 types of outputs for the case of violation that need to be considered. Examples of the output to follow.
2015-04-15 15:17:30 Danil Sokolov description Normalcy checking returns "property" satisfied for the attached example, even though there is a violation. This is due to incorrect parsing of the MPSat output. Normalcy checking can have 3 types of outputs for the case of violation that need to be considered. Examples of the output to follow. Normalcy checking returns "property" satisfied for the attached example, even though there is a violation. This is due to incorrect parsing of the MPSat output. Normalcy checking can have 3 types of outputs for the case of violation that need to be considered. Victor could not find a benchmark for the complicated case. Below is the printing code - 1, 2 or 3 traces are printed depending on the circumstances. void solution_Normalcy::print_results(ostream& os) const{ switch(normalcy_violation_reason){ case nvr_mixed_triggers: ASSERT(paths.size()==1); print_sequence(paths[0],os); if(&os==&cout){ os<<"triggers: "; print_sequence(trig_set1,os); ASSERT(!signal_name.empty()); os<<"\nNormalcy violation due to different triggers' signs for signal "<<signal_name<<'\n'; } break; case nvr_contradictious_hypotheses: ASSERT(paths.size()==2); print_sequence(paths[0],os); if(&os==&cout){ os<<"triggers: "; print_sequence(trig_set1,os); } print_sequence(paths[1],os); if(&os==&cout){ os<<"triggers: "; print_sequence(trig_set2,os); os<< "\nNormalcy violation due to contradictious normalcy type hypotheses for signal "<< signal_name<< "\n(the paths show violations of p- and n-normalcy correspondingly)\n"; } break; case nvr_CSC_conflict: print_sequence(paths[0],os); print_sequence(paths[1],os); os<<"\nNormalcy violation due to a CSC conflict for signal "<<signal_name<<'\n'; break; case nvr_other: print_sequence(paths[0],os); os<<"triggers: "; print_sequence(trig_set1,os); print_sequence(paths[1],cout); print_sequence(paths[2],cout); ASSERT(n_type!=0); cout<< "\nNormalcy violation for signal "<<signal_name<<':'<< '\n'<<(n_type==STG_TS_PLUS ? 'p' : 'n')<<"-normalcy is violated according to the first path"<< '\n'<<(n_type==STG_TS_PLUS ? 'n' : 'p')<<"-normalcy is violated according to the other two paths\n"; break; case nvr_no_violation: default: ASSERT0; } }
2015-04-15 15:18:16 Danil Sokolov description Normalcy checking returns "property" satisfied for the attached example, even though there is a violation. This is due to incorrect parsing of the MPSat output. Normalcy checking can have 3 types of outputs for the case of violation that need to be considered. Victor could not find a benchmark for the complicated case. Below is the printing code - 1, 2 or 3 traces are printed depending on the circumstances. void solution_Normalcy::print_results(ostream& os) const{ switch(normalcy_violation_reason){ case nvr_mixed_triggers: ASSERT(paths.size()==1); print_sequence(paths[0],os); if(&os==&cout){ os<<"triggers: "; print_sequence(trig_set1,os); ASSERT(!signal_name.empty()); os<<"\nNormalcy violation due to different triggers' signs for signal "<<signal_name<<'\n'; } break; case nvr_contradictious_hypotheses: ASSERT(paths.size()==2); print_sequence(paths[0],os); if(&os==&cout){ os<<"triggers: "; print_sequence(trig_set1,os); } print_sequence(paths[1],os); if(&os==&cout){ os<<"triggers: "; print_sequence(trig_set2,os); os<< "\nNormalcy violation due to contradictious normalcy type hypotheses for signal "<< signal_name<< "\n(the paths show violations of p- and n-normalcy correspondingly)\n"; } break; case nvr_CSC_conflict: print_sequence(paths[0],os); print_sequence(paths[1],os); os<<"\nNormalcy violation due to a CSC conflict for signal "<<signal_name<<'\n'; break; case nvr_other: print_sequence(paths[0],os); os<<"triggers: "; print_sequence(trig_set1,os); print_sequence(paths[1],cout); print_sequence(paths[2],cout); ASSERT(n_type!=0); cout<< "\nNormalcy violation for signal "<<signal_name<<':'<< '\n'<<(n_type==STG_TS_PLUS ? 'p' : 'n')<<"-normalcy is violated according to the first path"<< '\n'<<(n_type==STG_TS_PLUS ? 'n' : 'p')<<"-normalcy is violated according to the other two paths\n"; break; case nvr_no_violation: default: ASSERT0; } } Normalcy checking returns "property" satisfied for the attached example, even though there is a violation. This is due to incorrect parsing of the MPSat output. Normalcy checking can have 3 types of outputs for the case of violation that need to be considered. Victor could not find a benchmark for the complicated case. Below is the printing code - 1, 2 or 3 traces are printed depending on the circumstances. void solution_Normalcy::print_results(ostream& os) const{  switch(normalcy_violation_reason){  case nvr_mixed_triggers:   ASSERT(paths.size()==1);   print_sequence(paths[0],os);   if(&os==&cout){    os<<"triggers: ";    print_sequence(trig_set1,os);    ASSERT(!signal_name.empty());    os<<"\nNormalcy violation due to different triggers' signs for signal "<<signal_name<<'\n';   }   break;  case nvr_contradictious_hypotheses:   ASSERT(paths.size()==2);   print_sequence(paths[0],os);   if(&os==&cout){    os<<"triggers: ";    print_sequence(trig_set1,os);   }   print_sequence(paths[1],os);   if(&os==&cout){    os<<"triggers: ";    print_sequence(trig_set2,os);    os<<     "\nNormalcy violation due to contradictious normalcy type hypotheses for signal "<<     signal_name<<     "\n(the paths show violations of p- and n-normalcy correspondingly)\n";   }   break;  case nvr_CSC_conflict:   print_sequence(paths[0],os);   print_sequence(paths[1],os);   os<<"\nNormalcy violation due to a CSC conflict for signal "<<signal_name<<'\n';   break;  case nvr_other:   print_sequence(paths[0],os);   os<<"triggers: ";   print_sequence(trig_set1,os);   print_sequence(paths[1],cout);   print_sequence(paths[2],cout);   ASSERT(n_type!=0);   cout<<    "\nNormalcy violation for signal "<<signal_name<<':'<<    '\n'<<(n_type==STG_TS_PLUS ? 'p' : 'n')<<"-normalcy is violated according to the first path"<<    '\n'<<(n_type==STG_TS_PLUS ? 'n' : 'p')<<"-normalcy is violated according to the other two paths\n";   break;  case nvr_no_violation:  default:   ASSERT0;  } } Currently normalcy violation is correctly checked for a single trace only (case nvr_mixed_triggers).
2015-04-15 15:28:29 Launchpad Janitor branch linked lp:~danilovesky/workcraft/trunk-bug-1444513
2015-04-17 14:58:27 Danil Sokolov workcraft: status Confirmed In Progress
2015-04-17 14:58:59 Danil Sokolov workcraft: status In Progress Confirmed
2015-04-23 12:23:40 Launchpad Janitor branch linked lp:workcraft