libutap
0.93
Uppaal Timed Automata Parser
|
Partial instance of a template. More...
#include <system.h>
Public Member Functions | |
std::string | writeMapping () const |
std::string | writeParameters () const |
std::string | writeArguments () const |
Public Attributes | |
symbol_t | uid |
The name. More... | |
frame_t | parameters |
The parameters. More... | |
std::map< symbol_t, expression_t > | mapping |
The arguments. More... | |
size_t | arguments |
size_t | unbound |
struct template_t * | templ |
std::set< symbol_t > | restricted |
Restricted variables. More... | |
Partial instance of a template.
Every template is also a partial instance of itself and therefore template_t is derived from instance_t. A complete instance is just a partial instance without any parameters.
Even though it is possible to make partial instances of partial instances, they are not represented hierarchically: All parameters and arguments are merged into this one struct. Therefore parameters contains both bound and unbound symbols: Unbound symbols are parameters of this instance. Bound symbols are inherited from another instance. Symbols in parameters are ordered such that unbound symbols are listed first, i.e., uid.getType().size() == parameters.getSize().
mapping binds parameters to expressions.
arguments is the number of arguments given by the partial instance. The first arguments bound symbols of parameters are the corresponding parameters. For templates, arguments is obviously 0.
Restricted variables are those that are used either directly or indirectly in the definition of array sizes. Any restricted parameters have restriction on the kind of arguments they accept (they must not depend on any free process parameters).
If i is an instance, then i.uid.getData() == i.
std::string instance_t::writeArguments | ( | ) | const |
Definition at line 265 of file system.cpp.
std::string instance_t::writeMapping | ( | ) | const |
Definition at line 239 of file system.cpp.
std::string instance_t::writeParameters | ( | ) | const |
Definition at line 250 of file system.cpp.
Referenced by UTAP::XMLWriter::taTempl().
size_t UTAP::instance_t::arguments |
Definition at line 334 of file system.h.
Referenced by UTAP::TimedAutomataSystem::addDynamicTemplate(), UTAP::TimedAutomataSystem::addInstance(), UTAP::TimedAutomataSystem::addLscInstance(), UTAP::TimedAutomataSystem::addTemplate(), and UTAP::TypeChecker::visitInstance().
std::map<symbol_t, expression_t> UTAP::instance_t::mapping |
The arguments.
Definition at line 333 of file system.h.
Referenced by UTAP::TimedAutomataSystem::addInstance(), UTAP::TimedAutomataSystem::addLscInstance(), UTAP::instanceLine_t::addParameters(), UTAP::SignalFlow::checkParams(), UTAP::ExpressionBuilder::exprDot(), and UTAP::TypeChecker::visitInstance().
frame_t UTAP::instance_t::parameters |
The parameters.
Definition at line 332 of file system.h.
Referenced by UTAP::TimedAutomataSystem::addDynamicTemplate(), UTAP::TimedAutomataSystem::addInstance(), UTAP::TimedAutomataSystem::addLscInstance(), UTAP::instanceLine_t::addParameters(), UTAP::TimedAutomataSystem::addTemplate(), UTAP::TypeChecker::checkExpression(), UTAP::SignalFlow::checkParams(), UTAP::ExpressionBuilder::exprCallEnd(), UTAP::SystemBuilder::instanceName(), UTAP::SystemBuilder::instanceNameEnd(), UTAP::SystemBuilder::instantiationEnd(), UTAP::SystemBuilder::procBegin(), UTAP::CompileTimeComputableValues::visitInstance(), UTAP::TypeChecker::visitInstance(), and UTAP::TypeChecker::visitProcess().
std::set<symbol_t> UTAP::instance_t::restricted |
Restricted variables.
Definition at line 337 of file system.h.
Referenced by UTAP::SystemBuilder::instanceNameEnd(), UTAP::SystemBuilder::instantiationEnd(), UTAP::StatementBuilder::typeArrayOfType(), UTAP::ExpressionBuilder::typeScalar(), and UTAP::TypeChecker::visitProcess().
struct template_t* UTAP::instance_t::templ |
Definition at line 336 of file system.h.
Referenced by UTAP::TimedAutomataSystem::addDynamicTemplate(), UTAP::TimedAutomataSystem::addInstance(), UTAP::TimedAutomataSystem::addLscInstance(), UTAP::instanceLine_t::addParameters(), UTAP::TimedAutomataSystem::addProcess(), UTAP::DistanceCalculator::addProcessNeedle(), UTAP::TimedAutomataSystem::addTemplate(), UTAP::SignalFlow::checkParams(), UTAP::ExpressionBuilder::exprCallEnd(), UTAP::ExpressionBuilder::exprDot(), and UTAP::SignalFlow::visitProcess().
symbol_t UTAP::instance_t::uid |
The name.
Definition at line 331 of file system.h.
Referenced by UTAP::TimedAutomataSystem::addDynamicTemplate(), UTAP::TimedAutomataSystem::addInstance(), UTAP::TimedAutomataSystem::addLscInstance(), UTAP::TimedAutomataSystem::addProcess(), UTAP::TimedAutomataSystem::addTemplate(), UTAP::ExpressionBuilder::exprDot(), UTAP::SystemBuilder::instanceName(), UTAP::TimedAutomataSystem::removeProcess(), UTAP::XMLWriter::taTempl(), UTAP::ExpressionBuilder::typeScalar(), UTAP::TypeChecker::visitInstance(), and UTAP::SignalFlow::visitProcess().
size_t UTAP::instance_t::unbound |
Definition at line 335 of file system.h.
Referenced by UTAP::TimedAutomataSystem::addDynamicTemplate(), UTAP::TimedAutomataSystem::addInstance(), UTAP::TimedAutomataSystem::addLscInstance(), UTAP::TimedAutomataSystem::addProcess(), UTAP::TimedAutomataSystem::addTemplate(), UTAP::ExpressionBuilder::exprCallEnd(), and UTAP::TypeChecker::visitProcess().