14#ifndef MCRL2_LTS_LTS2LPS_H
15#define MCRL2_LTS_LTS2LPS_H
17#include "mcrl2/lps/io.h"
18#include "mcrl2/lts/detail/lts_convert.h"
26using namespace mcrl2::
lps;
27using namespace mcrl2::
data;
36 const variable_list process_parameters = { process_parameter };
37 const std::set< data::variable> global_variables;
43 const std::vector<transition>& trans=l.get_transitions();
44 for (std::vector<transition>::const_iterator r=trans.begin(); r!=trans.end(); ++r)
46 const lps::multi_action actions=l.action_label(r->label());
48 assignment_list assignments;
49 if (r->from()!=r->to())
51 assignments=push_back(assignments,assignment(process_parameter,sort_pos::pos(r->to()+1)));
54 const action_summand summand(variable_list(),
55 equal_to(process_parameter,sort_pos::pos(r->from()+1)),
58 action_summands.push_back(summand);
61 const linear_process lps1(process_parameters,deadlock_summands,action_summands);
62 const specification spec(l.data(),l.action_label_declarations(),global_variables,lps1,initial_process);
79 mcrl2::
lts::
detail::lts_convert(l1,l2,data,action_labels,process_parameters);
96 mcrl2::
lts::
detail::lts_convert(l1,l2,data,action_labels,process_parameters);
LPS summand containing a deadlock.
deadlock_summand(const data::variable_list &summation_variables, const data::data_expression &condition, const lps::deadlock &delta)
Constructor.
deadlock(data::data_expression time=data::undefined_real())
Constructor.
process_initializer(const data::data_expression_list &expressions)
Constructor.
Linear process specification.
A simple labelled transition format with only strings as action labels.
The class lts_fsm_t contains labelled transition systems in .fsm format.
This class contains labelled transition systems in .lts format.
Namespace for system defined sort bool_.
const function_symbol & true_()
Constructor for function symbol true.
Namespace for system defined sort pos.
const basic_sort & pos()
Constructor for sort expression Pos.
Namespace for all data library functionality.
atermpp::term_list< data_expression > data_expression_list
\brief list of data_expressions
atermpp::term_list< variable > variable_list
\brief list of variables
The main namespace for the LPS library.
std::vector< deadlock_summand > deadlock_summand_vector
\brief vector of deadlock_summands
std::vector< action_summand > action_summand_vector
\brief vector of action_summands
A base class for the lts_dot labelled transition system.
lps::specification transform_lts2lps(const lts_aut_t &l1, const data_specification &data, const process::action_label_list &action_labels, const variable_list &process_parameters)
transform an lts in aut format into a linear process.
lps::specification transform_lts2lps(const lts_lts_t &l)
transform an lts in lts format into a linear process.
lps::specification transform_lts2lps(const lts_fsm_t &l1, const data_specification &data, const process::action_label_list &action_labels, const variable_list &process_parameters)
transform an lts in fsm format into a linear process.
The main namespace for the Process library.
atermpp::term_list< action_label > action_label_list
\brief list of action_labels