00001 00003 #ifndef _DIVINE_BYMOC_PROCESS_DECOMPOSITION_HH_ 00004 #define _DIVINE_BYMOC_PROCESS_DECOMPOSITION_HH_ 00005 00006 #ifndef DOXYGEN_PROCESSING 00007 #include "common/process_decomposition.hh" 00008 #include "system/bymoc/bymoc_explicit_system.hh" 00009 #include "system/bymoc/bymoc_process.hh" 00010 #include "system/bymoc/vm/nipsvm.h" 00011 namespace divine { 00012 #endif 00013 00014 class bymoc_process_decomposition_t : public process_decomposition_t 00015 { 00016 protected: 00017 bymoc_explicit_system_t& system_; 00018 nipsvm_bytecode_t *bytecode_; 00019 int proc_id_; 00020 public: 00021 bymoc_process_decomposition_t(bymoc_explicit_system_t&); 00022 00023 void parse_process(std::size_t); 00024 void parse_monitor_process(); 00025 int get_process_scc_id(state_t&); 00026 int get_process_scc_type(state_t&); 00027 int get_scc_type(int); 00028 int get_scc_count(); 00029 bool is_weak(); 00030 }; 00031 00032 00033 #ifndef DOXYGEN_PROCESSING 00034 } 00035 #endif 00036 #endif