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

#include <causal_closure_initiator.h>

Collaboration diagram for CausalClosureInitiator:
Collaboration graph

Public Member Functions

 CausalClosureInitiator (const std::string &causal_closure_attribute="causal_closure")
 
 ~CausalClosureInitiator ()
 
BoolVectorget_causal_closure (Event *e)
 
void initialize (const EventPVector &events, VisualClosureInitiator &visual_closure_init, ChannelMapperPtr mapper)
 
void cleanup_attributes ()
 

Protected Member Functions

void square_closure (std::vector< BoolVector * > &closure)
 
bool multiply (std::vector< BoolVector * > &closure, size_t row, size_t column)
 

Protected Attributes

EventPStack m_modified_events
 
std::string m_causal_closure_attribute
 

Detailed Description

Definition at line 30 of file causal_closure_initiator.h.

Constructor & Destructor Documentation

CausalClosureInitiator::CausalClosureInitiator ( const std::string causal_closure_attribute = "causal_closure")
inline

Sets explicit names of attributes

Definition at line 60 of file causal_closure_initiator.h.

CausalClosureInitiator::~CausalClosureInitiator ( )
inline

Cleans up set attributes.

Definition at line 70 of file causal_closure_initiator.h.

Member Function Documentation

void CausalClosureInitiator::cleanup_attributes ( void  )

Cleans up set attributes.

Definition at line 23 of file causal_closure_initiator.cpp.

References m_causal_closure_attribute, m_modified_events, and MscElement::remove_attribute().

Referenced by RaceChecker::cleanup_attributes().

BoolVector& CausalClosureInitiator::get_causal_closure ( Event e)
inline
void CausalClosureInitiator::initialize ( const EventPVector events,
VisualClosureInitiator visual_closure_init,
ChannelMapperPtr  mapper 
)

Computes causal closure.

A visual_closure_init must be initialized - initialize method must be called before.

Parameters
events- topologically sorted events used for visual_closure_init's initialization
visual_closure_init- initialized VisualClosureInitiator

Definition at line 33 of file causal_closure_initiator.cpp.

References get_causal_closure(), Event::get_instance(), MessageEvent::get_matching_event(), VisualClosureInitiator::get_topology_index(), VisualClosureInitiator::get_visual_closure(), MessageEvent::is_matched(), MessageEvent::is_receive(), MessageEvent::is_send(), m_modified_events, and square_closure().

Referenced by RaceChecker::check_bmsc(), and EventTopologyHandler::init_causal().

bool CausalClosureInitiator::multiply ( std::vector< BoolVector * > &  closure,
size_t  row,
size_t  column 
)
protected

Logical multiplication of row and column (indeces) of square matrix closure.

Definition at line 107 of file causal_closure_initiator.cpp.

Referenced by square_closure().

void CausalClosureInitiator::square_closure ( std::vector< BoolVector * > &  closure)
protected

Logically multiply closure by itself.

Definition at line 92 of file causal_closure_initiator.cpp.

References multiply().

Referenced by initialize().

Member Data Documentation

std::string CausalClosureInitiator::m_causal_closure_attribute
protected

Name of causal closure attribute.

Definition at line 43 of file causal_closure_initiator.h.

Referenced by cleanup_attributes().

EventPStack CausalClosureInitiator::m_modified_events
protected

Used for cleaning up attributes.

Definition at line 38 of file causal_closure_initiator.h.

Referenced by cleanup_attributes(), and initialize().


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

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