//## begin module%1.4%.codegen_version preserve=yes // Read the documentation to learn more about C++ code generator // versioning. //## end module%1.4%.codegen_version //## begin module%3D86D3AC00AA.cm preserve=no // %X% %Q% %Z% %W% //## end module%3D86D3AC00AA.cm //## begin module%3D86D3AC00AA.cp preserve=no //## end module%3D86D3AC00AA.cp //## Module: Explorer%3D86D3AC00AA; Pseudo Package specification //## Source file: C:\Program Files\Rational\Rose\C++\source\Explorer.h #ifndef Explorer_h #define Explorer_h 1 //## begin module%3D86D3AC00AA.additionalIncludes preserve=no //## end module%3D86D3AC00AA.additionalIncludes //## begin module%3D86D3AC00AA.includes preserve=yes //## end module%3D86D3AC00AA.includes // Communicator #include "Communicator.h" // Broadcaster //#include "Broadcaster.h" // Behavior #include "Behavior.h" //## begin module%3D86D3AC00AA.additionalDeclarations preserve=yes //## end module%3D86D3AC00AA.additionalDeclarations //## begin Explorer%3D86D3AC00AA.preface preserve=yes //## end Explorer%3D86D3AC00AA.preface //## Class: Explorer%3D86D3AC00AA // /** // Explores the plane using simple search patterns. Avoids // walls and the own cluster point when exploring. Returns // when a cube or a robot has been detected. // @author Jia L. Du // */ //## Category: //## Persistence: Transient //## Cardinality/Multiplicity: n class Explorer : public Behavior //## Inherits: %3D9ACA360398 { //## begin Explorer%3D86D3AC00AA.initialDeclarations preserve=yes //## end Explorer%3D86D3AC00AA.initialDeclarations public: //## Constructors (generated) Explorer(); //## Other Operations (specified) //## Operation: activate%3D9291F00302 // /** // Activates this behavior // @return A result code indicating why this behavior // terminated. Explorer.ROBOT_DETECTED or Explorer.CUBE_ // DETECTED or Explorer.DRIVE_STALLED // */ int activate (); //## Attribute: ROBOT_DETECTED%3D9AB3D1008C // /** // Used as result code for Explorer::activate() // */ //## begin Explorer::ROBOT_DETECTED%3D9AB3D1008C.attr preserve=no public: static int {UC} 0 static const int ROBOT_DETECTED; //## end Explorer::ROBOT_DETECTED%3D9AB3D1008C.attr //## Attribute: CUBE_DETECTED%3D9AB3F003DE // /** // Used as result code for Explorer::activate() // */ //## begin Explorer::CUBE_DETECTED%3D9AB3F003DE.attr preserve=no public: static int {UC} 1 static const int CUBE_DETECTED; //## end Explorer::CUBE_DETECTED%3D9AB3F003DE.attr // Additional Public Declarations //## begin Explorer%3D86D3AC00AA.public preserve=yes // /** // Used as result code for Explorer::activate() // */ static const int DRIVE_STALLED; //## end Explorer%3D86D3AC00AA.public protected: // Additional Protected Declarations //## begin Explorer%3D86D3AC00AA.protected preserve=yes //## end Explorer%3D86D3AC00AA.protected private: //## Other Operations (specified) // Additional Private Declarations //## begin Explorer%3D86D3AC00AA.private preserve=yes //## end Explorer%3D86D3AC00AA.private private: //## implementation // Data Members for Class Attributes // Data Members for Associations //## Association: %3D8AA73D0258 //## Role: Explorer::%3D8AA73F0168 // /** // The Explorer needs to communicate with the Broadcaster // when the first cube is found // */ //## begin Explorer::%3D8AA73F0168.role preserve=no public: Broadcaster { -> RHN} //Broadcaster *broadcaster; //## end Explorer::%3D8AA73F0168.role // Additional Implementation Declarations //## begin Explorer%3D86D3AC00AA.implementation preserve=yes //## end Explorer%3D86D3AC00AA.implementation }; //## begin Explorer%3D86D3AC00AA.postscript preserve=yes //## end Explorer%3D86D3AC00AA.postscript // Class Explorer //## begin module%3D86D3AC00AA.epilog preserve=yes //## end module%3D86D3AC00AA.epilog #endif