|
Go to the documentation of this file.
23 FD_DX( "Executor(" << this << ")::Executor()");
30 FD_DX( "Executor(" << this << ")::Executor(rGen)");
36 FD_DX( "Executor(" << this << ")::Executor("<< rFileName << ")");
47 FD_DX( "Executor::Generator(" << &rGen << ")");
54 FD_DX( "Executor(" << this << ")::Compile()");
57 std::stringstream errstr;
58 errstr << "nondeterministic generator in simulation" << std::endl;
59 throw Exception( "Executor::Compile", errstr.str(), 501);
64 FD_DX( "Executor(" << this << ")::Compile(): trans " << TStr(*tit));
66 std::map<Idx,TimeInterval> guardtime;
68 ClockSet::Iterator cit;
69 for(cit=aclocks. Begin(); cit!= aclocks. End(); cit++)
70 guardtime[*cit]=guard. Interval(*cit);
74 StateSet::Iterator sit;
76 FD_DX( "Executor(" << this << ")::Compile(): state " << SStr(*sit));
78 std::map<Idx,TimeInterval> invtime;
80 ClockSet::Iterator cit;
81 for(cit=aclocks. Begin(); cit!= aclocks. End(); cit++)
82 invtime[*cit]=invariant. Interval(*cit);
87 FD_DX( "Executor(" << this << ")::Compile(): done");
92 FD_DX( "Executor(" << this << ")::Clear(): invalid executor");
105 ClockSet::Iterator cit;
116 FD_DX( "Executor(" << this << ")::DoRead(rTr)");
123 FD_DX( "Executor(" << this << ")::DoWrite(rTw)");
145 FD_DX( "Executor(" << this << ")::ComputeEnabled()");
156 FD_DX( "Executor(" << this << ")::ComputeEnabled(): time is up");
171 std::map<Idx,TimeInterval>::const_iterator cit;
172 for(cit=clockintervalmap.begin(); cit!=clockintervalmap.end(); cit++) {
173 Idx clock = cit-> first;
177 if(! interval. In( clockvalue ) ) {
178 FD_DX( "Executor(" << this << ")::ComputeEnabled(): clock " << CStr(cit->first)
179 << " at " << clockvalue << " violates invariant condition " << interval. Str() );
189 FD_DX( "Executor(" << this << ")::ComputeEnabled(): invariant is satisfied for "
206 std::map<Idx,TimeInterval>::const_iterator cit;
207 for(cit=clockintervalmap.begin(); cit!=clockintervalmap.end(); cit++) {
208 Idx clock = cit->first;
212 if(! interval. In(clockvalue) ) enabled= false;
225 FD_DX( "Executor(" << this << ")::ComputeEnabled(): event " << EStr(tit->Ev)
226 << " is enabled for " << enabledtime. Str());
234 if(!enabledtime. Empty()) {
235 disabledtime. UB(enabledtime. LB());
238 FD_DX( "Executor(" << this << ")::ComputeEnabled(): event " << EStr(tit->Ev)
239 << " is disabled for " << disabledtime. Str() << " and enabled for " << enabledtime. Str());
243 FD_DX( "Executor(" << this << ")::ComputeEnabled(): e/d status constant on "
288 std::map<Idx,TimeInterval>::const_iterator eit;
306 std::map<Idx,TimeInterval>::const_iterator eit;
311 if( Alphabet().Exists(event)) return res;
321 FD_DX( "Executor(" << this << ")::ExecuteTime: execution of " << time
322 << " conflicts with enabled status " );
325 FD_DX( "Executor(" << this << ")::ExecuteTime(" << time << ")");
329 ClockSet::Iterator cit;
343 std::map<Idx,TimeInterval>::iterator iit;
345 iit->second.PositiveLeftShift(time);
358 FD_DX( "Executor(" << this << ")::ExecuteEvent: execution of event " << EStr(event)
359 << " conflicts with enabled status " );
362 FD_DX( "Executor(" << this << ")::ExecuteEvent(" << EStr(event) << ")");
368 ClockSet::Iterator cit;
369 for(cit = resets. Begin(); cit!=resets. End(); cit++)
386 std::map<Idx,Time::Type>::const_iterator cvit;
423 std::map<Idx,Time::Type>::const_iterator cvit;
461 std::stringstream res;
465 ClockSet::Iterator cit;
467 res << " " << CStr(*cit) << "=";
468 std::map<Idx,Time::Type>::const_iterator cvit=tstate. ClockValue.find(*cit);
485 std::stringstream res;
libFAUDES 2.28a
--- 2016.09.13
--- c++ api documentaion by doxygen
|