openETCS
case study for the European Train Control System developed for the authors dissertation
|
graph class More...
#include <Graph.h>
Public Member Functions | |
CGraph (const ::std::string &OID="", const ::std::string &Type="", const ::std::string &ID="", const std::map< ::std::string,::GOPPRR::CProperty * > &Properties=std::map< ::std::string,::GOPPRR::CProperty * >(), const std::vector< ::GOPPRR::CBinding > &BindingSet=std::vector< ::GOPPRR::CBinding >(), const std::vector< ::GOPPRR::CGraphicalContainer > &Containers=std::vector< ::GOPPRR::CGraphicalContainer >(), const std::map< std::string,::GOPPRR::CObject * > &ObjectSet=std::map< std::string,::GOPPRR::CObject * >(), const std::map< std::string,::GOPPRR::CPort * > &PortSet=std::map< std::string,::GOPPRR::CPort * >(), const std::map< std::string,::GOPPRR::CRelationship * > &RelationshipSet=std::map< std::string,::GOPPRR::CRelationship * >(), const std::map< std::string,::GOPPRR::CRole * > &RoleSet=std::map< std::string,::GOPPRR::CRole * >()) throw () | |
general constructor | |
CGraph (const CGraph &Source) throw () | |
copy constructor | |
::std::map< ::std::string, GOPPRR::CObject * > | Contained (GOPPRR::CObject *const pObject, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CObject * > | Container (GOPPRR::CObject *const pObject, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CObject * > | Objects (GOPPRR::CPort *const pPort, GOPPRR::CRole *const pRole, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CObject * > | Objects (GOPPRR::CRole *const pRole, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CObject * > | Objects (GOPPRR::CRole *const pRole, const ::std::string &Type, const bool &bSubString=false, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CObject * > | Objects (const ::std::string &Type, const bool &bSubString=false, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
CGraph & | operator= (const CGraph &Source) throw () |
assignment operator | |
::std::map< ::std::string, GOPPRR::CPort * > | Ports (GOPPRR::CRole *const pRole, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CPort * > | Ports (GOPPRR::CObject *const pObject, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CPort * > | Ports (GOPPRR::CObject *const pObject, const ::std::string &Type, const bool &bSubString=false, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CProperty * > | Properties (const ::std::string &Type, const bool &bSubString=false, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CRelationship * > | Relationships (GOPPRR::CRole *const pRole, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CRelationship * > | Relationships (GOPPRR::CRole *const pRole, const ::std::string &Type, const bool &bSubString=false, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CRole * > | Roles (GOPPRR::CObject *const pObject, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CRole * > | Roles (GOPPRR::CObject *const pObject, const ::std::string &Type, const bool &bSubString=false, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CRole * > | Roles (GOPPRR::CObject *const pObject, GOPPRR::CPort *const pPort, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CRole * > | Roles (GOPPRR::CRelationship *const pRelationship, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CRole * > | Roles (GOPPRR::CObject *const pObject, GOPPRR::CPort *const pPort, const ::std::string &Type, const bool &bSubString=false, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CRole * > | Roles (GOPPRR::CRelationship *const pRelationship, const ::std::string &Type, const bool &bSubString=false, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
::std::map< ::std::string, GOPPRR::CRole * > | Roles (GOPPRR::CRole *const pRole, const ::std::string &Type, const bool &bSubString=false, const bool &bUseException=true) const throw (::GOPPRR::Error::CEmpty) |
abstraction method | |
virtual | ~CGraph () throw () |
destructor |
Public Attributes | |
::std::vector< GOPPRR::CBinding > | m_BindingSet |
set of bindings in a graph | |
::std::vector < GOPPRR::CGraphicalContainer > | m_Containers |
graphical containments in a graph | |
::std::string | m_ID |
(literal) identifier of element | |
::std::map< std::string, GOPPRR::CObject * > | m_ObjectSet |
set of objects in a graph | |
::std::string | m_OID |
unique object identifier | |
::std::map< std::string, GOPPRR::CPort * > | m_PortSet |
set of ports | |
::std::map< std::string, GOPPRR::CProperty * > | m_Properties |
properties of non-properties | |
::std::map< std::string, GOPPRR::CRelationship * > | m_RelationshipSet |
set of relationships in a graph | |
::std::map< std::string, GOPPRR::CRole * > | m_RoleSet |
role set of a graph | |
::std::string | m_Type |
name of a type |
GOPPRR::CGraph::CGraph | ( | const ::std::string & | OID = "" , |
const ::std::string & | Type = "" , |
||
const ::std::string & | ID = "" , |
||
const std::map< ::std::string,::GOPPRR::CProperty * > & | Properties = std::map< ::std::string, ::GOPPRR::CProperty* >() , |
||
const std::vector< ::GOPPRR::CBinding > & | BindingSet = std::vector< ::GOPPRR::CBinding >() , |
||
const std::vector< ::GOPPRR::CGraphicalContainer > & | Containers = std::vector< ::GOPPRR::CGraphicalContainer >() , |
||
const std::map< std::string,::GOPPRR::CObject * > & | ObjectSet = std::map< std::string, ::GOPPRR::CObject* >() , |
||
const std::map< std::string,::GOPPRR::CPort * > & | PortSet = std::map< std::string, ::GOPPRR::CPort* >() , |
||
const std::map< std::string,::GOPPRR::CRelationship * > & | RelationshipSet = std::map< std::string, ::GOPPRR::CRelationship* >() , |
||
const std::map< std::string,::GOPPRR::CRole * > & | RoleSet = std::map< std::string, ::GOPPRR::CRole* >() |
||
) | throw () |
general constructor
[in] | OID | object identifier |
[in] | Type | literal name of the type |
[in] | ID | identifier |
[in] | Properties | set of property references |
[in] | BindingSet | set of bindings |
[in] | Containers | set of graphical containers |
[in] | ObjectSet | set of objects |
[in] | PortSet | set of ports |
[in] | RelationshipSet | set of relationships |
[in] | RoleSet | set of roles |
GOPPRR::CGraph::CGraph | ( | const CGraph & | Source | ) | throw () |
std::map<::std::string, GOPPRR::CObject * > GOPPRR::CGraph::Contained | ( | GOPPRR::CObject *const | pObject, |
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets all objects graphical contained by a another one in a certain graph.
[in] | pObject | pointer to the object |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
std::map<::std::string, GOPPRR::CObject * > GOPPRR::CGraph::Container | ( | GOPPRR::CObject *const | pObject, |
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
std::map<::std::string, GOPPRR::CObject * > GOPPRR::CGraph::Objects | ( | GOPPRR::CPort *const | pPort, |
GOPPRR::CRole *const | pRole, | ||
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets all objects connected to a certain port and role in a certain graph.
[in] | pPort | pointer to the port |
[in] | pRole | pointer to the role |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
Definition at line 776 of file Graph.cpp.
Referenced by oETCS::GEN::CCPPGenerator::GenerateControlFlows(), oETCS::GEN::CCPPGenerator::GenerateLanguage(), and oETCS::GEN::CCPPGenerator::GenerateTransitions().
std::map<::std::string, GOPPRR::CObject * > GOPPRR::CGraph::Objects | ( | GOPPRR::CRole *const | pRole, |
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
std::map<::std::string, GOPPRR::CObject * > GOPPRR::CGraph::Objects | ( | GOPPRR::CRole *const | pRole, |
const ::std::string & | Type, | ||
const bool & | bSubString = false , |
||
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets certain types of objects connected to a certain role in a certain graph.
[in] | pRole | pointer to the role |
[in] | Type | object type |
[in] | bSubString | if true, Type only must be a substring of object type |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
std::map<::std::string, GOPPRR::CObject * > GOPPRR::CGraph::Objects | ( | const ::std::string & | Type, |
const bool & | bSubString = false , |
||
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets certain types of objects in a certain graph.
[in] | Type | object type |
[in] | bSubString | if true, Type only must be a substring of object type |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
Definition at line 953 of file Graph.cpp.
References m_ObjectSet.
GOPPRR::CGraph & GOPPRR::CGraph::operator= | ( | const CGraph & | Source | ) | throw () |
assignment operator
[in] | Source | object instance to assign from |
Definition at line 1088 of file Graph.cpp.
References m_BindingSet.
std::map<::std::string, GOPPRR::CPort * > GOPPRR::CGraph::Ports | ( | GOPPRR::CRole *const | pRole, |
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
std::map<::std::string, GOPPRR::CPort * > GOPPRR::CGraph::Ports | ( | GOPPRR::CObject *const | pObject, |
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
std::map<::std::string, GOPPRR::CPort * > GOPPRR::CGraph::Ports | ( | GOPPRR::CObject *const | pObject, |
const ::std::string & | Type, | ||
const bool & | bSubString = false , |
||
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets certain types of ports connected to a certain object in a certain graph.
[in] | pObject | pointer to the object |
[in] | Type | port type |
[in] | bSubString | if true, Type only must be a substring of port type |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
|
inherited |
abstraction method
Gets certain properties of a non-property object
[in] | Type | property type |
[in] | bSubString | if true, Type only must be a substring of property type |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
Definition at line 90 of file NonProperty.cpp.
Referenced by oETCS::GEN::CCPPGenerator::GenerateDataFlow(), oETCS::GEN::CCPPGenerator::GenerateEVCTransitions(), oETCS::GEN::CCPPGenerator::GenerateFunctionBlockElements(), oETCS::GEN::CCPPGenerator::GenerateLanguage(), and oETCS::GEN::CCPPGenerator::GenerateRootGraph().
std::map<::std::string, GOPPRR::CRelationship * > GOPPRR::CGraph::Relationships | ( | GOPPRR::CRole *const | pRole, |
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
std::map<::std::string, GOPPRR::CRelationship * > GOPPRR::CGraph::Relationships | ( | GOPPRR::CRole *const | pRole, |
const ::std::string & | Type, | ||
const bool & | bSubString = false , |
||
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets certain types of relationships connected to a certain role in a certain graph.
[in] | pRole | pointer to the role |
[in] | Type | relationship type |
[in] | bSubString | if true, Type only must be a substring of relationship type |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
std::map<::std::string, GOPPRR::CRole * > GOPPRR::CGraph::Roles | ( | GOPPRR::CObject *const | pObject, |
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets all roles connected to a certain object in a certain graph.
[in] | pObject | pointer to the object |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
Definition at line 81 of file Graph.cpp.
Referenced by oETCS::GEN::CCPPGenerator::GenerateControlFlows(), and oETCS::GEN::CCPPGenerator::GenerateLanguage().
std::map<::std::string, GOPPRR::CRole * > GOPPRR::CGraph::Roles | ( | GOPPRR::CObject *const | pObject, |
const ::std::string & | Type, | ||
const bool & | bSubString = false , |
||
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets certain roles connected to a certain object in a certain graph.
[in] | pObject | pointer to the object |
[in] | Type | role type |
[in] | bSubString | if true, Type only must be a substring of role type |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
std::map<::std::string, GOPPRR::CRole * > GOPPRR::CGraph::Roles | ( | GOPPRR::CObject *const | pObject, |
GOPPRR::CPort *const | pPort, | ||
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets all roles connected to a certain port and object in a certain graph.
[in] | pPort | pointer to the port |
[in] | pObject | pointer to the object |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
std::map<::std::string, GOPPRR::CRole * > GOPPRR::CGraph::Roles | ( | GOPPRR::CRelationship *const | pRelationship, |
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets all roles connected to a certain relationship in a certain graph.
[in] | pRelationship | pointer to the relationship |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
std::map<::std::string, GOPPRR::CRole * > GOPPRR::CGraph::Roles | ( | GOPPRR::CObject *const | pObject, |
GOPPRR::CPort *const | pPort, | ||
const ::std::string & | Type, | ||
const bool & | bSubString = false , |
||
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets all certain types of roles connected to a certain port and object in a certain graph.
[in] | pPort | pointer to the port |
[in] | pObjectt | pointer to the object |
[in] | Type | role type |
[in] | bSubString | if true, Type only must be a substring of role type |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
std::map<::std::string, GOPPRR::CRole * > GOPPRR::CGraph::Roles | ( | GOPPRR::CRelationship *const | pRelationship, |
const ::std::string & | Type, | ||
const bool & | bSubString = false , |
||
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets all certain types of roles connected to a certain relationship in a certain graph.
[in] | pRelationship | pointer to the relationship |
[in] | Type | role type |
[in] | bSubString | if true, Type only must be a substring of role type |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
std::map<::std::string, GOPPRR::CRole * > GOPPRR::CGraph::Roles | ( | GOPPRR::CRole *const | pRole, |
const ::std::string & | Type, | ||
const bool & | bSubString = false , |
||
const bool & | bUseException = true |
||
) | const throw (::GOPPRR::Error::CEmpty) |
abstraction method
Gets all certain types of roles connected to a certain another role in a certain graph. This skips the navigation via the related relationship.
[in] | pRole | pointer to the role |
[in] | Type | role type |
[in] | bSubString | if true, Type only must be a substring of role type |
[in] | bUseException | optional boolean flag for throwing a exception in case of an empty map |
::std::vector< GOPPRR::CBinding > GOPPRR::CGraph::m_BindingSet |
set of bindings in a graph
Set of bindings in a graph.
Definition at line 373 of file Graph.h.
Referenced by operator=().
::std::vector< GOPPRR::CGraphicalContainer > GOPPRR::CGraph::m_Containers |
|
inherited |
(literal) identifier of element
Definition at line 103 of file NonProperty.h.
Referenced by oETCS::GEN::CMain::Execute(), oETCS::GEN::CBuildGenerator::Generate(), oETCS::GEN::CVMGenerator::Generate(), oETCS::GEN::CCPPGenerator::GenerateCommunication(), oETCS::GEN::CCPPGenerator::GenerateEVCTransitions(), oETCS::GEN::CVMGenerator::GeneratePSM(), and GOPPRR::CNonProperty::operator=().
::std::map< std::string,GOPPRR::CObject* > GOPPRR::CGraph::m_ObjectSet |
set of objects in a graph
Set of objects in a graph indexed by their OID.
Definition at line 383 of file Graph.h.
Referenced by oETCS::GEN::CCPPGenerator::BuildAbstractModel(), oETCS::GEN::CCPPGenerator::GenerateCommunication(), oETCS::GEN::CCPPGenerator::GenerateControlFlows(), oETCS::GEN::CCPPGenerator::GenerateDataFlow(), oETCS::GEN::CCPPGenerator::GenerateDataFlowForCommunication(), oETCS::GEN::CCPPGenerator::GenerateDMI(), oETCS::GEN::CCPPGenerator::GenerateEVCTransitions(), oETCS::GEN::CCPPGenerator::GenerateFunctionBlock(), oETCS::GEN::CCPPGenerator::GenerateFunctionBlockElements(), oETCS::GEN::CCPPGenerator::GenerateLanguage(), oETCS::GEN::CCPPGenerator::GenerateTransitions(), and Objects().
|
inherited |
unique object identifier
Definition at line 78 of file Concept.h.
Referenced by oETCS::GEN::CCPPGenerator::BuildAbstractModel(), oETCS::GEN::CCPPGenerator::GenerateCommunication(), oETCS::GEN::CCPPGenerator::GenerateDataFlow(), oETCS::GEN::CCPPGenerator::GenerateDataFlowForCommunication(), oETCS::GEN::CCPPGenerator::GenerateEVCTransitions(), oETCS::GEN::CCPPGenerator::GenerateLanguage(), oETCS::GEN::CCPPGenerator::GenerateRootGraph(), oETCS::GEN::CCPPGenerator::GenerateTransitions(), GOPPRR::CConcept::operator=(), and oETCS::UT::CGOPPRRTransformer::TestCreateSyntax().
::std::map< std::string,GOPPRR::CPort* > GOPPRR::CGraph::m_PortSet |
set of ports
Set of ports indexed by their OID.
Definition at line 393 of file Graph.h.
Referenced by oETCS::GEN::CCPPGenerator::GenerateCommunication(), oETCS::GEN::CCPPGenerator::GenerateFunctionBlock(), oETCS::GEN::CCPPGenerator::GenerateFunctionBlockElements(), and oETCS::GEN::CCPPGenerator::GenerateLanguage().
|
inherited |
properties of non-properties
Properties of non-properties indexed by their OID
Definition at line 113 of file NonProperty.h.
Referenced by oETCS::GEN::CCPPGenerator::GenerateLanguage().
::std::map< std::string,GOPPRR::CRelationship* > GOPPRR::CGraph::m_RelationshipSet |
set of relationships in a graph
Set of relationships in a graph indexed by their OID
Definition at line 403 of file Graph.h.
Referenced by oETCS::GEN::CCPPGenerator::GenerateCommunication(), oETCS::GEN::CCPPGenerator::GenerateControlFlows(), oETCS::GEN::CCPPGenerator::GenerateDataFlow(), oETCS::GEN::CCPPGenerator::GenerateDataFlowForCommunication(), oETCS::GEN::CCPPGenerator::GenerateEVCTransitions(), oETCS::GEN::CCPPGenerator::GenerateFunctionBlock(), and oETCS::GEN::CCPPGenerator::GenerateTransitions().
::std::map< std::string,GOPPRR::CRole* > GOPPRR::CGraph::m_RoleSet |
role set of a graph
Role set of a graph indexed by their OID.
Definition at line 413 of file Graph.h.
Referenced by oETCS::GEN::CCPPGenerator::BuildAbstractModel(), oETCS::GEN::CCPPGenerator::GenerateCommunication(), oETCS::GEN::CCPPGenerator::GenerateControlFlows(), oETCS::GEN::CCPPGenerator::GenerateDataFlow(), oETCS::GEN::CCPPGenerator::GenerateEVCTransitions(), oETCS::GEN::CCPPGenerator::GenerateFunctionBlock(), oETCS::GEN::CCPPGenerator::GenerateLanguage(), and oETCS::GEN::CCPPGenerator::GenerateTransitions().
|
inherited |
name of a type
Definition at line 85 of file Concept.h.
Referenced by oETCS::GEN::CCPPGenerator::GenerateControlFlows(), oETCS::GEN::CCPPGenerator::GenerateDataFlowForCommunication(), oETCS::GEN::CCPPGenerator::GenerateLanguage(), and oETCS::GEN::CCPPGenerator::GenerateTransitions().
Copyright (C) 2010-2012 Johannes Feuser (feuser@uni-bremen.de)
The openETCS library is free software: you can redistribute it
and/or modify it under the terms of the GNU General Public License
as published by the Free Software Foundation, either version 3 of
the License, or any later version.
The openETCS library is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with the openETCS library. If not, see
"http://www.gnu.org/licenses/.