Bibliographic record and links to related information available from the Library of Congress catalog.
Note: Contents data are machine generated based on pre-publication provided by the publisher. Contents may have variations from the printed book or be incomplete or contain other coding.
Contents CONTENTS I TABLE OF FIGURES XIII TABLE OF TABLES XVII ACKNOWLEDGMENTS 3 PREFACE 4 AUDIENCE 4 SCOPE 5 CONVENTIONS USED IN THIS BOOK 5 Source Code 5 Terminology 6 Unified Modeline Language (UML) 6 ORGANIZATION 6 ADDITIONAL MATERIAL AND AUTHOR CONTACT 6 PART I THE OPERATING ENVIRONMENT (OE) 1 CHAPTER 1 INTRODUCTION 3 1.1 SOFTWARE RADIOS 3 1.1.1 Software Radio Aspects 4 1.2 THE SOFTWARE COMMUNICATIONS ARCHITECTURE 6 1.2.1 The Evolution of the SCA 7 1.2.2 What is the SCA? 9 1.2.3 Common SCA Perceptions 10 1.2.4 Why Use the SCA? 11 1.3 THE OPERATING ENVIRONMENT 13 1.3.1 Conceptual Organization 14 1.3.2 OE Interface Constraints 15 1.4 THE SCA SPECIFICATION STRUCTURE 16 1.5 SUMMARY 20 1.6 EXERCISES 20 CHAPTER 2 OPERATIONAL SCENARIOS 21 2.1 STARTUP 23 2.2 SHUTDOWN 27 2.3 APPLICATION (UN)INSTALLATION 29 2.4 INSTANTIATE APPLICATION 31 2.5 CONTROL APPLICATION 34 2.6 SYSTEM CONFIGURATION 36 2.7 EXERCISES 36 CHAPTER 3 GENERAL REQUIREMENTS AND SERVICES 37 3.1 NON-FUNCTIONAL REQUIREMENTS 37 3.1.1 General Requirements 38 3.1.2 General Software Rules 39 3.1.3 Hardware Architecture Requirements 39 3.1.4 Interface Organization 40 3.2 NAME SERVICE 43 3.3 EVENT SERVICE 44 3.3.1 Event Types 46 3.4 LOG SERVICE 47 3.4.1 Data Types 49 3.4.2 Exceptions 49 InvalidLogFullAction 50 InvalidParam 50 3.4.3 Types 51 OperationalStateType 51 AdministrativeStateType 51 AvailabilityStatusType 51 LogFullActionType 52 LogLevelType 52 LogTimeType 54 LogRecordType 54 3.4.4 LogStatus Operations 54 getMaxSize 55 getCurrentSize 55 getNumRecords 55 getLogFullAction 56 getAvailabilityStatus 56 getAdministrativeStatus 56 getOperationalState 56 3.4.5 LogAdministrator Operations 56 setMaxSize 57 setLogFullAction 58 setAdministrativeState 58 clearLog 58 destroy 58 3.4.6 LogProducer Operations 59 ProducerLogRecordType 59 writeRecords 61 3.4.7 LogConsumer Operations 61 getRecordIDFromTime 62 retrieveById 63 3.5 FILESYSTEM 63 3.5.1 Exceptions 64 UnknownFileSystemProperties 64 3.5.2 Types and Constants 65 SIZE 65 AVAILABLE_SPACE 65 CREATED_TIME 65 MODIFIED_TIME 65 LAST_ACCESS_TIME 65 3.5.3 Types 66 FileType 66 FileInformationType 66 FileInformationSequence 67 3.5.4 Operations 67 create 67 copy 68 open 69 query 70 remove 71 exists 72 list 72 mkdir 73 rmdir 74 3.6 FILE 75 3.6.1 Exceptions 76 IOException 76 InvalidFilePointer 76 3.6.2 Attributes 76 fileName 76 filePointer 76 3.6.3 Operations 77 read 77 write 78 close 78 setFilePointer 79 sizeOf 80 3.7 EXERCISES 80 CHAPTER 4 FOUNDATION INTERFACES AND DATA TYPES 81 4.1 TESTABLEOBJECT 82 4.1.1 Exceptions 82 UnknownTest 82 4.1.2 Operations 82 runTest 82 4.2 PORTSUPPLIER 84 4.2.1 Exceptions 84 UnknownPort 84 4.2.2 Operations 84 getPort 84 4.3 LIFECYCLE 85 4.3.1 Exceptions 85 InitializeError 85 ReleaseError 86 4.3.2 Operations 86 initialize 86 releaseObject 86 4.4 PROPERTYSET 87 4.4.1 Exceptions 87 InvalidConfiguration 87 PartialConfiguration 87 4.4.2 Operations 87 configure 87 query 88 4.5 RESOURCE 89 4.5.1 Exceptions 89 StartError 89 StopError 90 4.5.2 Attributes 90 identifier 90 4.5.3 Operations 90 start 90 stop 91 4.6 RESOURCEFACTORY 92 4.6.1 Exceptions 92 InvalidResource 92 ShutdownFailure 92 CreateResourceFailure 93 4.6.2 Attributes 93 identifier 93 4.6.3 Operations 93 createResource 93 releaseResource 94 shutdown 95 4.7 PORT 96 4.7.1 Exceptions 97 InvalidPort 97 OccupiedPort 98 4.7.2 Operations 98 connectPort 98 disconnectPort 99 4.8 EXERCISES 99 CHAPTER 5 DEVICES AND THE DEVICE MANAGER 101 5.1 INTRODUCTION 101 5.1.1 SCA Device Abstraction 102 5.2 DEVICE 105 5.2.1 Exceptions 105 InvalidState 106 InvalidCapacity 106 5.2.2 Types and Constants 106 AdminType 106 OperationalType 106 UsageType 107 5.2.3 Attributes 107 Label 107 softwareProfile 107 compositeDevice 108 adminState 109 usageState 111 operationalState 113 5.2.4 Operations 114 allocateCapacity 114 deallocateCapacity 115 releaseObject 116 5.3 LOADABLEDEVICE 117 5.3.1 Types 118 LoadType 118 5.3.2 Exceptions 119 InvalidLoadKind 119 LoadFail 119 5.3.3 Operations 119 load 119 unload 121 5.4 EXECUTABLEDEVICE 123 5.4.1 Types and Constants 123 ProcessID_Type 123 STACK_SIZE 123 PRIORITY_ID 123 5.4.2 Exceptions 124 ExecuteFail 124 InvalidProcess 124 InvalidFunction 125 InvalidParameters 125 InvalidOptions 125 5.4.3 Operations 125 execute 125 terminate 128 5.5 AGGREGATEDEVICE 129 5.5.1 Types and Attributes 129 devices 129 5.5.2 Operations 129 addDevice 129 removeDevice 130 5.6 DEVICEMANAGER 131 5.6.1 Types 132 ServiceType 132 ServiceSequence 133 5.6.2 Attributes 133 deviceConfigurationProfile 133 fileSys 133 identifier 133 label 134 registeredDevices 134 registeredServices 134 5.6.3 Operations 135 registerDevice 137 registerService 139 unregisterDevice 141 unregisterService 141 getComponentImplementationId 142 shutdown 143 5.7 EXERCISES 144 CHAPTER 6 DOMAIN MANAGEMENT 145 6.1 DOMAINMANAGER 145 6.1.1 Types 146 ApplicationSequence 146 ApplicationFactorySequence 146 DeviceManagerSequence 147 6.1.2 Exceptions 147 ApplicationInstallError 147 InvalidIdentifier 147 DeviceManagerNotRegistered 147 ApplicationUninstallationError 147 RegisterError 148 UnregisterError 148 AlreadyConnected 148 InvalidEventChannel 148 NotConnected 148 6.1.3 Attributes 149 domainManagerProfile 149 deviceManagers 149 applications 150 applicationFactories 150 fileMgr 150 identifier 150 6.1.4 DomainManager Instantiation 151 6.1.5 Operations 152 registerDeviceManager 152 registerDevice 154 installApplication 156 unregisterDeviceManager 158 unregisterDevice 160 uninstallApplication 161 registerService 163 unregisterService 165 registerWithEventChannel 167 unregisterWithEventChannel 168 6.2 FILEMANAGER 168 6.2.1 Types 170 MountType 170 MountSequence 171 6.2.2 Exceptions 171 NonExistentMount 171 InvalidFileSystem 171 MountPointAlreadyExists 171 6.2.3 Operations 172 mount 172 unmount 172 getMounts 173 6.3 THE APPLICATION FACTORY 173 6.3.1 Exceptions 174 CreateApplicationRequestError 174 CreateApplicationError 174 InvalidInitConfiguration 175 6.3.2 Attributes 175 name 175 identifier 175 softwareProfile 175 6.3.3 Operations 176 create 176 6.4 APPLICATION 184 6.4.1 Types 185 ComponentProcessIdType 185 ComponentProcessIdSequence 185 ComponentElementType 185 ComponentElementSequence 185 6.4.2 Attributes 185 ComponentElementSequence 186 componentProcessIds 186 componentDevices 186 componentImplementations 186 profile 187 name 187 6.4.3 Operations 187 runTest, start, stop, configure, and query 187 initialize 188 releaseObject 188 getPort 190 6.4.4 General Requirements 191 6.5 EXERCISES 191 CHAPTER 7 OPERATING ENVIRONMENT SECURITY 192 7.1 CORE FRAMEWORK SECURITY REQUIREMENTS 192 7.1.1 Application 192 7.1.2 Application Factory 193 7.1.3 Domain Manager 193 7.2 EXERCISES 194 CHAPTER 8 CERTIFICATION 195 8.1 CERTIFICATION PROCESS 195 8.2 OPERATING ENVIRONMENT CERTIFICATION 196 8.2.1 OE-1 196 8.2.2 OE-2 198 8.2.3 OE-3 199 8.3 WAVEFORM ASSESSMENT AND CERTIFICATION 200 8.4 EXERCISES 201 PART II THE DOMAIN PROFILE 203 CHAPTER 9 THE DOMAIN PROFILE 205 9.1 OVERVIEW 205 9.2 SCA DOMAIN PROFILE XML 205 9.3 DOMAIN PROFILE DATA TYPES 208 CHAPTER 10 BASE DESCRIPTOR FILES 209 10.1 PROPERTIES DESCRIPTOR 209 10.1.1 Simple 210 10.1.2 Simple Sequence 212 10.1.3 Struct 213 10.1.4 Struct Sequence 213 10.1.5 Test 214 10.2 SOFTPKG 214 10.2.1 title 215 10.2.2 author 215 10.2.3 description 216 10.2.4 propertyfile 216 10.2.5 descriptor 216 10.2.6 implementation 216 code 217 OSGroup 218 10.3 SOFTWARE COMPONENT DESCRIPTOR 220 10.4 DEVICE PACKAGE DESCRIPTOR 222 CHAPTER 11 DEVICE CONFIGURATION DESCRIPTOR 225 11.1 OVERVIEW 225 11.2 DEVICECONFIGURATION 225 11.2.1 description 226 11.2.2 devicemanagersoftpkg 226 11.2.3 componentfiles 226 componentfile 227 11.2.4 partitioning 227 componentplacement 227 11.2.5 connections 229 11.2.6 domainmanager 229 11.2.7 filesystemnames 230 CHAPTER 12 THE DOMAIN MANAGER DESCRIPTOR 231 12.1 OVERVIEW 231 CHAPTER 13 THE SOFTWARE ASSEMBLY DESCRIPTOR 233 13.1 OVERVIEW 233 PART III BUILDING AN SCA COMPLIANT SYSTEM 241 CHAPTER 14 THE POSIX OPERATING SYSTEM 243 14.1 AN OPERATING ENVIRONMENT 243 14.2 LINUX 2.6 KERNEL 246 14.2.1 Unavailable POSIX Calls 252 14.2.2 More Unavailable POSIX Calls 261 CHAPTER 15 POSIX THREADS 266 15.1 THE THREAD OBJECT 267 15.2 UN-NAMED SEMAPHORES 270 15.3 MUTEX VARIABLES 273 15.4 THREAD ATTRIBUTES 277 15.5 CONDITIONAL VARIABLES 282 15.6 LESS INTERESTING THREAD CALLS 285 CHAPTER 16 ALL ORBS ARE NOT CREATED EQUAL 287 16.1 CORBA BASICS 289 16.1.1 Starting the Servant Object 291 16.1.2 Accessing the Object Reference 292 16.2 THE OBJECT MANAGEMENT GROUP 292 16.3 ?C? ORB VERSUS C++ ORBS 293 16.4 INITIAL SERVICES 295 16.4.1 Starting a Client 295 16.5 THE INTERFACE REPOSITORY 295 16.5.1 Type Codes 296 16.6 MINIMUM CORBA 296 16.7 THE PORTABLE OBJECT ADAPTER (POA) 298 16.7.1 Policy 299 16.7.2 Run-time performance 300 16.7.3 ORB Concurrency Models 300 16.7.4 One-ways, Two-ways and Blocking 302 16.8 REAL-TIME CORBA 303 16.9 OVERVIEW OF AVAILABLE ORB?S 304 16.9.1 TAO ORB 304 16.9.2 ORBexpress 305 16.9.3 ORBit2 305 16.9.4 MICO 305 16.9.5 OMNI 305 CHAPTER 17 THE SERVICES 307 17.1 INTEROPERABLE NAMING SERVICE 307 17.1.1 Universal Unique Identifiers 315 17.1.2 Core Framework Usage Of the Naming Service 316 17.1.3 Application Usage Of the Naming Service 316 17.2 EVENT SERVICE 316 17.2.1 Core Framework Usage Of the Event Service 327 17.2.2 Resource Usage Of the Event Service 328 17.3 LOG SERVICE 328 17.3.1 Core Framework Usage Of the Log Service 332 17.3.2 Resource Usage Of the Log Service 334 CHAPTER 18 EXPLORING THE DOMAIN 335 18.1 APPLICATION FACTORY ATTRIBUTES 336 18.2 APPLICATION ATTRIBUTES 337 18.3 DEVICEMANAGER ATTRIBUTES 341 18.4 DEVICE ATTRIBUTES 342 18.5 AGGREGATEDEVICE ATTRIBUTES 344 18.6 DOMAINMANAGER ATTRIBUTES 345 18.7 PROPERTIES 347 18.8 MANIPULATING PORTS 351 18.9 SUMMARY 351 CHAPTER 19 AN SCA-COMPLIANT APPLICATION 356 19.1 HELLOWORLD LEGACY APPLICATION 356 19.2 LEGACY HELLOWORLD SPD 360 19.3 HMI APPLICATIONS 363 19.4 SHUTTING DOWN 367 19.5 AN SCA-COMPLIANT HELLO WORLD APPLICATION 368 19.5.1 An SCA-compliant Terminal Device 368 19.5.2 Domain Profile for Terminal Device 375 19.5.3 An SCA-compliant Talk Application 379 19.5.4 Multi-threaded Servant 383 19.5.5 Talk Application XML 385 19.5.6 Modifications for Minimum CORBA Compliance 390 19.5.7 Concluding Remarks 391 APPENDIX A - MANDATORY POSIX CALLS 393 APPENDIX B - REFERENCES 395
Library of Congress Subject Headings for this publication:
Software radio.