CONTENTS Title Page Copyright Page Preface 1 Basic Concepts and Features 1.1 Classes and Objects 1.2 Messages and Methods 1.3 BASEstar Open Users 1.4 Inheritance 1.5 Refinement 1.6 Common Services 1.6.1 The Object Class 1.6.2 The Abstract Classes 1.6.2.1 The Composite Class 1.6.2.2 The Collection Class 1.6.2.3 Using Collection and Composite Classes Together 1.6.3 The Datatype Class 1.6.3.1 Simple_Datatypes 1.6.3.2 Complex Datatypes 1.7 Partitioning and Naming Objects in Realms 1.7.1 Domains and Object Names 1.7.2 Actors 1.7.3 Local Name 1.7.4 Full Name 1.7.5 Local Name Scope 2 BASEstar Open Services 2.1 Event Services 2.1.1 Creating Events 2.1.2 Creating Enboxes 2.1.3 Subscribing to Events 2.1.4 Declaring Events 2.1.5 Receiving Notification of Events 2.1.6 Operating on Event_Sets 2.2 Packet Services 2.2.1 Packets 2.2.2 Operating on Ports 2.2.2.1 Sending Packets and Generating Notifications 2.2.2.2 Information Returned in the Packet Notifications 2.2.2.3 Receiving Packet Notifications 2.2.2.4 Sending a Packet with Reply 2.3 Data Services 2.3.1 Common Characteristics and Functions 2.3.2 Creating Data_Point Objects 2.3.3 Reading and Writing Data_Points 2.3.4 Linking Data_Points 2.3.5 Using Triggers and Filters 2.3.5.1 Filter Expressions 2.3.5.2 Trigger Priority and Event Delivery 2.3.5.3 Enabling and Disabling a Trigger 2.3.6 Device_Data_Points 2.3.7 Getting Data_Point Status 2.3.8 Using Data_Point_Sets 2.3.9 Locking and Unlocking Data_Points and Data_Point_Sets 2.3.10 Triggers and Linked Data_Points 2.3.11 Versioning 2.4 Device Services 2.4.1 The Device Services Model for the MMS-Modeled Device Connectivity 2.4.2 Device Services Objects Scope and Naming 2.4.3 Device Services Classes for MMS-Modeled Device Connectivity 2.4.4 MMS Compliant Device Services Classes 2.4.5 BASEstar Open-Defined Classes 2.4.5.1 The BASEstar Open-Defined Polling_Set Class 2.4.5.2 The BASEstar Open-Defined AP Message Class 2.5 Application Services 2.5.1 Nodes 2.5.2 Application Components 2.5.3 Modeling Application Components Using Program and Activity Objects 2.5.3.1 Activity 2.5.3.2 Program 2.5.4 Managing Program executions and Activity executions (Activity Kind Different from ENCAPSULATED) 2.5.4.1 Program Execution 2.5.4.2 Activity execution 2.5.4.3 Structure of an Activity execution 2.5.5 Managing Program executions and Activity executions (Activity Kind Equal to ENCAPSULATED) 2.5.5.1 Program Execution 2.5.6 Actors 2.5.7 Domain and Actor Subtrees in a Realm 2.5.8 Modeling Application Components With BASEstar Open Objects 2.5.9 Operating on Actors 2.5.9.1 Executing an Actor 2.5.9.2 Terminating an Actor 2.5.9.3 Suspending and Resuming an Actor 2.5.9.4 Actor Recovery Policy 2.5.10 Operating on Activities 2.5.10.1 Choosing the Node to Execute an Activity 2.5.10.2 Activity Recovery Policy 2.5.11 Operating on Activities of USER, EVENT, PACKET, DATA or DEVICE Kind 2.5.11.1 Executing an Activity 2.5.11.2 Suspending and Resuming an Activity 2.5.11.3 Terminating an Activity 2.5.12 Operations on ENCAPSULATED program_kind Activities 2.5.12.1 Executing an Activity 2.5.12.2 Terminating an Activity 2.5.13 Actor and Activity State and Transition State Diagrams 2.5.13.1 Actor Actor_State Transitions 2.5.13.2 Activity Master_State Transitions (Program Kind is EVENT, DATA, PACKET, DEVICE or USER) 2.5.13.3 Activity Master_State Transitions (Program kind is ENCAPSULATED) 3 BASEstar Open Class Reference 3.1 Introduction 3.2 Common Services Classes 3.2.1 Array_Datatype 3.2.2 Collection 3.2.3 Composite 3.2.4 Datatype 3.2.5 Domain 3.2.6 Object 3.2.7 Simple_Datatype 3.2.8 Structure_Datatype 3.3 Event Services Classes 3.3.1 Enbox 3.3.2 Event 3.3.3 Event_Set 3.4 Packet Services Classes 3.4.1 Port 3.4.2 Packet 3.5 Data Services Classes 3.5.1 Data_Point 3.5.2 Data_Point_Set 3.5.3 Device_Data_Point 3.5.4 Filter 3.5.5 Mapped_Data_Point 3.5.6 Trigger 3.6 Application Services Classes 3.6.1 Activity 3.6.2 Actor 3.6.3 Node 3.6.4 Program 4 BASEstar Open Device Services Class Reference 4.1 Introduction 4.2 AP Message 4.3 Named_Variable 4.4 Polling_Set 4.5 Unnamed_Variable 4.6 VMD 5 Objects Statistics 5.1 Which Objects Support Statistics 5.2 Statistics Information 5.3 Operating Object Statistics A Model Data Structure Reference A.1 Event_Notification A.2 Packet_Notification A.3 Program Request A.4 Subscription B Statistics Data Structures Reference B.1 enbox_specific_stat B.2 event_specific_stat B.3 message_stat B.4 named_variable_specific_stat B.5 polling_set_specific_stat B.6 port_specific_stat B.7 statistic_header B.8 unnamed_variable_specific_stat B.9 VMD_specific_stat FIGURES 1-1 The BASEstar Open Model 1-2 Classes and Objects 1-3 Messages and Methods 1-4 Users and Service Requests 1-5 Operating on Objects 1-6 The BASEstar Open Model 1-7 Inheritance and Refinement 1-8 BASEstar Open Common Classes 1-9 Creating a Data_Point_Set Object 1-10 Collection and Composite Classes 1-11 A Sample Structure Datatype 1-12 Sample Naming Structure 2-1 BASEstar Open Service Groups 2-2 Event Services Classes 2-3 Relationship between Event Services Objects 2-4 Creating Events, Enboxes and Event subscriptions 2-5 A Sample Event Declaration 2-6 Declaring and Receiving notifications 2-7 Packet Services Classes 2-8 Sending a Packet 2-9 Sending a Packet with Reply 2-10 Data Services Classes 2-11 Data_Point Value Source 2-12 A Producer with Consumers 2-13 Trigger and Filter Flowchart 2-14 A Sample Trigger with Filter 2-15 Device Services Classes 2-16 Application Services Classes 2-17 Nodes and Activities 2-18 Configuring Application Components with Programs and Activities 2-19 Programs and Program Executions (Program Kind is Different from ENCAPSULATED) 2-20 Management of a Distributed Application 2-21 Activity with Activity execution 2-22 Programs and Program Executions (Program Kind is Equal to ENCAPSULATED) 2-23 Management of a Distributed Application 2-24 Actors Grouping Activities 2-25 A BASEstar Open Realm 2-26 Sample Domains 2-27 A Sample Actor Sub-tree 2-28 Sample Programs 2-29 Sample Startup Priorities 2-30 Sample Startup Sequence Time Flow 2-31 Sample Shut-down Priorities 2-32 Sample Shut-down Sequence Time Flow 2-33 Operations on an Activity 2-34 Operations on an Activity 2-35 Actor_State Transition Diagram 2-36 Activity Master_State Transition Diagram (Program Kind is EVENT, DATA, PACKET, DEVICE or USER) 2-37 Activity Master_State Transition Diagram (Program kind is ENCAPSULATED) 3-1 BASEstar Open Class Hierarchy 4-1 BASEstar Open Device Classes 5-1 Class Statistics TABLES 1 Documentation Conventions 2-1 BASEstar Open Device Services and MMS Services 2-2 BASEstar Open Device Services Defined Classes 2-3 Actor_State Transition Diagram 2-4 Master_State Transition Diagram (Program Kind is EVENT, PACKET, DATA, DEVICE or USER) 2-5 Master_State Transition Diagram (Program kind is ENCAPSULATED)