diff --git a/build.txt b/build.txt index 30d0ea3c57a16fd33bab94d5c4a8b9c4db87e64e..0dab04bd31fd1359bde688722e21dc63ff497815 100644 --- a/build.txt +++ b/build.txt @@ -1 +1 @@ -13041 \ No newline at end of file +13042 \ No newline at end of file diff --git a/simulators/c++2/src_simulator/arch/FPGA.cpp b/simulators/c++2/src_simulator/arch/FPGA.cpp index 9de58f1aebece6c0fdb4b9212d0e54120ef4c3d1..c374185c70cddfdbf9172e170ab835283fdd6222 100644 --- a/simulators/c++2/src_simulator/arch/FPGA.cpp +++ b/simulators/c++2/src_simulator/arch/FPGA.cpp @@ -402,72 +402,7 @@ void FPGA::latencies2XML(std::ostringstream& glob, unsigned int id1, unsigned in return; } -double FPGA::averageLoad (TMLTask* currTask) const{ - double _averageLoad=0; - TMLTime _maxEndTime=0; - for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) { - if( (*i)-> getCommand()->getTask() == currTask ){ - TMLTime _endTime= (*i)->getEndTime(); - _maxEndTime=max(_maxEndTime,_endTime); - } - } - for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) { - if( (*i)-> getCommand()->getTask() == currTask ){ - _averageLoad += (*i)->getEndTime() - (*i)->getStartTime(); - } - } - if(_maxEndTime == 0) - return 0; - else { - _averageLoad = (double)_averageLoad/_maxEndTime; - return _averageLoad; - } - /*if( _maxEndTime == 0 ) - myfile << "average load is 0" << "<br>"; - else - myfile<<" average load is "<<(double)_averageLoad/_maxEndTime<<"<br>";*/ - -} - -void FPGA::drawPieChart(std::ofstream& myfile) const { - std::cout<<"fpga drawpie chart"<<std::endl; - TMLTime _maxEndTime=0; - for(TaskList::const_iterator j =_taskList.begin(); j != _taskList.end(); ++j){ - for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) { - if( (*i)-> getCommand()->getTask() == (*j) ){ - TMLTime _endTime= (*i)->getEndTime(); - _maxEndTime=max(_maxEndTime,_endTime); - } - } - std::cout<<"max end time is "<<_maxEndTime<<std::endl; - std::map <TMLTask*, double > transPercentage; - for( TransactionList::const_iterator i = _transactList.begin(); i!= _transactList.end(); ++i){ - if( (*i)-> getCommand()->getTask() == (*j) ){ - transPercentage[(*i)-> getCommand()->getTask()]+=(double)((*i)->getEndTime()-(*i)->getStartTime())/_maxEndTime; - } - } - std::map <TMLTask*, double>::iterator iter = transPercentage.begin(); - myfile << " var chart" << _ID << "_" << (*j)->toShortString() << "= new CanvasJS.Chart(\"chartContainer" << _ID << "_" << (*j)->toShortString() <<"\"," << std::endl; - myfile << SCHED_HTML_JS_CONTENT2 << "Average load is " << averageLoad(*j) << SCHED_HTML_JS_CONTENT3 << std::endl; - double idle=1; - while( iter != transPercentage.end()){ - myfile << " { y:" << (iter->second)*100 << ", indexLabel: \"" << iter->first->toString() << "\" }," << std::endl; - idle-=iter->second; - ++iter; - } - myfile << " { y:" << idle*100 << ", indexLabel: \"idle time\"" << " }" << std::endl; - myfile << std::endl; - myfile << SCHED_HTML_PIE_END; - myfile << "chart" << _ID << "_" << (*j)->toShortString() << ".render();" << std::endl; - } - -} - -void FPGA::showPieChart(std::ofstream& myfile) const{ - myfile << SCHED_HTML_JS_DIV_ID << _ID << "_" << _htmlCurrTask->toShortString() << SCHED_HTML_JS_DIV_END << "<br>"; -} - void FPGA::schedule2HTML(std::ofstream& myfile) const { myfile << "<h2><span>Scheduling for device: "<< _name << "</span></h2>" << std::endl; diff --git a/simulators/c++2/src_simulator/arch/FPGA.h b/simulators/c++2/src_simulator/arch/FPGA.h index 26b652f550cf7b08fa070c32663562fd71c5f720..d776d513ac1a0e78e9e2a44c82ac85058258888c 100644 --- a/simulators/c++2/src_simulator/arch/FPGA.h +++ b/simulators/c++2/src_simulator/arch/FPGA.h @@ -129,9 +129,6 @@ public: } inline void setTransNumber(unsigned int num) { _transNumber=num;} inline unsigned int getTransNumber() { return _transNumber;} - double averageLoad (TMLTask* currTask) const; - void drawPieChart(std::ofstream& myfile) const; - void showPieChart(std::ofstream& myfile) const; void schedule2HTML(std::ofstream& myfile) const; inline const TaskList& getTaskList() const{return _taskList;} inline void setHtmlCurrTask(TMLTask *t) { _htmlCurrTask=t;} diff --git a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp index 8522156a00b19edb9a814f4ef7955f3aa7f5f3e2..ff092d7af8c4c4af7f769a2846de6aa538fc7b62 100644 --- a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp +++ b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp @@ -208,10 +208,6 @@ double SchedulableDevice::averageLoad() const{ _averageLoad = (double)_averageLoad/_maxEndTime; return _averageLoad; } - /* if( _maxEndTime == 0 ) - myfile << "average load is 0" << "<br>"; - else - myfile<<"average load is "<< (double)_averageLoad/_maxEndTime<<"<br>";*/ } diff --git a/simulators/c++2/src_simulator/sim/Simulator.cpp b/simulators/c++2/src_simulator/sim/Simulator.cpp index 058b7c090617ce949587ba070f94963531cb8c3d..3d9ce1aaf66e86512e9568ebdc242ae956c57116 100644 --- a/simulators/c++2/src_simulator/sim/Simulator.cpp +++ b/simulators/c++2/src_simulator/sim/Simulator.cpp @@ -456,8 +456,8 @@ std::cout<<"schedule2HTML--------------------------------------***************** std::cout<<"begin fpga html "<<(*j)->toShortString()<<std::endl; (*j)->schedule2HTML(myfile); std::cout<<"end fpga html "<<(*j)->toShortString()<<std::endl; - (*j)->showPieChart(myfile); } + (*j)->showPieChart(myfile); } for(BusList::const_iterator j=_simComp->getBusList().begin(); j != _simComp->getBusList().end(); ++j){ diff --git a/src/main/java/avatartranslator/AvatarGuard.java b/src/main/java/avatartranslator/AvatarGuard.java index 3f6bd6966ecf3c5b21264dbb5df995b1e434fb14..2ce8f131c590aeae2af0301527675f49d39ff27c 100644 --- a/src/main/java/avatartranslator/AvatarGuard.java +++ b/src/main/java/avatartranslator/AvatarGuard.java @@ -85,7 +85,7 @@ public abstract class AvatarGuard { if (sane.startsWith("not(")) { indexRParen = AvatarGuard.getMatchingRParen(sane, 3); if (indexRParen < 0) { - TraceManager.addDev("Invalid guard expression with tuple " + sane); + TraceManager.addDev("1. Invalid guard expression with tuple " + sane); return new AvatarGuardEmpty(); } first = AvatarGuard.createFromString(block, sane.substring(4, indexRParen)); @@ -103,7 +103,7 @@ public abstract class AvatarGuard { if (sane.startsWith("(")) { indexRParen = AvatarGuard.getMatchingRParen(sane, 0); if (indexRParen < 0) { - TraceManager.addDev("Invalid guard expression with tuple " + sane); + TraceManager.addDev("2. Invalid guard expression with tuple " + sane); return new AvatarGuardEmpty(); } tuple = AvatarTuple.createFromString(block, sane.substring(0, indexRParen)); @@ -122,7 +122,7 @@ public abstract class AvatarGuard { if (indexLParen == -1) indexLParen = indexRParen; - for (String delim : new String[]{"and", "or"}) { + for (String delim : new String[]{"and", "or", "&&", "||"}) { int indexBinaryOp = sane.substring(0, indexLParen).indexOf(delim, indexRParen + 1); if (indexBinaryOp != -1) { @@ -134,7 +134,7 @@ public abstract class AvatarGuard { return new AvatarGuardEmpty(); } } - TraceManager.addDev("Invalid guard " + sane); + TraceManager.addDev("3. Invalid guard " + sane); return new AvatarGuardEmpty(); } } else if (tuple.getComponents().size() == 1) { @@ -163,7 +163,7 @@ public abstract class AvatarGuard { return new AvatarGuardEmpty(); } } - TraceManager.addDev("Invalid guard " + sane); + TraceManager.addDev("4. Invalid guard " + sane); return new AvatarGuardEmpty(); } else { int indexLParen = sane.indexOf("(", indexRParen); @@ -181,7 +181,7 @@ public abstract class AvatarGuard { } } - TraceManager.addDev("Invalid guard expression with tuple " + sane); + TraceManager.addDev("5. Invalid guard expression with tuple " + sane); return new AvatarGuardEmpty(); } } diff --git a/src/main/java/ui/util/DefaultText.java b/src/main/java/ui/util/DefaultText.java index daf33e2e2ddc39a34b4ec39cb4e0da6a96cc5961..1bc8d039ad2a62b1ef88ce95f245c65784211285 100755 --- a/src/main/java/ui/util/DefaultText.java +++ b/src/main/java/ui/util/DefaultText.java @@ -50,8 +50,8 @@ package ui.util; */ public class DefaultText { - public static String BUILD = "13040"; - public static String DATE = "2019/05/20 03:02:17 CET"; + public static String BUILD = "13041"; + public static String DATE = "2019/05/20 13:26:11 CET"; public static StringBuffer sbAbout = makeAbout();