|
@@ -280,13 +280,26 @@ public:
|
|
return type::_tn;
|
|
return type::_tn;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ void output(const typename Time::type &t)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ assert(t == type::_tn);
|
|
|
|
+
|
|
|
|
+ common::Models <Time> IMM = type::_event_table.get_current_models(t);
|
|
|
|
+
|
|
|
|
+ for (auto &model : IMM) {
|
|
|
|
+ model->output(t);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
typename Time::type transition(const typename Time::type &t)
|
|
typename Time::type transition(const typename Time::type &t)
|
|
{
|
|
{
|
|
assert(t >= type::_tl and t <= type::_tn);
|
|
assert(t >= type::_tl and t <= type::_tn);
|
|
|
|
|
|
common::Models <Time> receivers = type::get_receivers();
|
|
common::Models <Time> receivers = type::get_receivers();
|
|
- common::Models <Time> IMM =
|
|
|
|
- type::_event_table.get_current_models(t, type::_graph_manager.lookahead(t));
|
|
|
|
|
|
+ common::Models <Time> IMM = type::_event_table.get_current_models(t);
|
|
|
|
+// common::Models <Time>
|
|
|
|
+// IMM = type::_event_table.get_current_models(t, type::_graph_manager.lookahead(t));
|
|
|
|
|
|
_received = 0;
|
|
_received = 0;
|
|
for (auto &model : receivers) {
|
|
for (auto &model : receivers) {
|
|
@@ -299,7 +312,7 @@ public:
|
|
for (auto &model : IMM) {
|
|
for (auto &model : IMM) {
|
|
if (std::find(receivers.begin(), receivers.end(), model) == receivers.end()) {
|
|
if (std::find(receivers.begin(), receivers.end(), model) == receivers.end()) {
|
|
if (model->is_atomic()) {
|
|
if (model->is_atomic()) {
|
|
- type::_event_table.put(model->transition(t), model);
|
|
|
|
|
|
+ type::_event_table.put(model->transition(model->get_tn()), model);
|
|
} else {
|
|
} else {
|
|
++_received;
|
|
++_received;
|
|
}
|
|
}
|
|
@@ -329,7 +342,7 @@ public:
|
|
if (it != _child_queues.end()) {
|
|
if (it != _child_queues.end()) {
|
|
it->second->push_child_queue(
|
|
it->second->push_child_queue(
|
|
std::shared_ptr<artis::common::Message>(
|
|
std::shared_ptr<artis::common::Message>(
|
|
- new transition_message<Time>(t)));
|
|
|
|
|
|
+ new transition_message<Time>(model->get_tn())));
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|