Sequence Chart Studio  svn HEAD revision
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Member Functions | Private Attributes | List of all members
VisualClosureInitiator Class Reference

#include <visual_closure_initiator.h>

Collaboration diagram for VisualClosureInitiator:
Collaboration graph

Public Member Functions

 VisualClosureInitiator (const std::string &visual_closure_attribute="visual_closure", const std::string &topology_index_attribute="visual_closure_topology_index")
 
 ~VisualClosureInitiator ()
 
void initialize (const EventPVector &event_topology)
 
BoolVectorget_visual_closure (Event *e)
 
size_t get_topology_index (Event *e)
 
void set_topology_index (Event *e, size_t i)
 
void cleanup_attributes ()
 

Private Member Functions

void make_closure (std::vector< BoolVector * > &closure_matrix, size_t succ_index, size_t pred_index)
 
void make_closure (std::vector< BoolVector * > &closure_matrix, size_t succ_index, EventArea *pred_area)
 
void make_closure (std::vector< BoolVector * > &closure_matrix, const EventPVector &event_topology)
 
void make_closure (std::vector< BoolVector * > &closure_matrix, size_t e, Event *event_e)
 

Private Attributes

EventPList m_modified_events
 
std::string m_topology_index_attribute
 
std::string m_visual_closure_attribute
 

Detailed Description

Definition at line 56 of file visual_closure_initiator.h.

Constructor & Destructor Documentation

VisualClosureInitiator::VisualClosureInitiator ( const std::string visual_closure_attribute = "visual_closure",
const std::string topology_index_attribute = "visual_closure_topology_index" 
)
inline

Sets explicit names of attributes

Definition at line 101 of file visual_closure_initiator.h.

VisualClosureInitiator::~VisualClosureInitiator ( )

Calls cleanup_attributes().

Definition at line 47 of file visual_closure_initiator.cpp.

References cleanup_attributes().

Member Function Documentation

void VisualClosureInitiator::cleanup_attributes ( void  )
size_t VisualClosureInitiator::get_topology_index ( Event e)
BoolVector& VisualClosureInitiator::get_visual_closure ( Event e)
inline
void VisualClosureInitiator::initialize ( const EventPVector event_topology)

Computes visual closure.

Parameters
event_topology- topologically sorted events of BMsc (i<j <=> (event_topology[i]<event_topology[j] or event_topology[i]||event_topology[j]).

Definition at line 63 of file visual_closure_initiator.cpp.

References get_visual_closure(), m_modified_events, make_closure(), and set_topology_index().

Referenced by FifoChecker::check(), RaceChecker::check_bmsc(), and EventTopologyHandler::EventTopologyHandler().

void VisualClosureInitiator::make_closure ( std::vector< BoolVector * > &  closure_matrix,
size_t  succ_index,
size_t  pred_index 
)
private

Completes closure_matrix between succ_index event and pred_index event

Definition at line 21 of file visual_closure_initiator.cpp.

Referenced by initialize(), and make_closure().

void VisualClosureInitiator::make_closure ( std::vector< BoolVector * > &  closure_matrix,
size_t  succ_index,
EventArea pred_area 
)
private

Completes closure_matrix between succ_index event and last events in pred_area

Definition at line 34 of file visual_closure_initiator.cpp.

References EventArea::get_maximal_events(), EventArea::get_previous_area(), get_topology_index(), EventArea::is_empty(), and make_closure().

void VisualClosureInitiator::make_closure ( std::vector< BoolVector * > &  closure_matrix,
const EventPVector event_topology 
)
private

Completes closure_matrix for topologicaly sorted event - event_topology

Definition at line 81 of file visual_closure_initiator.cpp.

References MessageEvent::get_matching_event(), get_topology_index(), MessageEvent::is_matched(), MessageEvent::is_receive(), and make_closure().

void VisualClosureInitiator::make_closure ( std::vector< BoolVector * > &  closure_matrix,
size_t  e,
Event event_e 
)
private

Completes closure_matrix for event_e with index e

Definition at line 99 of file visual_closure_initiator.cpp.

References Event::get_area(), Event::get_predecessor_events(), EventArea::get_previous_area(), get_topology_index(), Event::is_minimal(), and make_closure().

void VisualClosureInitiator::set_topology_index ( Event e,
size_t  i 
)

Setter of topology index attribute of e.

Definition at line 119 of file visual_closure_initiator.cpp.

References m_topology_index_attribute, and MscElement::set_attribute().

Referenced by initialize().

Member Data Documentation

EventPList VisualClosureInitiator::m_modified_events
private

Events with modified attributes

Definition at line 64 of file visual_closure_initiator.h.

Referenced by cleanup_attributes(), and initialize().

std::string VisualClosureInitiator::m_topology_index_attribute
private

Name of topology attribute.

Definition at line 69 of file visual_closure_initiator.h.

Referenced by cleanup_attributes(), get_topology_index(), and set_topology_index().

std::string VisualClosureInitiator::m_visual_closure_attribute
private

Name of visual closure attribute.

Definition at line 74 of file visual_closure_initiator.h.

Referenced by cleanup_attributes().


The documentation for this class was generated from the following files:

SourceForge.net Logo
Generated on Fri Jan 15 2016 16:26:59 for Sequence Chart Studio by  doxygen