appendix d-1: psm - document type … specification version: candidate release 27 december 2011 i 1...

82
SCA Specification Version: Candidate Release 27 December 2011 i 1 SOFTWARE COMMUNICATIONS ARCHITECTURE 2 SPECIFICATION 3 4 APPENDIX D-1: PSM - DOCUMENT TYPE DEFINITION (DTD) 5 6 7 8 9 27 December 2011 10 Version: Candidate Release 11 12 13 Prepared by: 14 15 JTRS Standards 16 Joint Program Executive Office (JPEO) for the Joint Tactical Radio System (JTRS) 17 33000 Nixie Way 18 San Diego, CA 92147-5110 19 20 21 22 Statement A - Approved for public release; distribution is unlimited (27 December 2011)

Upload: doanque

Post on 23-Jun-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

i

1

SOFTWARE COMMUNICATIONS ARCHITECTURE 2

SPECIFICATION 3

4

APPENDIX D-1: PSM - DOCUMENT TYPE DEFINITION (DTD) 5

6

7 8

9

27 December 2011 10

Version: Candidate Release 11

12

13

Prepared by: 14

15 JTRS Standards 16

Joint Program Executive Office (JPEO) for the Joint Tactical Radio System (JTRS) 17 33000 Nixie Way 18

San Diego, CA 92147-5110 19 20 21

22 Statement A - Approved for public release; distribution is unlimited (27 December 2011)

Page 2: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

ii

REVISION HISTORY 23

Version Revision Date

Next <Draft> Initial Draft Release 30 November 2010

Next <Draft>

1.0.0.2 Applied SCA Next Errata Sheet v2.0 14 September 2011

Candidate

Release Initial Release 27 December 2011

24

25

Page 3: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

iii

TABLE OF CONTENTS 26

APPENDIX D-1 PSM - DOCUMENT TYPE DEFINITION......................................................... 9 27

D-1.1 Scope........................................................................................................................................ 9 28

D-1.1 Conformance ........................................................................................................................ 10 29

D-1.2 Conventions .......................................................................................................................... 10 30

D-1.3 Normative References .......................................................................................................... 10 31

D-1.4 Informative References ....................................................................................................... 10 32

D-1.5 Software Package Descriptor .............................................................................................. 10 33

D-1.5.1 Software Package ....................................................................................................... 10 34

D-1.5.1.1 title ............................................................................................................................ 12 35

D-1.5.1.2 author ........................................................................................................................ 12 36

D-1.5.1.3 description ................................................................................................................ 13 37

D-1.5.1.4 propertyfile ............................................................................................................... 13 38

D-1.5.1.4.1 localfile............................................................................................................. 13 39

D-1.5.1.5 descriptor .................................................................................................................. 13 40

D-1.5.1.6 implementation ......................................................................................................... 14 41

D-1.5.1.6.1 description ........................................................................................................ 15 42

D-1.5.1.6.2 propertyfile ....................................................................................................... 15 43

D-1.5.1.6.3 code .................................................................................................................. 15 44

D-1.5.1.6.4 compiler ........................................................................................................... 17 45

D-1.5.1.6.5 programminglanguage ..................................................................................... 17 46

D-1.5.1.6.6 humanlanguage ................................................................................................ 17 47

D-1.5.1.6.7 runtime ............................................................................................................. 17 48

D-1.5.1.6.8 os ...................................................................................................................... 17 49

D-1.5.1.6.9 processor .......................................................................................................... 18 50

D-1.5.1.6.10 dependency ..................................................................................................... 18 51

D-1.5.1.6.11 usesdevice ...................................................................................................... 20 52

D-1.6 Device Package Descriptor .................................................................................................. 22 53

D-1.6.1 Device Package .......................................................................................................... 22 54

D-1.6.1.1 title ............................................................................................................................ 23 55

D-1.6.1.2 author ........................................................................................................................ 23 56

Page 4: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

iv

D-1.6.1.3 description ................................................................................................................ 23 57

D-1.6.1.4 hwdeviceregistration ................................................................................................ 23 58

D-1.6.1.4.1 propertyfile ....................................................................................................... 24 59

D-1.6.1.4.2 description ........................................................................................................ 25 60

D-1.6.1.4.3 manufacturer .................................................................................................... 25 61

D-1.6.1.4.4 modelnumber .................................................................................................... 25 62

D-1.6.1.4.5 deviceclass ....................................................................................................... 25 63

D-1.6.1.4.6 childhwdevice ................................................................................................... 25 64

D-1.7 Properties Descriptor........................................................................................................... 27 65

D-1.7.1 properties.................................................................................................................... 27 66

D-1.7.1.1 simple ....................................................................................................................... 28 67

D-1.7.1.1.1 description ........................................................................................................ 29 68

D-1.7.1.1.2 value ................................................................................................................. 29 69

D-1.7.1.1.3 units .................................................................................................................. 29 70

D-1.7.1.1.4 range ................................................................................................................ 29 71

D-1.7.1.1.5 enumerations .................................................................................................... 29 72

D-1.7.1.1.6 kind ................................................................................................................... 30 73

D-1.7.1.1.7 action ................................................................................................................ 31 74

D-1.7.1.2 simplesequence ......................................................................................................... 31 75

D-1.7.1.3 test ............................................................................................................................ 32 76

D-1.7.1.3.1 inputvalue ......................................................................................................... 33 77

D-1.7.1.3.2 resultvalue ........................................................................................................ 33 78

D-1.7.1.4 struct ......................................................................................................................... 33 79

D-1.7.1.4.1 configurationkind ............................................................................................. 34 80

D-1.7.1.5 structsequence .......................................................................................................... 35 81

D-1.8 Software Component Descriptor ........................................................................................ 37 82

D-1.8.1 softwarecomponent .................................................................................................... 37 83

D-1.8.1.1 componentrepid ........................................................................................................ 38 84

D-1.8.1.2 componenttype ......................................................................................................... 38 85

D-1.8.1.3 componentfeatures .................................................................................................... 38 86

D-1.8.1.3.1 supportsinterface .............................................................................................. 39 87

D-1.8.1.3.2 ports ................................................................................................................. 39 88

Page 5: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

v

D-1.8.1.4 interfaces .................................................................................................................. 41 89

D-1.8.1.5 propertyfile ............................................................................................................... 41 90

D-1.9 Software Assembly Descriptor............................................................................................ 42 91

D-1.9.1 softwareassembly ....................................................................................................... 42 92

D-1.9.1.1 description ................................................................................................................ 43 93

D-1.9.1.2 componentfiles ......................................................................................................... 44 94

D-1.9.1.2.1 componentfile ................................................................................................... 44 95

D-1.9.1.3 partitioning ............................................................................................................... 44 96

D-1.9.1.3.1 componentplacement ........................................................................................ 45 97

D-1.9.1.3.2 hostcollocation ................................................................................................. 50 98

D-1.9.1.3.3 assemblyplacement........................................................................................... 50 99

D-1.9.1.4 deploymentdependencies .......................................................................................... 53 100

D-1.9.1.5 deploymentprefs ....................................................................................................... 55 101

D-1.9.1.6 assemblycontroller .................................................................................................... 55 102

D-1.9.1.7 connections ............................................................................................................... 56 103

D-1.9.1.7.1 connectinterface ............................................................................................... 56 104

D-1.9.1.8 externalports ............................................................................................................. 62 105

D-1.10 Device Configuration Descriptor ........................................................................................ 64 106

D-1.10.1 deviceconfiguration.................................................................................................... 64 107

D-1.10.1.1 description ................................................................................................................ 65 108

D-1.10.1.2 devicemanagersoftpkg .............................................................................................. 65 109

D-1.10.1.3 componentfiles ......................................................................................................... 65 110

D-1.10.1.4 partitioning ............................................................................................................... 65 111

D-1.10.1.4.1 componentplacement ...................................................................................... 65 112

D-1.10.1.5 connections ............................................................................................................... 72 113

D-1.10.1.6 domainmanager ........................................................................................................ 72 114

D-1.10.1.7 filesystemnames ....................................................................................................... 72 115

D-1.11 DomainManager Configuration Descriptor ...................................................................... 74 116

D-1.11.1 domainmanagerconfiguration .................................................................................... 74 117

D-1.11.1.1 description ................................................................................................................ 74 118

D-1.11.1.2 domainmanagersoftpkg ............................................................................................ 75 119

D-1.11.1.3 deploymentlayout ..................................................................................................... 75 120

Page 6: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

vi

D-1.11.1.4 services ..................................................................................................................... 75 121

D-1.11.1.4.1 service ............................................................................................................ 76 122

D-1.12 Platform Deployment Descriptor ....................................................................................... 77 123

D-1.12.1 deploymentplatform ................................................................................................... 77 124

D-1.12.1.1 description ................................................................................................................ 77 125

D-1.12.1.2 channel ...................................................................................................................... 78 126

D-1.12.1.2.1 devicelist......................................................................................................... 78 127

D-1.12.1.2.2 servicelist ....................................................................................................... 79 128

D-1.13 Application Deployment Descriptor ................................................................................... 80 129

D-1.13.1 deploymentprecedence ............................................................................................... 80 130

D-1.13.1.1 description ................................................................................................................ 80 131

D-1.13.1.2 deploymentoption ..................................................................................................... 80 132

D-1.13.1.2.1 description ...................................................................................................... 81 133

D-1.13.1.2.2 channelref....................................................................................................... 81 134

D-1.14 Attachments .......................................................................................................................... 82 135

136

137

Page 7: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

vii

LIST OF FIGURES 138

Figure 1: softpkg Element Relationships ...................................................................................... 11 139

Figure 2: author Element Relationships ........................................................................................ 12 140

Figure 3: implementation Element Relationships ......................................................................... 14 141

Figure 4: code Element Relationships .......................................................................................... 16 142

Figure 5: dependency Element Relationships ............................................................................... 19 143

Figure 6: softpkgref Element Relationships ................................................................................. 20 144

Figure 7: devicepkg Element Relationships ................................................................................. 22 145

Figure 8: hwdeviceregistration Element Relationships ................................................................ 24 146

Figure 9: childhwdevice Element Relationships........................................................................... 26 147

Figure 10: properties Element Relationships ................................................................................ 27 148

Figure 11: simple Element Relationships ..................................................................................... 28 149

Figure 12: simplesequence Element Relationships ....................................................................... 32 150

Figure 13: test Element Relationships .......................................................................................... 33 151

Figure 14: struct Element Relationships ....................................................................................... 34 152

Figure 15: structsequence Element Relationships ........................................................................ 35 153

Figure 16: softwarecomponent Element Relationships ................................................................ 37 154

Figure 17: componentfeatures Element Relationships ................................................................. 38 155

Figure 18: ports Element Relationships ........................................................................................ 40 156

Figure 19: softwareassembly Element Relationships ................................................................... 43 157

Figure 20: partitioning Element Relationships ............................................................................. 44 158

Figure 21: componentplacement Element Relationships .............................................................. 45 159

Figure 22: componentinstantiation Element Relationships .......................................................... 46 160

Figure 23: findcomponent Element Relationships ........................................................................ 47 161

Figure 24: componentfactoryref Element Relationships .............................................................. 48 162

Figure 25: componentfactoryproperties Element Relationships ................................................... 49 163

Figure 26: assemblyplacement Element Relationships................................................................. 51 164

Figure 27: assemblyinstantiation Element Relationships ............................................................. 52 165

Figure 28: componentproperties Element Relationships .............................................................. 53 166

Figure 29: deploymentdependencies Element Relationships ....................................................... 54 167

Figure 30: assemblycontroller Element Relationships ................................................................. 55 168

Page 8: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

viii

Figure 31: connectinterface Element Relationships ..................................................................... 56 169

Figure 32: usesport Element Relationships................................................................................... 57 170

Figure 33: providesport Element Relationships ............................................................................ 60 171

Figure 34: componentsupportedinterface Element Relationships ................................................ 61 172

Figure 35: port Element Relationships ......................................................................................... 63 173

Figure 36: deviceconfiguration Element Relationships ................................................................ 64 174

Figure 37: componentplacement Element Relationships .............................................................. 66 175

Figure 38: componentinstantiation Element Relationships .......................................................... 68 176

Figure 39: componentproperties Element Relationships .............................................................. 69 177

Figure 40: componentfactoryref Element Relationships .............................................................. 70 178

Figure 41: componentfactoryproperties Element Relationships ................................................... 71 179

Figure 42: domainmanagerconfiguration Element Relationships ................................................. 74 180

Figure 43: services Element Relationships ................................................................................... 75 181

Figure 44: service Element Relationships..................................................................................... 76 182

Figure 45: deploymentplatform Element Relationships ............................................................... 77 183

Figure 46: channel Element Relationships ................................................................................... 78 184

Figure 47: deploymentprecedence Element Relationships ........................................................... 80 185

Figure 48: deploymentoption Element Relationships ................................................................... 81 186

187

Page 9: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

9

APPENDIX D-1 PSM - DOCUMENT TYPE DEFINITION 188

D-1.1 SCOPE 189

This appendix defines the SCA Domain Profiles using XML Document Type Definition (DTD) 190

files. 191

SCA501 DTD files are installed in the domain and shall have “.dtd” as their filename extension. 192

SCA502 All XML files shall have as the first two lines as an XML declaration (?xml) and a 193

document type declaration (!DOCTYPE). The XML declaration specifies the XML version and 194

whether the document is standalone. The document type declaration specifies the DTD for the 195

document. Example declarations are as follows: 196

<?xml version=”1.0” standalone=”no”?> 197

<!DOCTYPE softwareassembly SYSTEM “softwareassembly.dtd”> 198

199

Page 10: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

10

D-1.1 CONFORMANCE 200

See SCA Appendix D. 201

D-1.2 CONVENTIONS 202

N/A 203

D-1.3 NORMATIVE REFERENCES 204

The following documents contain provisions or requirements which by reference constitute 205

requirements of this appendix. 206

[1] Common Object Request Broker Architecture (CORBA) Specification, Version 3.2 Part 207

1: CORBA Interfaces, formal/2011-11-01, November 2011. 208

D-1.4 INFORMATIVE REFERENCES 209

N/A 210

D-1.5 SOFTWARE PACKAGE DESCRIPTOR 211

The Software Package Descriptor (SPD) is used at deployment time to load a component and its 212

various implementations. The information contained in the SPD will provide the basis for the 213

domain management function to manage the component within the SCA architecture. 214

The SPD may contain various implementations of any given component. Within the 215

specification of an SPD several other files are referenced including a component level 216

propertyfile and a software component descriptor file. Within any given implementation there 217

may be additional propertyfiles. 218

SCA503 A Software Package Descriptor file shall have a “.spd.xml” extension. 219

D-1.5.1 Software Package 220

The softpkg element (Figure 1) indicates an SPD definition. The softpkg id uniquely identifies 221

the package. The softpkg id attribute definition guarantees uniqueness within an XML 222

document, however an implementation specific approach must be utilized to maintain uniqueness 223

within a Domain Profile. The name attribute is a user-friendly label for the softpkg element. The 224

type attribute indicates whether or not the component implementation is SCA compliant. All 225

files referenced by a Software Package are located in the same directory as the SPD file or a 226

directory that is relative to the directory where the SPD file is located. 227

A software package requires at least one implementation. An implementation is a monolithic 228

loadable/executable artifact. A single monolithic loadable/executable artifact is for a General 229

Purpose Processor, Digital Signal Processor or Field Gate Array Processor. 230

Page 11: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

11

231 class softpkg

«DTDSequenceGroup»

softpkg_grp1

«DTDElement»

softpkg

- id: ID

- name: CDATA

- type: (sca_compliant | sca_non_compliant) = sca_compliant

- version: CDATA

«DTDElementPCDATA»

title

«DTDElement»

author

«DTDElement»

description

«DTDElement»

propertyfile

- type: CDATA

«DTDElement»

descriptor

- name: CDATA

«DTDElement»

implementation

- aepcompliance: (aep_compliant | lw_aep_compliant | aep_non_compliant) = aep_compliant

- id: ID

«DTDElement»

usesdev ice

- id: ID

- type: CDATA

0..*

1..*

0..10..1

0..1

1..*

0..1

232

Figure 1: softpkg Element Relationships 233

The set of properties to be used for a Software Package come from the union of these properties 234

sources using the following precedence order: 235

1. SPD Implementation Properties 236

2. SPD level properties 237

3. SCD properties 238

Any duplicate properties having the same id are ignored. Duplicated properties must be the same 239

property type, only the value can be over-ridden. The implementation properties are only used 240

for the initial configuration and creation of a component by an ApplicationFactoryComponent 241

and cannot be referenced by a Software Assembly Descriptor (SAD) componentinstantiation, 242

componentproperties or componentfactoryproperties element. 243

<!ELEMENT softpkg 244

( title? 245 , author+ 246

, description? 247 , propertyfile? 248 , descriptor? 249

, implementation+ 250

Page 12: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

12

, usesdevice* 251 )> 252

<!ATTLIST softpkg 253 id ID #REQUIRED 254 name CDATA #REQUIRED 255 type (sca_compliant | sca_non_compliant) "sca_compliant" 256

version CDATA #IMPLIED > 257

D-1.5.1.1 title 258

The title element is used for indicating a title for the software component being installed in 259

accordance with the softpkg element. 260

<!ELEMENT title (#PCDATA)> 261

D-1.5.1.2 author 262

The author element (see Figure 2) is used to indicate the name of the person, the company, and 263

the web page of the developer producing the component being installed into the system. 264

class author

«DTDElement»

author

«DTDSequenceGroup»

author_grp

«DTDElementPCDATA»

name

«DTDElementPCDATA»

company

«DTDElementPCDATA»

webpage

0..10..10..*

265

Figure 2: author Element Relationships 266

<!ELEMENT author 267

( name* 268 , company? 269 , webpage? 270

)> 271 <!ELEMENT name (#PCDATA)> 272 <!ELEMENT company (#PCDATA)> 273

Page 13: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

13

<!ELEMENT webpage (#PCDATA)> 274

D-1.5.1.3 description 275

The description element is used to describe any pertinent information about the software 276

component being delivered to the system. 277

<!ELEMENT description (#PCDATA)> 278

D-1.5.1.4 propertyfile 279

The propertyfile element is used to indicate the local filename of the Property Descriptor (PRF) 280

file associated with the Software Package. The intent of the propertyfile will be to provide the 281

definition of properties elements common to all component implementations being deployed in 282

accordance with the Software Package (softpkg). PRF files may also contain properties elements 283

that are used in definition of command and control id value pairs used by the SCA Resource 284

configure() and query() operations. The format of the properties element is described in the PRF 285

(Section D-1.7.1). 286

<!ELEMENT propertyfile 287

( localfile 288 )> 289 <!ATTLIST propertyfile 290

type CDATA #IMPLIED> 291

D-1.5.1.4.1 localfile 292

The localfile element is used to reference a file in the same directory as the SPD file or a 293

directory that is relative to the directory where the SPD file is located. When the name attribute 294

is a simple name, the file exists in the same directory as the SPD file. A relative directory 295

indication begins either with “../” meaning parent directory and “./” means current directory in 296

the name attribute. Multiple “../” and directory names can follow the initial “../” in the name 297

attribute. All name attributes must have a simple name at the end of the file name. 298

<!ELEMENT localfile EMPTY> 299 <!ATTLIST localfile 300 name CDATA #REQUIRED> 301

D-1.5.1.5 descriptor 302

The descriptor element points to the local filename of the Software Component Descriptor 303

(SCD) file used to document the interface information for the component being delivered to the 304

system. In the case of an SCA component, the SCD will contain information about three aspects 305

of the component (the component type, message ports, and interface definitions). The SCD file 306

is optional (see section D-1.8 on software component descriptor file). 307

<!ELEMENT descriptor 308 (localfile 309 )> 310 <!ATTLIST descriptor 311

name CDATA #IMPLIED> 312

Page 14: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

14

D-1.5.1.6 implementation 313

The implementation element (see Figure 3) contains descriptive information about the particular 314

implementation template for a software component contained in the softpkg element. The 315

implementation element is intended to allow multiple component templates to be delivered to the 316

system in one Software Package. Each implementation element is intended to allow the same 317

component to support different types of processors, operating systems, etc. The implementation 318

element will also allow definition of implementation-dependent properties for use in Device, 319

Application, or Resource creation. The implementation element’s id attribute uniquely identifies 320

a specific implementation of the component and an implementation specific approach is required 321

to maintain uniqueness within a Domain Profile. The compiler, programminglanguage, 322

humanlanguage, os, processor, and runtime elements are optional dependency elements. 323

class implementation

«DTDElement»

compiler

- name: CDATA

- version: CDATA

«DTDElement»

implementation

- aepcompliance: (aep_compliant | lw_aep_compliant | aep_non_compliant) = aep_compliant

- id: ID

«DTDElement»

code

- type: CDATA

«DTDSequenceGroup»

implementation_grp1

«DTDElement»

description

«DTDElement»

propertyfile

- type: CDATA

«DTDElement»

dependency

- type: CDATA

«DTDElementEmpty»

humanlanguage

- name: CDATA

«DTDChoiceGroup»

implementation_grp1_grp8

«DTDElementEmpty»

programminglanguage

- name: CDATA

- version: CDATA

«DTDElementEmpty»

runtime

- name: CDATA

- version: CDATA

«DTDElementEmpty»

os

- name: CDATA

- version: CDATA

«DTDElementEmpty»

processor

- name: CDATA

«DTDElement»

usesdev ice

- id: ID

- type: CDATA

0..1

0..*

0..1

1..*

0..1

0..1

0..1

0..1

324

Figure 3: implementation Element Relationships 325

<!ELEMENT implementation 326 ( description? 327 , propertyfile? 328

, code 329

Page 15: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

15

, compiler? 330 , programminglanguage? 331

, humanlanguage? 332 , runtime? 333 , ( os | processor | dependency )+ 334

, usesdevice* 335

)> 336 <!ATTLIST implementation 337 id ID #REQUIRED 338

aepcompliance (aep_compliant | lw_aep_compliant | 339 aep_non_compliant) “aep_compliant”> 340

D-1.5.1.6.1 description 341

The description element is used to describe any pertinent information about the software 342

component implementation that the software developer wishes to document within the software 343

package profile. 344

<!ELEMENT description (#PCDATA)> 345

D-1.5.1.6.2 propertyfile 346

The propertyfile element is used to indicate the local filename of the PRF file associated with 347

this component package described by the implementation element. Although the SCA does not 348

restrict the specific use of the PRF file based on context, it is intended within the implementation 349

element to provide component implementation specific properties elements for use in command 350

and control id value pair settings to the Resource configure() and query() interfaces. See section 351

D-1.7.1 on the description of the properties element format in the PRF. 352

<!ELEMENT propertyfile 353

(localfile 354 )> 355 <!ATTLIST propertyfile 356 type CDATA #IMPLIED> 357

358 <!ELEMENT localfile EMPTY> 359 <!ATTLIST localfile 360

name CDATA #REQUIRED> 361

D-1.5.1.6.3 code 362

The code element (see Figure 4) is used to indicate the local filename of the code that is 363

described by the softpkg element, for a specific implementation of the software component. The 364

stacksize and priority are options parameters used by the ExecutableDevice execute operation. 365

Data types for the values of these options are unsigned long. The type attribute for the code 366

element will also indicate the type of file being delivered to the system. The entrypoint element 367

provides the means for providing the name of the entry point of the component being delivered. 368

The valid values for the type attribute are: “Executable”, “KernelModule”, “SharedLibrary”, and 369

“Driver.” 370

Page 16: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

16

The meaning of the code type attribute: 371

1. Executable means to use LoadableDeviceObject::load and ExecutableDevice::execute 372

operations. This is a “main” process. 373

2. Driver and Kernel Module means load only. 374

3. SharedLibrary means dynamic linking. 375

4. Without a code entrypoint element means load only. 376

5. With a code entrypoint element means load and ExecutableDevice::execute. 377

class code

«DTDElement»

code

- type: CDATA

«DTDElementEmpty»

localfile

- name: CDATA

«DTDElementPCDATA»

priority

«DTDElementPCDATA»

stacksize«DTDElementPCDATA»

entrypoint

«DTDSequenceGroup»

code_grp1

0..1 0..1 0..1

378

Figure 4: code Element Relationships 379

380 <!ELEMENT code 381 ( localfile 382 , entrypoint? 383

, stacksize? 384 , priority? 385 )> 386 <!ATTLIST code 387

type CDATA #IMPLIED> 388 389 <!ELEMENT localfile EMPTY> 390

<!ATTLIST localfile 391 name CDATA #REQUIRED> 392 393 <!ELEMENT entrypoint (#PCDATA)> 394

395 <!ELEMENT stacksize (#PCDATA)> 396 397

Page 17: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

17

<!ELEMENT priority (#PCDATA)> 398

D-1.5.1.6.4 compiler 399

The compiler element is used to indicate the compiler used to build the software component 400

being described by the softpkg element. The required name attribute will specify the name of the 401

compiler used, and the version attribute will contain the compiler version. 402

<!ELEMENT compiler EMPTY> 403

<!ATTLIST compiler 404 name CDATA #REQUIRED 405 version CDATA #IMPLIED> 406

D-1.5.1.6.5 programminglanguage 407

The programminglanguage element is used to indicate the type of programming language used 408

to build the component implementation. The required name attribute will specify a language 409

such as “c”, “c++”, or “java”. 410

<!ELEMENT programminglanguage EMPTY> 411

<!ATTLIST programminglanguage 412 name CDATA #REQUIRED 413 version CDATA #IMPLIED> 414

D-1.5.1.6.6 humanlanguage 415

The humanlanguage element is used to indicate the human language for which the software 416

component was developed. 417

<!ELEMENT humanlanguage EMPTY> 418

<!ATTLIST humanlanguage 419 name CDATA #REQUIRED> 420

D-1.5.1.6.7 runtime 421

The runtime element specifies a runtime required by a component implementation. An example 422

of the runtime is a Java VM. 423

<!ELEMENT runtime EMPTY> 424

<!ATTLIST runtime 425 name CDATA #REQUIRED 426 version CDATA #IMPLIED> 427

D-1.5.1.6.8 os 428

The os element is used to indicate the operating system on which the software component is 429

capable of operating. The required name attribute will indicate the name of the operating system 430

and the version attribute will contain the operating system. The os attributes will be defined in a 431

property file as an allocation property of string type and with names os_name and os_version and 432

with an action element value other than “external”. The os element is automatically interpreted 433

as a dependency and compared against allocation properties with names of os_name and 434

os_version. The os_name attribute allocation property is defined in Attachment 1 to this 435

appendix. 436

Page 18: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

18

<!ELEMENT os EMPTY> 437 <!ATTLIST os 438

name CDATA #REQUIRED 439 version CDATA #IMPLIED> 440

D-1.5.1.6.9 processor 441

The processor element is used to indicate the processor and/or processor family on which this 442

software component will operate. The processor name attribute will be defined in a property file 443

as an allocation property of string type and with a name of processor_name and with an action 444

element value other than “external”. The processor element is automatically interpreted as a 445

dependency and compared against an allocation property with a name of processor_name. The 446

processor_name attribute allocation property is defined in Attachment 1 to this appendix. 447

<!ELEMENT processor EMPTY> 448 <!ATTLIST processor 449

name CDATA #REQUIRED> 450

D-1.5.1.6.10 dependency 451

The dependency element (see Figure 5) is used to indicate the dependent relationships between 452

the components being delivered and other components and devices, in an SCA compliant system. 453

The softpkgref element is used to specify a Software Package file that must be resident within the 454

system for the component, described by this softpkg element, to load without errors. The 455

propertyref will reference a specific allocation property, using a unique identifier, and provide 456

the value that will be used by a ComponentBaseDevice capacity model. 457

A DomainManagerComponent and DeviceManagerComponent will use these dependency 458

definitions to assure that components and devices that are necessary for proper operation of the 459

implementation are present and available. The type attribute is descriptive information 460

indicating the type of dependency. 461

Page 19: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

19

class dependency

«DTDElement»

dependency

- type: CDATA

«DTDSequenceGroup»

dependency_grp

«DTDElementEmpty»

propertyref

- refid: CDATA

- value: CDATA

«DTDElement»

softpkgref

462

Figure 5: dependency Element Relationships 463

<!ELEMENT dependency 464

( softpkgref | propertyref )> 465 <!ATTLIST dependency 466

type CDATA #REQUIRED> 467

D-1.5.1.6.10.1 softpkgref

The softpkgref element (see Figure 6) refers to a softpkg element contained in another SPD file 468

and indicates a file-load dependency on that file. The other file is referenced by the localfile 469

element. An optional implref element refers to a particular implementation-unique identifier, 470

within the SPD of the other file. 471

Page 20: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

20

class softpkgref

«DTDElementEmpty»

implref

- refid: CDATA

«DTDElementEmpty»

localfile

- name: CDATA

«DTDSequenceGroup»

softpkref_grp1

«DTDElement»

softpkgref

0..1

472

Figure 6: softpkgref Element Relationships 473

<!ELEMENT softpkgref 474

( localfile 475 , implref? 476 )> 477

478 <!ELEMENT implref EMPTY> 479 <!ATTLIST implref 480 refid CDATA #REQUIRED> 481

D-1.5.1.6.10.2 propertyref

The propertyref element is used to indicate a unique refid attribute that references a simple 482

allocation property, defined in the package, and a property value attribute used by the domain 483

Management function to perform the dependency check. 484

<!ELEMENT propertyref EMPTY> 485 <!ATTLIST propertyref 486 refid CDATA #REQUIRED 487

value CDATA #REQUIRED> 488

D-1.5.1.6.11 usesdevice 489

The usesdevice element describes any “uses” relationships this component has with a device in 490

the system. The propertyref element references allocation properties, which indicate the 491

ComponentBaseDevice to be used, and/or the capacity needed from the ComponentBaseDevice 492

to be used. 493

<!ELEMENT usesdevice 494

( propertyref+ )> 495

Page 21: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

21

<!ATTLIST usesdevice 496

id ID #REQUIRED 497

type CDATA #REQUIRED> 498

D-1.5.1.6.11.1 propertyref

See D-1.5.1.6.10.2 for a definition of the propertyref element. 499

Page 22: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

22

D-1.6 DEVICE PACKAGE DESCRIPTOR 500

The SCA Device Package Descriptor (DPD) is the part of a Device Profile that contains 501

hardware device Registration attributes, which are typically used by a Human Computer 502

Interface application to display information about the device(s) resident in an SCA-compliant 503

radio system. DPD information is intended to provide hardware configuration and revision 504

information to a radio operator or to radio maintenance personnel. A DPD may be used to 505

describe a single hardware element residing in a radio or it may be used to describe the complete 506

hardware structure of a radio. 507

SCA504 A Device Package Descriptor File shall have a “.dpd.xml” extension. 508

D-1.6.1 Device Package 509

The devicepkg element (see Figure 7) is the root element of the DPD. The devicepkg id attribute 510

uniquely identifies the package and an implementation specific approach is required to maintain 511

uniqueness within a Domain Profile. The version attribute specifies the version of the devicepkg. 512

The format of the version string is numerical major and minor version numbers separated by 513

commas (e.g., "1,0,0,0"). The name attribute is a user-friendly label for the devicepkg. 514

class dev icepkg

«DTDSequenceGroup»

dev icepkg_grp1

«DTDElement»

dev icepkg

- id: ID

- name: CDATA

- version: CDATA

«DTDElement»

hwdev iceregistration

- id: ID

- name: CDATA

- version: CDATA

«DTDElementPCDATA»

title

«DTDElement»

author

«DTDElement»

description

0..1 1..*

0..1

515

Figure 7: devicepkg Element Relationships 516

Page 23: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

23

<!ELEMENT devicepkg 517 ( title? 518

, author+ 519 , description? 520 , hwdeviceregistration 521

)> 522

<!ATTLIST devicepkg 523 id ID #REQUIRED 524 name CDATA #REQUIRED 525

version CDATA #IMPLIED> 526

D-1.6.1.1 title 527

The title element is used for indicating a title for the hardware device being described by 528

devicepkg. 529

<!ELEMENT title (#PCDATA)> 530

D-1.6.1.2 author 531

See D-1.5.1.2 for a definition of the author element. 532

D-1.6.1.3 description 533

The description element is used to describe any pertinent information about the device 534

implementation that the hardware developer wishes to document within the DPD. 535

<!ELEMENT description (#PCDATA)> 536

D-1.6.1.4 hwdeviceregistration 537

The hwdeviceregistration element (see Figure 8) provides device-specific information for a 538

hardware device. The hwdeviceregistration id attribute uniquely identifies the device and an 539

implementation specific approach is required to maintain uniqueness within a Domain Profile. 540

The version attribute specifies the version of the hwdeviceregistration element. The format of 541

the version string is numerical major and minor version numbers separated by commas (e.g., 542

"1,0,0,0"). The name attribute is a user-friendly label for the hardware device being registered. 543

At a minimum, the hwdeviceregistration element must include a description, the manufacturer, 544

the model number and the device’s hardware class(es). 545

Page 24: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

24

class hwdev iceregistration

«DTDElement»

dev iceclass

«DTDSequenceGroup»

hwdev iceregistration_grp1

«DTDElement»

hwdev iceregistration

- id: ID

- name: CDATA

- version: CDATA

«DTDElement»

description«DTDElement»

propertyfile

- type: CDATA

«DTDElementPCDATA»

manufacturer

«DTDElementPCDATA»

modelnumber

«DTDElement»

childhwdev ice0..*

0..1

546

Figure 8: hwdeviceregistration Element Relationships 547

<!ELEMENT hwdeviceregistration 548 ( propertyfile? 549

, description 550 , manufacturer 551 , modelnumber 552 , deviceclass 553

, childhwdevice* 554 )> 555 <!ATTLIST hwdeviceregistration 556

id ID #REQUIRED 557 name CDATA #REQUIRED 558 version CDATA #IMPLIED> 559

D-1.6.1.4.1 propertyfile 560

The propertyfile element is used to indicate the local filename of the property file associated with 561

the hwdeviceregistration element. The format of a property file is described in the Properties 562

Descriptor (Section D-1.7). 563

The intent of the property file is to provide the definition of properties elements for the hardware 564

device being deployed and described in the Device Package (devicepkg) or hwdeviceregistration 565

element. 566

Page 25: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

25

<!ELEMENT propertyfile 567 ( localfile 568

)> 569 <!ATTLIST propertyfile 570

type CDATA #IMPLIED> 571 572

<!ELEMENT localfile EMPTY> 573 <!ATTLIST localfile 574

name CDATA #REQUIRED> 575

D-1.6.1.4.2 description 576

See D-1.5.1.3 for definition of the description element. 577

D-1.6.1.4.3 manufacturer 578

The manufacturer element is used to convey the name of manufacturer of the device being 579

installed. 580

<!ELEMENT manufacturer (#PCDATA)> 581

D-1.6.1.4.4 modelnumber 582

The modelnumber element is used to indicate the manufacture's model number, for the device 583

being installed. 584

<!ELEMENT modelnumber (#PCDATA)> 585

D-1.6.1.4.5 deviceclass 586

The deviceclass element is used to identify one or more hardware classes that make up the device 587

being installed. 588

<!ELEMENT deviceclass 589 ( class+ 590

)> 591 <!ELEMENT class (#PCDATA)> 592

D-1.6.1.4.6 childhwdevice 593

The childhwdevice element (see Figure 9) indicates additional device-specific information for 594

hardware devices that make up the root or parent hardware device registration. An example of 595

childhwdevice would be a radio's RF module that has receiver and exciter functions within it. In 596

this case, a ComponentBaseDevice representing the RF module itself would be a parent 597

ComponentBaseDevice with its DPD, and the receiver and exciter are child devices to the 598

module. The parent / child relationship indicates that when the RF module is removed from the 599

system, the receiver and exciter devices are also removed. 600

Page 26: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

26

class childhwdev ice

«DTDEleme...

dev icepkgref

- type: CDATA

«DTDElement»

hwdev iceregistration

- id: ID

- name: CDATA

- version: CDATA

«DTDChoiceGroup»

childhwdev ice_grp1

«DTDElement»

childhwdev ice

601

Figure 9: childhwdevice Element Relationships 602

<!ELEMENT childhwdevice 603

( hwdeviceregistration | devicepkgref )> 604

D-1.6.1.4.6.1 hwdeviceregistration

The hwdeviceregistration element provides device-specific information for the child hardware 605

device. See D-1.6.1.4 for definition of the hwdeviceregistration element. 606

D-1.6.1.4.6.2 devicepkgref

The devicepkgref element is used to indicate the local filename of a DPD file pointed to by a 607

DPD (e.g., a devicepkg within a devicepkg). 608

<!ELEMENT devicepkgref 609

( localfile )> 610

<!ATTLIST devicepkgref 611

type CDATA #IMPLIED> 612

Page 27: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

27

D-1.7 PROPERTIES DESCRIPTOR 613

The Properties Descriptor (PRF) file details component and device attribute settings. For 614

purposes of the SCA, Property Descriptor files will contain simple, simplesequence, test, struct 615

or structsequence elements. These elements will be used to describe attributes of a component 616

that will be used for dependency checking. 617

These elements will also be used to provide values used by the PropertySet::configure, 618

PropertySet::query, and PropertySet::runTest operations. 619

SCA494 A Properties File shall have a “.prf.xml” extension. 620

D-1.7.1 properties 621

The properties element (see Figure 10) is used to describe property attributes that will be used in 622

the configure and query operations for SCA components that realize the PropertySet interface 623

and for definition of attributes used for dependency checking. The properties element can also 624

used in the TestableObject::runTest operation to configure tests and provide test results. 625

class properties

«DTDChoiceGrou...

properties_grp1_grp1

«DTDSequenceGroup»

properties_grp1

«DTDElement»

properties

«DTDElement»

description

«DTDElement»

simple

- id: ID

- type: (boolean | char | double | float | short | long | objref | octet | string | ulong | ushort)

- name: CDATA

- mode: (readonly | readwrite | writeonly) = readwrite

«DTDElement»

simplesequence

- id: ID

- type: (boolean | char | double | float | short | long | objref | octet | string | ulong | ushort)

- name: CDATA

- mode: (readonly | readwrite | writeonly) = readwrite

«DTDEleme...

test

- id: CDATA

«DTDElement»

struct

- id: ID

- name: CDATA

- mode: (readonly | readwrite | writeonly) = readwrite

«DTDElement»

structsequence

- id: ID

- structrefid: CDATA

- name: CDATA

- mode: (readonly | readwrite | writeonly) = readwrite

1..*

0..1

626

Figure 10: properties Element Relationships 627

<!ELEMENT properties 628

Page 28: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

28

( description? 629 ,(simple | simplesequence | test | struct | structsequence 630

)+ 631 )> 632

D-1.7.1.1 simple 633

The simple element (see Figure 11) provides for the definition of a property which includes a 634

unique id, type, name and mode attributes of the property that will be used in the PropertySet 635

configure() and query() operations, for indication of component capabilities, or in the 636

TestableObject runTest operation. The simple element is specifically designed to support id-637

value pair definitions. A simple property id attribute corresponds to the id of the id-value pair. 638

The value and range of a simple property correspond to the value of the id-value pair. The 639

optional enumerations element allows for the definition of a label-to-value for a particular 640

property. The mode attribute defines whether the properties element is “readonly”, “writeonly” 641

or “readwrite”. The id attribute is an identifier for the simple property element. The id attribute 642

for a simple property that is an allocation type requires an implementation specific approach to 643

maintain uniqueness within a Domain Profile. The id attribute for all other simple property 644

elements can be any valid XML ID type. The mode attribute is only meaningful when the type 645

of the kind element is “configure”. 646

class simple

«DTDElement»

simple

- id: ID

- type: (boolean | char | double | float | short | long | objref | octet | string | ulong | ushort)

- name: CDATA

- mode: (readonly | readwrite | writeonly) = readwrite

«DTDSequenceGroup»

simple_grp1«DTDElement»

description

«DTDElementPCDATA»

units

«DTDElementEmpty»

kind

- kindtype: (allocation | configure | test | execparam | factoryparam) = configure

«DTDElementEmpty»

action

- type: (eq | ne | gt | lt | ge | le | external) = external

«DTDElementEmpty»

range

- min: CDATA

- max: CDATA

«DTDElementPCDATA»

v alue

«DTDElement»

enumerations

0..10..*

0..1

0..1

0..10..1

0..1

647

Figure 11: simple Element Relationships 648

<!ELEMENT simple 649 ( description? 650

, value? 651

Page 29: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

29

, units? 652 , range? 653

, enumerations? 654 , kind* 655 , action? 656 )> 657

<!ATTLIST simple 658 id ID #REQUIRED 659

type ( boolean | char | double | float | short | long | 660

objref | octet | string | ulong | ushort ) #REQUIRED 661 name CDATA #IMPLIED 662

mode ( readonly | readwrite | writeonly) “readwrite”> 663

D-1.7.1.1.1 description 664

The description element is used to provide a description of the properties element that is being 665

defined. 666

<!ELEMENT description (#PCDATA)> 667

D-1.7.1.1.2 value 668

The value element is used to provide a value setting to the properties element. 669

<!ELEMENT value (#PCDATA)> 670

D-1.7.1.1.3 units 671

The units element describes the intended practical data representation to be used for the 672

properties element. 673

<!ELEMENT units (#PCDATA)> 674

D-1.7.1.1.4 range 675

The range element describes the specific min and max values that are legal for the simple 676

element. The intent of the range element is to provide a means to perform range validation. 677

This element is not used by ApplicationFactoryComponents or ApplicationManagerComponents. 678

<!ELEMENT range EMPTY> 679 <!ATTLIST range 680

min CDATA #REQUIRED 681 max CDATA #REQUIRED> 682

D-1.7.1.1.5 enumerations 683

The enumerations element is used to specify one or more enumeration elements. 684

<!ELEMENT enumerations 685 ( enumeration+ )> 686

The enumeration element is used to associate a value attribute with a label attribute. 687

Enumerations are legal for various integer type properties elements. Enumeration values are 688

implied; if not specified by a developer, the initial implied value is 0 and subsequent values are 689

incremented by 1. 690

Page 30: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

30

Note: The advantage of the enumeration element over the sequence element is that the 691

enumeration element provides a mechanism to associate a value of a property to a label. The 692

sequence element does not allow association of values (only lists of sequences). 693

<!ELEMENT enumeration EMPTY> 694 <!ATTLIST enumeration 695

label CDATA #REQUIRED 696 value CDATA #IMPLIED> 697

D-1.7.1.1.6 kind 698

The kind element’s kindtype attribute is used to specify the kind of property. The types of 699

kindtype attributes are: 700

1. configure, which is used in the configure and query operations of the PropertySet 701

interface. The ApplicationFactoryComponent will use the configure kind of properties to 702

build the CF Properties input parameter to the configure operation that is invoked on the 703

AssemblyControllerComponent during application creation. The 704

DeviceManagerComponent will use the configure kind of properties to build the CF 705

Properties input parameter to the configure operation that is invoked on components 706

implementing the PropertySet interface, during device and service creation. The 707

ApplicationFactoryComponent and DeviceManagerComponent will also use the 708

configure kind of properties for ComponentFactory create options parameters. When the 709

mode is readonly, only the query behavior is supported. When the mode is writeonly, 710

only the configure behavior is supported. When the mode is readwrite, both configure 711

and query are supported. 712

2. test, which is used in the runTest operation of the TestableObject interface. The test kind 713

of properties will be used as the testValues parameter to the runTest operation that is 714

invoked on components that realize the TestableObject interface. 715

3. allocation, which is used in the allocateCapacity and deallocateCapacity operations of 716

the Device interface. The ApplicationFactoryComponent and DeviceManagerComponent 717

will use the simple properties of kindtype allocation to build the input capacities 718

parameter to the allocateCapacity operation that is invoked on device components during 719

application creation, when the action element of those properties is external. The 720

application factory and device manager manage simple properties of kindtype allocation 721

when the action is not external. Allocation properties that are external can also be queried 722

using the PropertySet query operation. 723

4. execparam,. which is used in the execute operations of the ExecutableDevice interface. 724

The ApplicationFactoryComponent and DeviceManagerComponent will use the 725

execparam kind of properties to build the CF Properties input parameter to the execute 726

operation that is invoked on ExecutableDeviceComponents during component creation. 727

Only simple elements can be used as execparam types. 728

5. factoryparam, which is used in the createComponent operation of the ComponentFactory 729

interface. The ApplicationFactoryComponent and DeviceManagerComponent will use 730

the factoryparam type of properties to build the CF Properties input parameter to the 731

createComponent operation. 732

Page 31: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

31

A property can have multiple kind elements and the default kindtype is configure. 733

<!ELEMENT kind EMPTY> 734 <!ATTLIST kind 735

kindtype ( allocation | configure | test | execparam | 736 factoryparam) “configure”> 737

D-1.7.1.1.7 action 738

The action element is used to define the type of comparison used to compare an SPD property 739

value to a device property value, during the process of checking SPD dependencies. The kindtype 740

attribute of the action element, will determine the type of comparison to be made (e.g., equal, not 741

equal, greater than, etc.). The default value for kindtype is external. 742

In principle, the action element defines the operation executed during the comparison of the 743

allocation property value, provided by an SPD dependency element, to the associated allocation 744

property value of a ComponentBaseDevice. The allocation property is on the left side of the 745

action and the dependency value is on the right side of the action. This process allows for the 746

allocation of appropriate objects within the system based on their attributes, as defined by their 747

dependent relationships. 748

For example, if a ComponentBaseDevice’s properties file defines a DeviceKind allocation 749

property whose action element is set to "equal", then at the time of dependency checking a valid 750

DeviceKind property is checked for equality. If a software component implementation is 751

dependent on a DeviceKind property with its value set to "NarrowBand", then the component's 752

SPD dependency propertyref element will reference the id of the DeviceKind allocation property 753

with a value of "NarrowBand". At the time of dependency checking, the 754

ApplicationFactoryComponent and DeviceManagerComponent will check 755

ComponentBaseDevices whose properties kind element is set to “allocation” and property id is 756

DeviceKind for equality against a "NarrowBand" value. 757

<!ELEMENT action EMPTY> 758 <ATTLIST action 759 type ( eq | ne | gt | lt | ge | le | external 760

)"external"> 761

D-1.7.1.2 simplesequence 762

The simplesequence element (see Figure 12) is used to specify a list of properties with the same 763

characteristics (e.g., type, range, units, etc.). The simplesequence element definition is similar to 764

the simple element definition except that it has a list of values instead of one value. The 765

simplesequence element maps to the sequence types for the CF and CORBA modules, defined in 766

SCA Appendix C and OMG CORBA Specification version 3.2 [1] , based upon the type 767

attribute. 768

Page 32: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

32

class simple

«DTDElement»

simple

- id: ID

- type: (boolean | char | double | float | short | long | objref | octet | string | ulong | ushort)

- name: CDATA

- mode: (readonly | readwrite | writeonly) = readwrite

«DTDSequenceGroup»

simple_grp1«DTDElement»

description

«DTDElementPCDATA»

units

«DTDElementEmpty»

kind

- kindtype: (allocation | configure | test | execparam | factoryparam) = configure

«DTDElementEmpty»

action

- type: (eq | ne | gt | lt | ge | le | external) = external

«DTDElementEmpty»

range

- min: CDATA

- max: CDATA

«DTDElementPCDATA»

v alue

«DTDElement»

enumerations

0..10..*

0..1

0..1

0..10..1

0..1

769

Figure 12: simplesequence Element Relationships 770

<!ELEMENT simplesequence 771 ( description? 772 , values? 773

, units? 774 , range? 775 , kind* 776

, action? 777 )> 778 <!ATTLIST simplesequence 779 id ID #REQUIRED 780

type ( boolean | char | double | float | short | long | 781 objref | octet | string | ulong |ushort ) #REQUIRED 782 name CDATA #IMPLIED 783

mode (readonly | readwrite | writeonly) “readwrite”> 784 785 <!ELEMENT values 786 ( value+ )> 787

D-1.7.1.3 test 788

The test element (see Figure 13) is used to specify a list of test properties for executing the 789

runTest operation in order to perform a component specific test. This element contains 790

inputvalue and resultvalue elements and it has an id attribute for grouping test properties to a 791

Page 33: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

33

specific test. The id attribute will be represented by a numeric value. Inputvalues are used to 792

configure the test to be performed (e.g., frequency and RF power output level). When the test 793

has completed, resultvalues contain the results of the testing (e.g., pass or a fault code/message) 794

class test

«DTDElement»

resultValue«DTDElement»

inputValue

«DTDSequenceGroup»

test_grp1

«DTDElement»

test

- id: CDATA

«DTDElement»

description

0..1

795

Figure 13: test Element Relationships 796

<!ELEMENT test 797 ( description 798

, inputvalue? 799 , resultvalue 800 )> 801 <!ATTLIST test 802

id CDATA #REQUIRED> 803

D-1.7.1.3.1 inputvalue 804

The inputvalue element is used to provide test configuration properties. The simple properties it 805

contains must have a kindtype value of test. 806

<!ELEMENT inputvalue 807 ( simple+ )> 808

D-1.7.1.3.2 resultvalue 809

The resultvalue element is used to specify the desired results of the runTest operation. The 810

simple properties it contains must have a kindtype value of test. 811

<!ELEMENT resultvalue 812

( simple+ )> 813

D-1.7.1.4 struct 814

The struct element (see Figure 14) is used to group properties with different characteristics (i.e., 815

similar to a structure or record entry). Each item in the struct element can be a different simple 816

Page 34: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

34

type (e.g., short, long, etc.). The struct element corresponds to the CF Properties type where 817

each struct item (ID, value) corresponds to a properties element list item. The properties 818

element list size is based on the number of struct items. 819

class test

«DTDElement»

resultValue«DTDElement»

inputValue

«DTDSequenceGroup»

test_grp1

«DTDElement»

test

- id: CDATA

«DTDElement»

description

0..1

820

Figure 14: struct Element Relationships 821

822 <!ELEMENT struct 823

( description? 824 , simple+ 825 , configurationkind? 826

)> 827

<!ATTLIST struct 828 id ID #REQUIRED 829 name CDATA #IMPLIED 830 mode (readonly | readwrite | writeonly) "readwrite">” 831

D-1.7.1.4.1 configurationkind 832

The configurationkind element’s kindtype attribute is used to specify the kind of property. The 833

kindtypes are: 834

1. configure, which is used in the configure() and query() operations of the PropertySet 835

interface. The ApplicationFactoryComponent and DeviceManagerComponent will use 836

the configure kind of properties to build the CF Properties input parameter to the 837

configure() operation that is invoked on SCA components that realize the PropertySet 838

interface during application creation. When the mode is readonly, only the query 839

behavior is supported. When the mode is writeonly, only the configure behavior is 840

supported. When the mode is readwrite, both configure and query are supported. 841

2. factoryparam, which is used in the createComponent operations of the 842

ComponentFactory interface. The ApplicationFactoryComponent and 843

Page 35: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

35

DeviceManagerComponent will use the factoryparam kind of properties to build the CF 844

Properties input parameter to the createComponent() operation. A property can have 845

multiple configurationkind elements and their default kindtype is “configure”. 846

<!ELEMENT configurationkind EMPTY> 847 <!ATTLIST configurationkind 848

kindtype (configure | factoryparam) “configure”> 849

D-1.7.1.5 structsequence 850

The structsequence element (see Figure 15) is used to specify a list of properties with the same 851

struct characteristics. The structsequence element maps to a properties element having the CF 852

Properties type. Each item in the CF Properties type will be the same struct definition as 853

referenced by the structrefid attribute. Any values specified within the struct definition are 854

ignored and values for the sequence are provided by the structvalue element. 855

class structsequence

«DTDElementEmpty»

configurationkind

- kindtype: (configure | factoryparam) = configure

«DTDElement»

structv alue

«DTDSequenceG...

structsequence_grp1

«DTDElement»

structsequence

- id: ID

- structrefid: CDATA

- name: CDATA

- mode: (readonly | readwrite | writeonly) = readwrite

«DTDElement»

description

0..11..*0..1

856

Figure 15: structsequence Element Relationships 857

Page 36: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

36

<!ELEMENT structsequence 858 ( description? 859

, structvalue* 860 , configurationkind? 861

)> 862 <!ATTLIST structsequence 863

id ID #REQUIRED 864 structrefid CDATA #REQUIRED 865 name CDATA #IMPLIED 866

mode (readonly | readwrite | writeonly) "readwrite"> 867 868 <!ELEMENT structvalue 869

( simpleref+ )> 870

871 <!ELEMENT simpleref EMPTY> 872 <!ATTLIST simpleref 873

refid CDATA #REQUIRED 874

value CDATA #REQUIRED> 875 876

Page 37: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

37

877

D-1.8 SOFTWARE COMPONENT DESCRIPTOR 878

The SCA components ResourceComponent, DeviceComponent, LoadableDeviceComponent, 879

ExecutableDeviceComponent, ComponentFactoryComponent, and ServiceComponents that are 880

described by the SCD are based on the SCA specification, and the following specification 881

concentrates on definition of the elements necessary for describing the ports and interfaces of 882

these components. 883

SCA495 A Software Component Descriptor file shall have a “.scd.xml” extension. 884

D-1.8.1 softwarecomponent 885

The softwarecomponent element (see Figure 16) is the root element of the SCD file. For use 886

within the SCA the sub-elements that are supported include: 887

1. componentrepid – is the repository id of the component 888

2. componenttype – identifies the type of software component object 889

3. componentfeatures – provides the supported message ports for the component 890

4. interface – describes the component unique id and name for supported interfaces. 891

class softwarecomponent

«DTDElement»

interfaces

«DTDElement»

componenttype

«DTDElementEmpty»

componentrepid

- repid: CDATA

«DTDSequenceGroup»

softwarecomponent_grp1

«DTDElement»

softwarecomponent

«DTDElement»

componentfeatures

«DTDElement»

propertyfile

- type: CDATA

0..1

892

Figure 16: softwarecomponent Element Relationships 893

<!ELEMENT softwarecomponent 894 ( componentrepid 895 , componenttype 896 , componentfeatures 897

, interfaces 898 , propertyfile? 899

Page 38: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

38

)> 900

D-1.8.1.1 componentrepid 901

The componentrepid uniquely identifies the interface that the component is implementing. The 902

componentrepid may be referred to by the componentfeatures element. The componentrepid is 903

derived from the Resource, Device, LoadableDevice, ExecutableDevice,, ComponentFactory 904

interface or represents a ServiceComponent. 905

<!ELEMENT componentrepid EMPTY> 906

<!ATTLIST componentrepid 907 repid CDATA #REQUIRED> 908

D-1.8.1.2 componenttype 909

The componenttype describes properties of the component. For SCA components, the 910

component types include APPLICATION_COMPONENT, DEVICE_COMPONENT, 911

CF_SERVICE_COMPONENT, NON_CF_SERVICE_COMPONENT, and 912

FRAMEWORK_COMPONENT. 913

<!ELEMENT componenttype (#PCDATA)> 914

D-1.8.1.3 componentfeatures 915

The componentfeatures element (see Figure 17) is used to describe a component with respect to 916

the components that it inherits from, the interfaces the component supports, its provides and uses 917

ports. If a component extends any of the following interfaces, Resource, ComponentFactory, or 918

Device, LoadableDevice, ExecutableDevice ,then all the inherited interfaces (e.g., Resource) are 919

depicted as supportsinterface elements. 920

class componentfeatures

«DTDElement»

componentfeatures

«DTDSequenceGroup»

componentfeatures_grp1

«DTDElement»

ports

«DTDElementEmpty»

supportsinterface

- repid: CDATA

- supportsname: CDATA

0..*

921

Figure 17: componentfeatures Element Relationships 922

Page 39: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

39

<!ELEMENT componentfeatures 923 ( supportsinterface* 924

, ports 925 )> 926

D-1.8.1.3.1 supportsinterface 927

The supportsinterface element is used to identify an interface definition that the component 928

supports. These interfaces are distinct interfaces that were inherited by the component’s specific 929

interface. One can widen the component’s interface to be a supportsinterface. The repid is used 930

to refer to the interface element (see interfaces section D-1.8.1.4). 931

<!ELEMENT supportsinterface EMPTY> 932 <!ATTLIST supportsinterface 933

repid CDATA #REQUIRED 934 supportsname CDATA #REQUIRED> 935

D-1.8.1.3.2 ports 936

The ports element (see Figure 18) describes what interfaces a component provides and uses. 937

The provides elements are interfaces that are not part of a component’s interface but are 938

independent interfaces known as facets (i.e. a provides port at the end of a path, like I/O Device 939

or Modem Device). The uses element is uses port at the start of a path (i.e. I/O Device) that is 940

connected to a provides or supportinterfaces interface. Any number of uses and provides 941

elements can be given in any order. Each ports element has a name and references an interface 942

by repid (see interfaces section D-1.8.1.4). The port names are used in the SAD to connect ports 943

together. The maxconnections attribute allows the developer to specify how many simultaneous 944

connections are allowed to be made using that port. A ports element also has an optional 945

porttype element that allows for identification of port classification. Values for porttype include 946

“data”, “control”, “responses”, and “test”. If a porttype is not given then “control” is assumed. 947

Page 40: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

40

class ports

«DTDElement»

ports

«DTDChoiceGroup»

ports_grp1

«DTDElement»

prov ides

- repid: CDATA

- providesname: CDATA

- maxconnections: CDATA

«DTDElement»

uses

- repid: CDATA

- usesname: CDATA

- maxconnections: CDATA

0..*

948

Figure 18: ports Element Relationships 949

<!ELEMENT ports 950

( provides | uses )* 951

> 952 953 <!ELEMENT provides 954

( porttype* )> 955

<!ATTLIST provides 956 repid CDATA #REQUIRED 957 providesname CDATA #REQUIRED 958

maxconnections CDATA #REQUIRED> 959 960 <!ELEMENT uses 961

( porttype* 962

)> 963 <!ATTLIST uses 964

repid CDATA #REQUIRED 965

usesname CDATA #REQUIRED 966 maxconnections CDATA #REQUIRED> 967

968

<!ELEMENT porttype EMPTY> 969 <!ATTLIST porttype 970

Page 41: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

41

type ( data | control | responses | test ) #REQUIRED> 971

D-1.8.1.4 interfaces 972

The interfaces element is made up of one to many interface elements. 973

<!ELEMENT interfaces 974

( interface+ )> 975

The interface element describes an interface that the component, either directly or through 976

inheritance, provides, uses, or supports. The name attribute is the character-based non-qualified 977

name of the interface. The repid attribute is the unique repository id of the interface. The repid 978

is also used to reference an interface element elsewhere in the SCD, for example from the 979

inheritsinterface element. 980

For ServiceComponents the inheritsinterface element is not expected to contain a value. 981

<!ELEMENT interface 982 ( inheritsinterface*) > 983

<!ATTLIST interface 984

repid CDATA #REQUIRED 985 name CDATA #REQUIRED> 986

987 <!ELEMENT inheritsinterface EMPTY> 988

<!ATTLIST inheritsinterface 989 repid CDATA #REQUIRED 990

D-1.8.1.5 propertyfile 991

The propertyfile element is used to indicate the local filename of the PRF file associated with the 992

software component. The definition of the propertyfile element can be found in section D-993

1.5.1.4. Within the SCD, the localfile sub-element of the propertyfile element is a relative 994

pathname referencing a file in the same directory as the SCD or in a directory that is relative to 995

the directory where the SCD file is located. 996

Page 42: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

42

D-1.9 SOFTWARE ASSEMBLY DESCRIPTOR 997

This section describes the XML elements of the Software Assembly Descriptor (SAD) XML file; 998

the softwareassembly element (see Figure 19). The intent of the software assembly is to provide 999

the means of describing the assembled functional application and the interconnection 1000

characteristics of the SCA components within that application. Created applications are 1001

assembled from a combination of one or more component instantiations and nested assembly 1002

instantiations that are interconnected with each other and to platform devices and services. 1003

SCA496 A Software Assembly Descriptor file shall have a “.sad.xml” extension. 1004

D-1.9.1 softwareassembly 1005

The installation of an application into the system includes the installation of a main SAD file and 1006

one or more SPD and SAD files. The SAD file references component SPD files to obtain 1007

deployment information for these components, as well SAD files for nested applications. The 1008

softwareassembly element’s id attribute uniquely identifies the assembly, requiring an 1009

implementation specific approach to maintain uniqueness within a Domain Profile. The 1010

softwareassembly element’s name attribute is the user-friendly name for the ApplicationFactory 1011

name attribute. The softwareassembly element's version attribute is the version of the 1012

application. 1013

The SAD deploymentdependencies are merged with and overriden by lower-level 1014

deploymentdependencies defined within the componentinstantiation and assemblyinstantiation 1015

elements. 1016

Page 43: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

43

class softwareassembly

«DTDElement»

softwareassembly

- id: ID

- name: CDATA

- version: CDATA

«DTDElement»

deploymentprefs

«DTDSequenceGroup»

softwareassembly_grp1

«DTDElement»

externalports

«DTDElement»

description

«DTDElement»

componentfiles

«DTDElement»

partitioning

«DTDElement»

deploymentdependencies

«DTDElement»

assemblycontroller

«DTDElement»

connections

0..1

0..1

0..1

0..1

0..1

1017

Figure 19: softwareassembly Element Relationships 1018

<!ELEMENT softwareassembly 1019

( description? 1020 , componentfiles 1021 , partitioning 1022 , deploymentdependencies? 1023

, assemblycontroller 1024 , connections? 1025 , externalports? 1026

, deploymentprefs? 1027 )> 1028 <!ATTLIST softwareassembly 1029

id ID #REQUIRED 1030

name CDATA #REQUIRED 1031 version CDATA #IMPLIED> 1032

D-1.9.1.1 description 1033

The description element of the component assembly may be used to describe any information the 1034

developer would like to indicate about the assembly. 1035

<!ELEMENT description (#PCDATA)> 1036

Page 44: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

44

D-1.9.1.2 componentfiles 1037

The componentfiles element is used to indicate that an assembly is made up of 1..n component 1038

files and / or subassemblies. The componentfile element contains a reference to a local file, 1039

which can be an SPD or SAD file. 1040

<!ELEMENT componentfiles 1041 ( componentfile+ )> 1042

D-1.9.1.2.1 componentfile 1043

The componentfile element is a reference to a local file. See section D-1.5.1.4.1 for the 1044

definition of the localfile element. The type attribute is “Software Package Descriptor” or 1045

“Software Assembly Descriptor”. 1046

<!ELEMENT componentfile 1047

( localfile )> 1048 <!ATTLIST componentfile 1049

id ID #REQUIRED 1050

type CDATA #IMPLIED> 1051

D-1.9.1.3 partitioning 1052

A component partitioning element (see Figure 20) specifies a deployment pattern of components 1053

and their components-to-hosts relationships as well as nested sub-applications. A component 1054

instantiation is captured inside a componentplacement element. The hostcollocation element 1055

allows the components to be placed on a common device. When the componentplacement is by 1056

itself and not inside a hostcollocation, it then has no collocation constraints. An assembly 1057

instantiation (nested sub-application) is captured inside an assemblyplacement element. 1058

class partitioning

«DTDElement»

partitioning

«DTDElement»

hostcollocation

- id: ID

- name: CDATA

«DTDChoiceGroup»

partitioning_grp1

«DTDElement»

componentplacement

«DTDElement»

assemblyplacement

1..*

1059

Figure 20: partitioning Element Relationships 1060

Page 45: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

45

<!ELEMENT partitioning 1061 ( componentplacement | hostcollocation | 1062

assemblyplacement )+> 1063

D-1.9.1.3.1 componentplacement 1064

The componentplacement element (see Figure 21) defines a particular deployment of a 1065

component. The component can be deployed either directly or by using a ComponentFactory. 1066

class componentplacement2

«DTDElement»

componentplacement

«DTDSequenceGroup»

componentplacement_grp1

«DTDElementEmpty»

componentfileref

- refid: CDATA

«DTDElement»

componentinstantiation

- id: ID

1..*

1067

Figure 21: componentplacement Element Relationships 1068

<!ELEMENT componentplacement 1069 ( componentfileref 1070

, componentinstantiation+ 1071 )> 1072

D-1.9.1.3.1.1 componentfileref

The componentfileref element is used to reference a particular SPD or a SAD file. The 1073

componentfileref element’s refid attribute corresponds to the componentfile element’s id 1074

attribute. 1075

<!ELEMENT componentfileref EMPTY> 1076 <!ATTLIST componentfileref 1077

refid CDATA #REQUIRED> 1078

D-1.9.1.3.1.2 componentinstantiation

The componentinstantiation element (see Figure 22) is intended to describe a particular 1079

instantiation of a component relative to a componentplacement element. The 1080

componentinstantiation’s id attribute is an implementation specific value that uniquely identifies 1081

Page 46: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

46

the component within a Domain Profile. The componentinstantiation element’s id may be 1082

referenced by the usesport and providesport elements within the SAD file. It is the component 1083

name for the instantiation not the application name. 1084

class componentinstantiation2

«DTDElement»

componentinstantiation

- id: ID

«DTDSequenceGroup»

componentinstantiation_grp1

«DTDElement»

usagename

«DTDElement»

componentproperties«DTDElement»

deploymentdependencies

«DTDElement»

findcomponent0..1

0..10..1

0..1

1085

Figure 22: componentinstantiation Element Relationships 1086

<!ELEMENT componentinstantiation 1087

( usagename? 1088 , componentproperties? 1089 , deploymentdependencies? 1090 , findcomponent? 1091

)> 1092 <!ATTLIST componentinstantiation 1093

id ID #REQUIRED> 1094 1095

<!ELEMENT usagename (#PCDATA)> 1096 1097

D-1.9.1.3.1.2.1 componentproperties 1098

The optional componentproperties element (see D-1.9.1.3.3.1.1) is a list of configure, 1099

factoryparam, and/or execparam properties values that are used in creating the component or for 1100

the initial configuration of the component. 1101

The following sources will be searched in the given precedence order for initial values for simple 1102

properties with a kindtype of “execparam” or “configure” and a mode attribute of “readwrite” or 1103

“writeonly”: 1104

1. The SAD partitioning : componentplacement : componentinstantiation element, 1105

Page 47: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

47

2. The value or default value, if any, from the SPD using the properties precedence stated in 1106

D-1.5.1. 1107

If no values are found in the sources above, the property is discarded. 1108

The following sources will be searched in the given precedence order for initial values for simple 1109

properties with a kindtype of “factoryparam”: 1110

1. The SAD partitioning : componentplacement : componentinstantiation : findcomponent : 1111

componentfactoryref : componentfactoryproperties element, 1112

2. The SAD partitioning : componentplacement : componentinstantiation : 1113

componentproperties element, 1114

3. The value or default value, if any, from the SPD using the properties precedence stated in 1115

D-1.5.1. 1116

If no values are found in the sources above, the property is discarded. 1117

D-1.9.1.3.1.2.2 deploymentdependencies 1118

The optional deploymentdependencies element (described generically in section D-1.9.1.4) 1119

overrides componentinstantiation’s SPD and SAD dependencies. 1120

D-1.9.1.3.1.2.3 findcomponent 1121

The optional findcomponent element (see Figure 23) is used to obtain the object reference from 1122

a componentfactoryref. 1123

class findcomponent

«DTDSequenceGroup»

findcomponent_grp1

«DTDElement»

findcomponent

«DTDElement»

componentfactoryref

- refid: CDATA

1124

Figure 23: findcomponent Element Relationships 1125

<!ELEMENT findcomponent 1126

Page 48: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

48

( componentfactoryref )> 1127 1128

D-1.9.1.3.1.2.3.1 componentfactoryref 1129

The componentfactoryref element (see Figure 24) refers to a particular 1130

ApplicationComponentFactory componentinstantiation element found in the SAD, which is used 1131

to obtain a Resource instance for this componentinstantiation element. The refid attribute refers 1132

to a unique componentinstantiation id attribute. 1133

class componentfactoryref

«DTDElement»

componentfactoryref

- refid: CDATA

«DTDSequenceGroup»

componentfactoryref_grp1

«DTDElement»

componentfactoryproperties

0..1

1134

Figure 24: componentfactoryref Element Relationships 1135

1136

D-1.9.1.3.1.2.3.2 componentfactoryproperties 1137

The optional componentfactoryproperties element (see Figure 25) specifies the properties 1138

“qualifiers”, for the ComponentFactory::create call. 1139

Page 49: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

49

class componentfactoryproperties

«DTDElement»

componentfactoryproperties

«DTDChoiceGroup»

componentfactoryproperties_grp1

«DTDElementEmpty»

simpleref

- refid: CDATA

- value: CDATA

«DTDElement»

structref

- refid: CDATA

«DTDElement»

structsequenceref

- refid: CDATA

«DTDElement»

simplesequenceref

- refid: CDATA

1..*

1140

Figure 25: componentfactoryproperties Element Relationships 1141

<!ELEMENT componentfactoryref 1142

( componentfactoryproperties? )> 1143

<!ATTLIST componentfactoryref 1144 refid CDATA #REQUIRED> 1145

1146 <!ELEMENT componentfactoryproperties 1147 ( simpleref | simplesequenceref | structref | 1148

structsequenceref )+ > 1149 1150 <!ELEMENT simpleref EMPTY> 1151 <!ATTLIST simpleref 1152

refid CDATA #REQUIRED 1153 value CDATA #REQUIRED> 1154

1155 <!ELEMENT simplesequenceref 1156

( values )> 1157

<!ATTLIST simplesequenceref 1158 refid CDATA #REQUIRED> 1159

1160 <!ELEMENT structref 1161

( simpleref+ )> 1162

<!ATTLIST structref 1163

refid CDATA #REQUIRED> 1164 1165

Page 50: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

50

<!ELEMENT structsequenceref 1166

( structvalue+ )> 1167

<!ATTLIST structsequenceref 1168 refid CDATA #REQUIRED> 1169 1170 <!ELEMENT structvalue 1171

( simpleref+ )> 1172 1173 <!ELEMENT values 1174

( value+ )> 1175 1176 <!ELEMENT value (#PCDATA)> 1177 1178

D-1.9.1.3.2 hostcollocation 1179

The hostcollocation element specifies a group of component instances that are to be deployed 1180

together on a single host. For purposes of the SCA, the componentplacement element will be 1181

used to describe the 1...n components that will be collocated on the same host platform. Within 1182

the SCA specification, a host platform will be interpreted as a single device. The id and name 1183

attributes are optional but may be used to uniquely identify a set of collocated components 1184

within a SAD file. 1185

<!ELEMENT hostcollocation 1186 ( componentplacement )+> 1187

<!ATTLIST hostcollocation 1188 id ID #IMPLIED 1189

name CDATA #IMPLIED> 1190

D-1.9.1.3.2.1 componentplacement

See componentplacement, section D-1.9.1.3.1. 1191

D-1.9.1.3.3 assemblyplacement 1192

The assemblyplacement element (see Figure 26) defines a particular deployment of a nested 1193

subassembly. It references the SAD file for that nested subassembly and an 1194

assemblyinstantiation element defining its creation. 1195

Page 51: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

51

class assemblyplacement

«DTDElement»

assemblyplacement

«DTDSequenceGroup»

assemblyplacement_grp1

«DTDElement»

componentfactoryref

- refid: CDATA

«DTDElement»

assemblyinstantiation

- id: ID

1..*

1196

Figure 26: assemblyplacement Element Relationships 1197

<!ELEMENT assemblyplacement 1198 ( componentfileref 1199

, assemblyinstantiation+ 1200 )> 1201

D-1.9.1.3.3.1 assemblyinstantiation

The assemblyinstantiation element (see Figure 27) describes an instantiation of an assembly as a 1202

nested sub-application relative to an assemblyplacement element. This assemblyinstantiation 1203

(which itself can potentially contain other nested sub-applications) can then be connected and 1204

controlled through the assemblycontroller and external ports elements defined in the referenced 1205

SAD file. Assemblyinstantiation creation can be viewed as essentially similar to a normal 1206

application created by an ApplicationFactoryComponent, with the omission of the registration of 1207

the sub-application’s ApplicationManagerComponent with the DomainManagerComponent. 1208

The assemblyinstantiation’s id attribute is an implementation specific value that uniquely 1209

identifies the assembly within a Domain Profile. The assemblyinstantiation element’s id may be 1210

referenced by the usesport and providesport elements within the enclosing SAD file when 1211

connecting to / from ports listed in the sub-application’s SAD externalports element. 1212

The assemblyinstantiation element contains a number of sub-elements used by the core 1213

framework in the creation, deployment and configuration of the sub-application. Most of these 1214

elements appear only as sub-elements of the assemblyinstantion element, and are described here. 1215

Page 52: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

52

class assemblyinstantiation

«DTDElement»

dev iceassignments

«DTDSequenceGroup»

assemblyinstantiation_grp1

«DTDElement»

assemblyinstantiation

- id: ID

«DTDElement»

componentproperties«DTDElement»

usagename«DTDElement»

deploymentdependencies

0..10..10..10..1

1216

Figure 27: assemblyinstantiation Element Relationships 1217

<!ELEMENT assemblyinstantiation 1218 ( usagename? 1219

, componentproperties? 1220 , deviceassignments? 1221 , deploymentdependencies? 1222

)> 1223 1224 <!ATTLIST assemblyinstantiation 1225

id ID #REQUIRED> 1226

1227 <!ELEMENT usagename (#PCDATA)> 1228

D-1.9.1.3.3.1.1 componentproperties 1229

The optional componentproperties element (see Figure 28) is a list of configure, factoryparam, 1230

and/or execparam property values that are used in creating and / or initially configuring the 1231

components of the sub-application. For valid properties with a kindtype of “execparam” or 1232

“factoryparam”, or “configure” properties with a mode attribute of “readwrite” or “writeonly”, 1233

values will supplement or ( if of the same name), override sub-application values following the 1234

given precedence order: 1235

1. The outer SAD partitioning : assemblyplacement : assemblyinstantiation element 1236

6. The nested SAD componentinstantiation / assemblyinstantion element 1237

2. (N/A for factoryparam values) The value or default value, if any, from the component’s 1238

SPD using the properties precedence stated in D-1.5.1. 1239

Page 53: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

53

class componentproperties

«DTDElement»

componentproperties

«DTDChoiceGroup»

componentproperties_grp1

«DTDElementEmpty»

simpleref

- refid: CDATA

- value: CDATA

«DTDElement»

simplesequenceref

- refid: CDATA

«DTDElement»

structref

- refid: CDATA

«DTDElement»

structsequenceref

- refid: CDATA

1..*

1240

Figure 28: componentproperties Element Relationships 1241

<!ELEMENT componentproperties 1242 ( simpleref | simplesequenceref | structref | 1243

structsequenceref )+ > 1244

D-1.9.1.3.3.1.2 deviceassignments 1245

The optional deviceassignments element provides a list of deviceassignment elements which are 1246

used when deploying the sub-application’s components. 1247

In a deviceassignment element, the componentid attribute refers to the componentinstantiationref 1248

within the scope of the sub-application being created, while the assigneddeviceid refers a device 1249

identifier (DCD componentinstantiation id) in the domain. 1250

<!ELEMENT deviceassignments 1251 ( deviceassignment )+> 1252 1253

<!ELEMENT deviceassignment EMPTY> 1254 <!ATTLIST deviceassignment 1255 componentid CDATA #REQUIRED 1256

assignedDeviceid CDATA #REQUIRED> 1257

D-1.9.1.3.3.1.3 deploymentdependencies 1258

The deploymentdependencies element (described generically in section D-1.9.1.4) overrides 1259

referenced SAD dependencies. 1260

D-1.9.1.4 deploymentdependencies 1261

The deploymentdependencies element (see Figure 29) is cited in multiple places within the SAD. 1262

It supplies, within its governing scope, overriding values for like-named dependencies defined 1263

within the scope. This allows the addition of scope-dependent deployment information, e.g. 1264

Page 54: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

54

specification of a particular radio channel or security domain for the deployed application, sub-1265

application or component. Each dependencies element is a propertyref referencing a property of 1266

kind “allocation”, and overrides any values from 1267

narrower-scope deploymentdependencies 1268

SPD-defined dependency propertyref elements (see section D-1.5.1.6.10.2) 1269

SPD-defined usesdevice propertyref elements (see section D-1.5.1.6.11.1). 1270

When, for any componentinstantiation, there are no matching dependencies (same id) specified 1271

in the SPD file, then the deploymenetdependencies-supplied propertyref is not used to constrain 1272

deployment. In this way, dependencies can be overridden where they are specified, while not 1273

imposing new dependencies where they are not intended. 1274

Deployment dependencies precedence order in order of highest to lowest is: 1275

1. Application Factory::create deploymentdependencies parameter 1276

2. Assemblyinstantiaion deploymentdependencies 1277

3. Componentinstantiation deploymentdependencies 1278

4. SAD deployment deploymentdependencies 1279

5. Componentinstantiation SPD dependency and usesdevice 1280

class deploymentdependencies

«DTDElement»

deploymentdependencies

«DTDElementEmpty»

propertyref

- refid: CDATA

- value: CDATA

«DTDSequenceGroup»

deploymentdependencies_grp1

1..*

1281

Figure 29: deploymentdependencies Element Relationships 1282

<!ELEMENT deploymentdependencies 1283

(propertyref 1284

Page 55: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

55

)+> 1285

1286

D-1.9.1.5 deploymentprefs 1287

The optional deploymentprefs element is a reference to a local file. See section D-1.5.1.4.1 for 1288

the definition of the localfile element. The file refers to an Application Deployment Descriptor 1289

file. 1290

<!ELEMENT deploymentprefs 1291

( localfile 1292 )> 1293

D-1.9.1.6 assemblycontroller 1294

The assemblycontroller element (see Figure 30) indicates the componentinstantiation and / or 1295

assemblyinstantiation(s) that form the control point(s) for the assembly. The 1296

ApplicationManagerComponent delegates its Resource::configure, query, start, stop, and runTest 1297

operations to the elements identified by the assemblycontroller element. 1298

class assemblycontroller

«DTDElement»

assemblycontroller

«DTDChoiceGroup»

assemblycontroller_grp1_grp1

«DTDSequenceGroup»

assemblycontroller_grp1

«DTDElementEmpty»

componentinstantiationref

- refid: CDATA

«DTDElementEmpty»

assemblyinstantiationref

- refid: CDATA

0..*

1299

Figure 30: assemblycontroller Element Relationships 1300

1301

<!ELEMENT assemblycontroller 1302 (( componentinstantiationref | assemblyinstantiationref), 1303

Page 56: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

56

assemblyinstantiationref* )> 1304

D-1.9.1.7 connections 1305

The connections element is a child element of the softwareassembly element. The connections 1306

element is intended to provide the connection map between components in the assembly. 1307

<!ELEMENT connections 1308

( connectinterface* )> 1309

D-1.9.1.7.1 connectinterface 1310

The connectinterface element (see Figure 31) is used when application components are being 1311

assembled to describe connections between their port interfaces. The connectinterface element 1312

consists of a usesport element and a providesport or componentsupportedinterface element. 1313

These elements are intended to connect two compatible components. 1314

class connectinterface

«DTDElement»

connectinterface

- id: ID

«DTDChoiceGroup»

connectinterface_grp1_grp2

«DTDSequenceGroup»

connectinterface_grp1

«DTDElement»

usesport

«DTDElement»

componentsupportedinterface«DTDElement»

prov idesport

1315

Figure 31: connectinterface Element Relationships 1316

<!ELEMENT connectinterface 1317

( usesport 1318

, ( providesport | componentsupportedinterface ) 1319 )> 1320 <!ATTLIST connectinterface 1321

Page 57: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

57

id ID #IMPLIED> 1322

D-1.9.1.7.1.1 usesport

The usesport element (see Figure 32) identifies, using the identifier element, the component port 1323

that is using the provided interface from the providesport element. A Resource type component 1324

may be referenced by one of five elements: componentinstantiationref, assemblyinstantiationref, 1325

domainfinder, devicethatloadedthiscomponentref, and deviceusedbythiscomponentref. 1326

class usesport

«DTDElement»

usesport

«DTDChoiceGroup»

usesport_grp1_grp2

«DTDSequenceGroup»

usesport_grp1

«DTDElementEmpty»

componentinstantiationref

- refid: CDATA

«DTDElementEmpty»

assemblyinstantiationref

- refid: CDATA

«DTDElementEmpty»

dev iceusedbythiscomponentref

- refid: CDATA

- usesrefid: CDATA

«DTDElementEmpty»

dev icethatloadedthiscomponentref

- refid: CDATA

«DTDElementEmpty»

domainfinder

- type: (fi lesystem | eventchannel | application | servicename | servicetype)

- name: CDATA«DTDElement»

identifier

1327

Figure 32: usesport Element Relationships 1328

<!ELEMENT usesport 1329

(identifier 1330 , ( componentinstantiationref | 1331 assemblyinstantiationref | 1332 devicethatloadedthiscomponentref | 1333

deviceusedbythiscomponentref | domainfinder ) 1334 )> 1335 1336

D-1.9.1.7.1.1.1 identifier 1337

The identifier element identifies which “uses port” on the component is to participate in the 1338

connection relationship. This identifier will correspond with an id for one of the component 1339

ports specified in the SCD. 1340

<!ELEMENT identifier (#PCDATA)> 1341

Page 58: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

58

D-1.9.1.7.1.1.2 componentinstantiationref 1342

The componentinstantiationref element refers to the id attribute of the componentinstantiation 1343

element within the SAD file. The refid attribute will correspond to the unique 1344

componentinstantiation id attribute. 1345

<!ELEMENT componentinstantiationref EMPTY> 1346

<!ATTLIST componentinstantiationref 1347

refid CDATA #REQUIRED> 1348

D-1.9.1.7.1.1.3 assemblyinstantiationref 1349

The assemblyinstantiationref element refers to the id attribute of the assemblyinstantiation 1350

element within the SAD file. The refid attribute will correspond to the unique 1351

assemblyinstantiation id attribute. 1352

<!ELEMENT assemblyinstantiationref EMPTY> 1353

<!ATTLIST assemblyinstantiationref 1354 refid CDATA #REQUIRED> 1355

D-1.9.1.7.1.1.4 domainfinder 1356

The domainfinder element is used to indicate to the ApplicationFactoryComponent the necessary 1357

information to find an object reference that is of specific type and may also be known by an 1358

optional name within the domain. The valid type attributes are “filesystem”, “eventchannel”, 1359

“application”, “servicename”, and “servicetype”. 1360

For “filesystem” type when name attribute is not supplied then the closest FileSystemComponent 1361

proximity-wise (e.g. file system residing on the same physical device as the component on the 1362

other end of the connection would be used first) is provided. 1363

The type attribute value of “eventchannel” is used to specify the event channel to be used in the 1364

OE’s Event Service for producing or consuming events. If the name attribute is not supplied and 1365

the type attribute has a value of “eventchannel” then the Incoming domain management event 1366

channel is used. 1367

For “application” type the name attribute must be specified. For “application” type the name 1368

attribute format is ApplicationFactoryComponent name followed by forward slash “/” followed 1369

by Application name (e.g. “the_applicationfactory_name/the_application_name”). The options 1370

for “application” type name and meaning are: 1371

1. When only the application name is specified then any existing 1372

ApplicationManagerComponent in the domain with that name can be used. 1373

2. When both the Application Factory name and Application name (e.g. 1374

“the_applicationfactory_name/the_application_name”) is specified the 1375

ApplicationManagerComponent with that name created by the specified Application 1376

FactoryComponent is returned. 1377

3. When only the Application Factory name followed by a forward slash is specified then 1378

any ApplicationManagerComponent created by the specified 1379

ApplicationFactoryComponent with that name can be used. 1380

Page 59: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

59

If “servicename” or “servicetype” is specified then name must be specified. Both values 1381

correspond to a service identified in a DeviceMangerComponent’s DCD. The DCD usagename 1382

element contains a value in an “identifier\type” format for a component service type. For 1383

“servicename” the name corresponds to the “identifier” portion of the usagename element. For 1384

“servicetype” the name corresponds to the “type” portion of the usagename element. The type 1385

attribute value of “servicename” is used to locate registered ServiceComponents on a per name 1386

basis. The type attribute value of “servicetype” is used to locate registered ServiceComponents 1387

on a per type basis. 1388

<!ELEMENT domainfinder EMPTY> 1389 <!ATTLIST domainfinder 1390 type (filesystem | eventchannel | application | servicename 1391

| servicetype) #REQUIRED 1392 name CDATA #IMPLIED> 1393

D-1.9.1.7.1.1.5 devicethatloadedthiscomponentref 1394

The devicethatloadedthiscomponentref element refers to a specific component found in the 1395

assembly, which is used to obtain the ComponentBaseDevice that was used to load the 1396

referenced component from the ApplicationFactoryComponent. The ComponentBaseDevice 1397

obtained is then associated with this component instance. 1398

<!ELEMENT devicethatloadedthiscomponentref EMPTY> 1399

<!ATTLIST devicethatloadedthiscomponentref 1400 refid CDATA #REQUIRED> 1401

D-1.9.1.7.1.1.6 deviceusedbythiscomponentref 1402

The deviceusedbythiscomponentref element refers to a specific component, within the assembly, 1403

which is used to obtain the ComponentBaseDevice (e.g., logical device) that is being used by the 1404

specific component from the ApplicationFactoryComponent. This relationship is needed when a 1405

component is pushing or pulling data and/or commands to another component that exists in the 1406

system such as an audio device. 1407

<!ELEMENT deviceusedbythiscomponentref EMPTY> 1408

<!ATTLIST deviceusedbythiscomponentref 1409

refid CDATA #REQUIRED 1410 usesrefid CDATA #REQUIRED> 1411

D-1.9.1.7.1.2 providesport

The providesport element (see Figure 33) identifies, using the identifier element, the component 1412

port that is provided to the usesport interface within the connectinterface element. A Resource 1413

type component may be referenced by one of five elements: componentinstantiationref, 1414

assemblyinstantiationref, domainfinder, devicethatloadedthiscomponentref, and 1415

deviceusedbythiscomponentref. The domainfinder element by itself is used when the object 1416

reference is not a Resource type. 1417

Page 60: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

60

class prov idesport

«DTDChoiceGroup»

prov idesport_grp1_grp2

«DTDElement»

prov idesport

«DTDElementEmpty»

dev icethatloadedthiscomponentref

- refid: CDATA

«DTDElementEmpty»

dev iceusedbythiscomponentref

- refid: CDATA

- usesrefid: CDATA

«DTDSequenceGroup»

prov idesport_grp1

«DTDElementEmpty»

componentinstantiationref

- refid: CDATA

«DTDElementEmpty»

assemblyinstantiationref

- refid: CDATA

«DTDElementEmpty»

domainfinder

- type: (fi lesystem | eventchannel | application | servicename | servicetype)

- name: CDATA

«DTDElement»

identifier

1418

Figure 33: providesport Element Relationships 1419

<!ELEMENT providesport 1420 (identifier 1421 , ( componentinstantiationref | 1422

assemblyinstantiationref | 1423 devicethatloadedthiscomponentref | 1424 deviceusedbythiscomponentref | domainfinder ) 1425

)> 1426

D-1.9.1.7.1.2.1 identifier 1427

The identifier element identifies which “provides port” on the component is to participate in the 1428

connection relationship. This identifier will correspond with a repid attribute for one of the 1429

component ports elements, specified in the SCD. 1430

<!ELEMENT identifier (#PCDATA)> 1431

D-1.9.1.7.1.2.2 componentinstantiationref 1432

See D-1.9.1.7.1.1.2 for a description of the componentinstantiationref element. 1433

D-1.9.1.7.1.2.3 assemblyinstantiationref 1434

See D-1.9.1.7.1.1.3 for a description of the assemblyinstantiationref element. 1435

Page 61: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

61

D-1.9.1.7.1.2.4 domainfinder 1436

See section D-1.9.1.7.1.1.4 for a description of the domainfinder element. 1437

D-1.9.1.7.1.2.5 devicethatloadedthiscomponentref 1438

See D-1.9.1.7.1.1.5 for a description of the devicethatloadedthiscomponentref element. 1439

D-1.9.1.7.1.2.6 deviceusedbythiscomponentref 1440

See D-1.9.1.7.1.1.6 for a description of the deviceusedbythiscomponentref element. 1441

D-1.9.1.7.1.3 componentsupportedinterface

The componentsupportedinterface element (see Figure 34) specifies a component, which has a 1442

supportsinterface element, that can satisfy an interface connection to a port specified by the 1443

usesport element, within a connectinterface element. A component within the assembly may be 1444

referenced by one of four elements: componentinstantiationref, domainfinder, 1445

devicethatloadedthiscomponentref, and deviceusedbythiscomponentref. The 1446

componentinstantiationref identifies a component within the assembly. The domainfinder 1447

element points to an existing component that can be found within a DomainManagerComponent. 1448

class componentsupportedinterface

«DTDElement»

componentsupportedinterface

«DTDChoiceGroup»

componentsupportedinterface_grp1_grp2

«DTDSequenceGroup»

componentsupportedinterface_grp1

«DTDElement»

identifier

«DTDElementEmpty»

componentinstantiationref

- refid: CDATA

«DTDElementEmpty»

domainfinder

- type: (fi lesystem | eventchannel | application | servicename | servicetype)

- name: CDATA

«DTDElementEmpty»

dev icethatloadedthiscomponentref

- refid: CDATA

«DTDElementEmpty»

dev iceusedbythiscomponentref

- refid: CDATA

- usesrefid: CDATA

1449

Figure 34: componentsupportedinterface Element Relationships 1450

<!ELEMENT componentsupportedinterface 1451

(identifier 1452

Page 62: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

62

, ( componentinstantiationref | 1453 devicethatloadedthiscomponentref | 1454

deviceusedbythiscomponentref | domainfinder) 1455 )> 1456

D-1.9.1.7.1.3.1 identifier 1457

The identifier element identifies which supported interface on the component is to participate in 1458

the connection relationship. This identifier will correspond with the repid attribute of one of the 1459

component’s supportsinterface elements, specified in the SCD. 1460

<!ELEMENT identifier (#PCDATA)> 1461

D-1.9.1.7.1.3.2 componentinstantiationref 1462

See section D-1.9.1.7.1.1.2 for a description of the componentinstantiationref element. 1463

D-1.9.1.7.1.3.3 domainfinder 1464

See section D-1.9.1.7.1.1.4 for a description of the domainfinder element. 1465

D-1.9.1.8 externalports 1466

The optional externalports element (see Figure 35) is a child element of the softwareassembly 1467

element (see Figure 19). The externalports element is used to identify the visible ports for the 1468

software assembly. The Application::getProvidedPorts() operation is used to access the 1469

assembly’s obtainable provides ports. 1470

The usesidentifier element identifies which supported interface of the software assembly is to 1471

participate in the connection relationship. This identifier will correspond with an identifier 1472

element from one of the assembly component’s usesport definitions. 1473

The providesidentifier element identifies which supported interface of the software assembly is 1474

to participate in the connection relationship. This identifier will correspond with an identifier 1475

element from one of the assembly component’s providesport definitions. 1476

The supportedidentifier element identifies which supported interface of the software assembly is 1477

to participate in the connection relationship. This identifier will correspond with an identifier 1478

element from one of the assembly component’s componentsupportedinterface definitions. 1479

<!ELEMENT externalports 1480 ( port+ 1481

)> 1482

Page 63: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

63

class externalports

«DTDElement»

port

«DTDChoiceGroup»

port_grp1_grp3

«DTDElement»

prov idesidentifier

«DTDChoiceGroup»

port_grp1_grp2

«DTDElementEmpty»

componentinstantiationref

- refid: CDATA

«DTDSequenceGroup»

port_grp1

«DTDElement»

usesidentifier

«DTDElement»

supportedidentifier«DTDElementEmpty»

assemblyinstantiationref

- refid: CDATA

«DTDElement»

description

0..1

1483

Figure 35: port Element Relationships 1484

<!ELEMENT port 1485 ( description? 1486 , ( usesidentifier | providesidentifier | 1487

supportedidentifier) 1488

, (componentinstantiationref | assemblyinstantiationref) 1489 )> 1490 1491 <!ELEMENT description (#PCDATA)> 1492

Page 64: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

64

D-1.10 DEVICE CONFIGURATION DESCRIPTOR 1493

This section describes the XML elements of the Device Configuration Descriptor (DCD) XML 1494

file; the deviceconfiguration element (see Figure 36). The DCD is based on the SAD (e.g., 1495

componentfiles, partitioning, etc.) DTD. The intent of the DCD is to provide the means of 1496

describing the components that are initially started on the DeviceManagerComponent node, how 1497

to obtain the DomainManagerComponent reference, connections of services to components 1498

(ComponentBaseDevices, DeviceManagerComponent), and the characteristics (file system 1499

names, etc.) for a DeviceManagerComponent. The componentfiles and partitioning elements are 1500

optional; if not provided, that means no components are started up on the node, except for a 1501

DeviceManagerComponent. If the partitioning element is specified then a componentfiles 1502

element has to be specified also. 1503

SCA497 A Device Configuration Descriptor file shall have a “.dcd.xml” extension. 1504

D-1.10.1 deviceconfiguration 1505

The deviceconfiguration element’s id attribute is a unique identifier within the domain for the 1506

device configuration. This id attribute is a unique identifier within the Domain Profile for the 1507

device configuration. The name attribute is the user-friendly name for the 1508

DeviceManagerComponent’s label attribute. 1509

class dev iceconfiguration

«DTDElement»

dev iceconfiguration

«DTDElement»

filesystemnames

«DTDElement»

domainmanager

«DTDElement»

connections

«DTDElement»

partitioning

«DTDElement»

componentfiles

«DTDSequenceGroup»

dev iceconfiguration_grp1

«DTDElement»

dev icemanagersoftpkg

«DTDElement»

description

0..10..10..1

0..10..1

1510

Figure 36: deviceconfiguration Element Relationships 1511

<!ELEMENT deviceconfiguration 1512 ( description? 1513

, devicemanagersoftpkg 1514 , componentfiles? 1515 , partitioning? 1516 , connections? 1517

Page 65: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

65

, domainmanager 1518 , filesystemnames? 1519

)> 1520 <!ATTLIST deviceconfiguration 1521 id ID #REQUIRED 1522 name CDATA #IMPLIED> 1523

D-1.10.1.1 description 1524

The optional description element, of the deviceconfiguration element, may be used to provide 1525

information about the device configuration. 1526

<!ELEMENT description (#PCDATA)> 1527

D-1.10.1.2 devicemanagersoftpkg 1528

The devicemanagersoftpkg element refers to the SPD for the DeviceManagerComponent that 1529

corresponds to this DCD. The SPD file is referenced by a localfile element. The referenced file 1530

can be used to describe the DeviceManager realization and to specify the usesports for the 1531

services (Log(s), etc.) used by the DeviceManagerComponent. See section D-1.5.1.4.1 for a 1532

description of the localfile element. 1533

<!ELEMENT devicemanagersoftpkg 1534 ( localfile 1535 )> 1536

D-1.10.1.3 componentfiles 1537

The optional componentfiles element is used to reference deployment information for 1538

components that are started up on the device. The componentfile element references a SPD. The 1539

SPD, for example, can be used to describe ComponentBaseDevices, a 1540

DeviceManagerComponent, a DomainManagerComponent, and FileSystemComponents. See 1541

section D-1.9.1.2 for the definition of the componentfiles element. 1542

D-1.10.1.4 partitioning 1543

The optional partitioning element consists of a set of componentplacement elements. A 1544

component instantiation is captured inside a componentplacement element. 1545

<!ELEMENT partitioning 1546 ( componentplacement )*> 1547

D-1.10.1.4.1 componentplacement 1548

The componentplacement element (see Figure 37) is used to define a particular deployment of a 1549

component. The componentfileref element identifies the component to be deployed. The 1550

componentinstantiation element identifies the actual component created. Multiple components 1551

of the same kind can be created within the same componentplacement element. 1552

The optional deployondevice element indicates the device on which the componentinstantiation 1553

element is deployed. The optional compositepartofdevice element indicates the parent device of 1554

the componentinstantiation element. When the component is a logical device, the optional 1555

devicepkgfile element indicates the hardware device information for the logical device. 1556

Page 66: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

66

class componentplacement

«DTDElement»

componentplacement

«DTDElementEmpty»

compositepartofdev ice

- refid: CDATA

«DTDSequenceGroup»

componentplacement_grp1

«DTDElement»

dev icepkgfile

- type: CDATA

«DTDElementEmpty»

deployondev ice

- refid: CDATA

«DTDElementEmpty»

componentfileref

- refid: CDATA

«DTDElement»

componentinstantiation

- id: ID

0..10..1

1..*

0..1

1557

Figure 37: componentplacement Element Relationships 1558

<!ELEMENT componentplacement 1559

( componentfileref 1560 , deployondevice? 1561 , compositepartofdevice? 1562

, devicepkgfile? 1563 , componentinstantiation+ 1564 )> 1565

D-1.10.1.4.1.1 componentfileref

The componentfileref element is used to reference a componentfile element within the 1566

componentfiles element. The componentfileref element’s refid attribute corresponds to a 1567

componentfile element’s id attribute. 1568

<!ELEMENT componentfileref EMPTY> 1569

<!ATTLIST componentfileref 1570 refid CDATA #REQUIRED> 1571

D-1.10.1.4.1.2 deployondevice

The deployondevice element is used to reference a componentinstantiation element on which this 1572

componentinstantiation is deployed. 1573

<!ELEMENT deployondevice EMPTY> 1574 <!ATTLIST deployondevice 1575

refid CDATA #REQUIRED> 1576

D-1.10.1.4.1.3 compositepartofdevice

The compositepartofdevice element is used when a parent-child relationship exists between 1577

devices to reference the componentinstantiation element that describes the parent device when 1578

this device’s componentinstantiation element describes the child device. 1579

Page 67: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

67

<!ELEMENT compositepartofdevice EMPTY> 1580

<!ATTLIST compositepartofdevice 1581

refid CDATA #REQUIRED> 1582

D-1.10.1.4.1.4 devicepkgfile

The devicepkgfile element is used to refer to a device package file that contains the hardware 1583

device definition. 1584

<!ELEMENT devicepkgfile 1585

( localfile 1586 )> 1587

<!ATTLIST devicepkgfile 1588 type CDATA #IMPLIED> 1589

D-1.10.1.4.1.4.1 localfile 1590

See D-1.5.1.4.1 for a definition of the localfile element. 1591

D-1.10.1.4.1.5 componentinstantiation

The componentinstantiation element (see Figure 38) is intended to describe a particular 1592

instantiation of a component relative to a componentplacement element. The 1593

componentinstantiation’s id attribute is an implementation specific value that uniquely identifies 1594

the component. The componentinstantiation contains a usagename element that is intended for 1595

an applicable name for the component. 1596

For a component service (e.g., Log Service implementation), the usagename element is not 1597

optional. For ServiceComponents, usagename must be provided in an “identifier\type” format. 1598

The “identifier” portion of the name must be unique for each service instantiation. The “type” 1599

value is common across all instantiations of the same service. The “type” value should be 1600

representative of the service that is being provided such as the name or the interfaces. The value 1601

“log” represents the type for a Log Service implementation. 1602

Page 68: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

68

class componentinstantiation

«DTDElement»

componentinstantiation

- id: ID

«DTDSequenceGroup»

componentinstantiation_grp1

«DTDElement»

usagename

«DTDElement»

componentproperties

«DTDElement»

componentfactoryref

- refid: CDATA

0..10..10..1

1603

Figure 38: componentinstantiation Element Relationships 1604

<!ELEMENT componentinstantiation 1605 ( usagename? 1606

,componentproperties? 1607 ,componentfactoryref? 1608 )> 1609 <!ATTLIST componentinstantiation 1610

id ID #REQUIRED> 1611 1612 <!ELEMENT usagename (#PCDATA)> 1613

1614

D-1.10.1.4.1.5.1 componentproperties 1615

The optional componentproperties element (see Figure 39) is a list of property values with a 1616

kindtype of “configure”, “execparam” or “allocation”) and a mode attribute of “readwrite” or 1617

“writeonly” that are used either during component configuration or execution or for overriding 1618

allocation properties. D-1.9.1.3.1.2 defines the property list for the componentinstantiation 1619

element, which contains initial properties values. 1620

Page 69: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

69

class componentproperties

«DTDElement»

componentproperties

«DTDChoiceGroup»

componentproperties_grp1

«DTDElementEmpty»

simpleref

- refid: CDATA

- value: CDATA

«DTDElement»

simplesequenceref

- refid: CDATA

«DTDElement»

structref

- refid: CDATA

«DTDElement»

structsequenceref

- refid: CDATA

1..*

1621

Figure 39: componentproperties Element Relationships 1622

<!ELEMENT componentproperties 1623

( simpleref | simplesequenceref | structref | 1624 structsequenceref )+ > 1625

D-1.10.1.4.1.5.2 componentfactoryref 1626

The optional componentfactoryref element (see Figure 40) refers to a particular 1627 PlatformComponentFactoryComponent componentinstantiation element found in the DCD, which is 1628 used to obtain a ComponentBaseDevice or ServiceComponent for this componentinstantiation 1629 element. The refid attribute refers to a unique componentinstantiation id attribute. The optional 1630 componentfactoryref element should be specified only when a 1631 PlatformComponentFactoryComponent is used to create ComponentBaseDevice or 1632 ServiceComponents. 1633

Page 70: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

70

class componentfactoryref

«DTDElement»

componentfactoryref

- refid: CDATA

«DTDSequenceGroup»

componentfactoryref_grp1

«DTDElement»

componentfactoryproperties

0..1

1634

Figure 40: componentfactoryref Element Relationships 1635

<!ELEMENT componentfactoryref 1636

( componentfactoryproperties? )> 1637

<!ATTLIST componentfactoryref 1638

refid CDATA #REQUIRED> 1639

D-1.10.1.4.1.5.2.1 componentfactoryproperties 1640

The optional componentfactoryproperties element (see Figure 41) specifies the properties 1641 “qualifiers”, for the PlatformComponentFactoryComponent createComponent call. 1642

Page 71: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

71

class componentfactoryproperties

«DTDElement»

componentfactoryproperties

«DTDChoiceGroup»

componentfactoryproperties_grp1

«DTDElementEmpty»

simpleref

- refid: CDATA

- value: CDATA

«DTDElement»

structref

- refid: CDATA

«DTDElement»

structsequenceref

- refid: CDATA

«DTDElement»

simplesequenceref

- refid: CDATA

1..*

1643

Figure 41: componentfactoryproperties Element Relationships 1644

<!ELEMENT componentfactoryproperties 1645

( simpleref | simplesequenceref | structref | structsequenceref 1646 )+ > 1647

1648

<!ELEMENT simpleref EMPTY> 1649 <!ATTLIST simpleref 1650 refid CDATA #REQUIRED 1651

value CDATA #REQUIRED> 1652 1653 <!ELEMENT simplesequenceref 1654

( values )> 1655

<!ATTLIST simplesequenceref 1656 refid CDATA #REQUIRED> 1657 1658 <!ELEMENT structref 1659

( simpleref+ )> 1660

<!ATTLIST structref 1661 refid CDATA #REQUIRED> 1662

1663 <!ELEMENT structsequenceref 1664

( structvalue+ )> 1665

<!ATTLIST structsequenceref 1666

Page 72: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

72

refid CDATA #REQUIRED> 1667 1668

<!ELEMENT structvalue 1669 ( simpleref+ )> 1670 1671 <!ELEMENT values 1672

( value+ )> 1673 1674 <!ELEMENT value (#PCDATA)> 1675

D-1.10.1.5 connections 1676

The connections element in the DCD is the same as the connections element in the SAD in 1677

section D-1.9.1.7. The connections element in the DCD is used to indicate the services (Log, 1678

etc.) instances that are used by the DeviceManagerComponent and ComponentBaseDevices in 1679

the DCD. To establish connections to a DeviceManagerComponent, the DCD’s 1680

deviceconfiguration element’s id attribute value is used for the SAD’s usesport element’s 1681

componentinstantiationref element’s refid attribute value. 1682

D-1.10.1.6 domainmanager 1683

The domainmanager element indicates how to register to the DomainManagerComponent. The 1684

value of the name attribute is based upon the type attribute, which could be the name of a file. 1685

The type attribute indicates the type of mechanism used for obtaining the 1686

DomainManagerComponent registration reference such as the localfile that contains an ior, 1687

ior_string, or resolve_initial_reference by ORB. 1688

1689

<!ELEMENT domainmanager EMPTY> 1690 1691 <!ATTLIST domainmanager 1692

name CDATA #REQUIRED 1693 type CDATA #REQUIRED> 1694

D-1.10.1.7 filesystemnames 1695

The optional filesystemnames element indicates the mounted file system names for 1696

DeviceManagerComponent's FileManagerComponent. 1697

The optional filesystemnames element indicates the names for file systems mounted within a 1698

DeviceManagerComponent's FileManagerComponent. The mountname attribute contains a file 1699

system name that uniquely identifies a mount point. The deviceid attribute is the unique identifier 1700

for a specific component, within the DCD, which represents the device hosting this file system. 1701

The use of the deviceid attribute value is implementation dependent. 1702

<!ELEMENT filesystemnames 1703

( filesystemname+ )> 1704

1705 <!ELEMENT filesystemname EMPTY> 1706 <!ATTLIST filesystemname 1707

Page 73: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

73

mountname CDATA #REQUIRED 1708 deviceid CDATA #REQUIRED>1709

Page 74: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

74

D-1.11 DOMAINMANAGER CONFIGURATION DESCRIPTOR 1710

This section describes the XML elements of the DomainManager Configuration Descriptor 1711

(DMD) XML file. 1712

SCA498 A DomainManager Configuration Descriptor file shall have a “.dmd.xml” extension. 1713

D-1.11.1 domainmanagerconfiguration 1714

The domainmanagerconfiguration element (see Figure 42) id attribute is an implementation 1715

specific value that uniquely identifies the DomainManagerComponent. 1716

1717 class domainmanagerconfiguration

«DTDElement»

domainmanagerconfiguration

- id :ID

- name :CDATA

- accardinality :(single | multiple) "single"

«DTDElement»

deploymentlayout

«DTDSequenceGroup»

domainmanagerconfiguration_grp1

«DTDElement»

domainmanagersoftpkg

«DTDElement»

description

«DTDElement»

serv ices

0..10..10..1

1718

Figure 42: domainmanagerconfiguration Element Relationships 1719

<!ELEMENT domainmanagerconfiguration 1720 ( description? 1721

, domainmanagersoftpkg 1722 , deploymentlayout? 1723 , services? 1724 )> 1725

<!ATTLIST domainmanagerconfiguration 1726 id ID #REQUIRED 1727 name #CDATA #REQUIRED 1728

accardinality (single | multiple) "single" > 1729

D-1.11.1.1 description 1730

The optional description element of the DMD may be used to provide information about the 1731

configuration. 1732

<!ELEMENT description (#PCDATA)> 1733

Page 75: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

75

D-1.11.1.2 domainmanagersoftpkg 1734

The domainmanagersoftpkg element refers to the SPD for the DomainManagerComponent. The 1735

SPD file is referenced by a localfile element. This SPD can be used to describe the 1736

DomainManagerComponent implementation and to specify the usesports for the services 1737

(Log(s), etc.) used by the DomainManagerComponent. See section D-1.5.1.4.1 for description 1738

of the localfile element. 1739

<!ELEMENT domainmanagersoftpkg 1740 ( localfile ) > 1741

D-1.11.1.3 deploymentlayout 1742

The optional deploymentlayout element is a reference to a local file. See section D-1.5.1.4.1 for 1743

the definition of the localfile element. The file refers to a Platform Deployment Descriptor file. 1744

<!ELEMENT deploymentlayout 1745

( localfile 1746 )> 1747

D-1.11.1.4 services 1748

The optional services element (see Figure 43) in the DMD is used by the 1749

DomainManagerComponent to determine which service (Log, etc.) instances to use; it makes use 1750

of the service element. 1751

class serv ices

«DTDSequenceGroup»

serv ices_grp1

«DTDElement»

serv ices

«DTDElement»

serv ice

1..*

1752

Figure 43: services Element Relationships 1753

1754

<!ELEMENT services 1755

( service+ ) > 1756

Page 76: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

76

D-1.11.1.4.1 service 1757

The service element (see Figure 44) defines the service instance. See section D-1.9.1.7.1.1.4 for 1758

a description of the domainfinder element. See section D-1.9.1.7.1.1.1 for a description of the 1759

identifier element. 1760

class serv ice

«DTDSequenceGroup»

serv ice_grp1

«DTDElement»

serv ice

«DTDElementEmpty»

domainfinder

- type: (fi lesystem | eventchannel | application | servicename | servicetype)

- name: CDATA

«DTDElement»

identifier

1761

Figure 44: service Element Relationships 1762

<!ELEMENT service 1763

( identifier 1764 , domainfinder)> 1765

Page 77: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

77

D-1.12 PLATFORM DEPLOYMENT DESCRIPTOR 1766

This section describes the XML elements of the Platform Deployment Descriptor (PDD) XML 1767

file; the deploymentplatform element. The intent of the PDD is to provide a means of describing 1768

the collection of services and devices that are associated with a virtual channel. The knowledge 1769

of the channel composition can be utilized as part of an overall systems engineering strategy to 1770

control the allocation of applications to system resources. Another use of the information could 1771

be to improve the efficiency of application deployment as the channel elements would be used to 1772

constrain the search space for the allocation of individual application components. The use of the 1773

PDD is optional within a system, a system designer is free to use allocation properties or other 1774

approaches to manage the allocation of application components to platform resources. 1775

SCA499 A Platform Deployment Descriptor file shall have a “.pdd.xml” extension. 1776

D-1.12.1 deploymentplatform 1777

The deploymentplatform element (see Figure 45) contains the layout of the virtual channels 1778

within a platform domain. 1779

class deploymentplatform

«DTDElement»

deploymentplatform

«DTDSequenceGroup»

deploymentplatform_grp1

«DTDElement»

description

«DTDElement»

channel

- name: ID

1..*0..1

1780

Figure 45: deploymentplatform Element Relationships 1781

<!ELEMENT deploymentplatform 1782 ( description? 1783

, channel+ 1784 ) > 1785

D-1.12.1.1 description 1786

The optional description element of the PDD may be used to provide information about the 1787

platform domain. 1788

Page 78: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

78

<!ELEMENT description (#PCDATA)> 1789

D-1.12.1.2 channel 1790

The channel element (see Figure 46) in the PDD defines the collections of devices and services 1791

that are used by the ApplicationFactory as target resource pools for application deployment. The 1792

channel element’s name attribute contains the identifier for the channel that is used by the 1793

ApplicationFactory and the ADD. 1794

class channel

«DTDElement»

channel

- name: ID

«DTDSequenceGroup»

channel_grp1

«DTDElement»

serv icelist

«DTDElement»

dev icelist

0..10..1

1795

Figure 46: channel Element Relationships 1796

<!ELEMENT channel 1797 ( devicelist? 1798

, servicelist? 1799 ) > 1800 <!ATTLIST channel 1801

name ID #REQUIRED> 1802

D-1.12.1.2.1 devicelist 1803

The optional devicelist element in the PDD defines the collection of devices for a given channel 1804

that are used by the ApplicationFactory as target resource pools for application deployment. 1805

<!ELEMENT devicelist 1806 ( deviceref+ 1807 )> 1808

D-1.12.1.2.1.1 deviceref

The deviceref element is used to reference a componentinstantiation element which is part of the 1809

channel. The refid attribute points to a componentinstantiation identifier for a device that has 1810

registered with the platform. 1811

Page 79: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

79

<!ELEMENT deviceref EMPTY> 1812 <!ATTLIST deviceref 1813

refid CDATA #REQUIRED> 1814

D-1.12.1.2.2 servicelist 1815

The optional servicelist element in the PDD defines the collection of services for a given channel 1816

that are used by the ApplicationFactory as target resource pools for application deployment. 1817

<!ELEMENT servicelist 1818

( serviceref+ 1819 )> 1820

D-1.12.1.2.2.1 serviceref

The serviceref element identifies a service which is part of the channel. The servicename 1821

attribute is identical to the “identifier” portion usagename identifier for a service that has 1822

registered with the platform (for a component service type usagename is provided in an 1823

“identifier\type” format). 1824

<!ELEMENT serviceref EMPTY> 1825

<!ATTLIST serviceref 1826 servicename CDATA #REQUIRED> 1827

Page 80: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

80

D-1.13 APPLICATION DEPLOYMENT DESCRIPTOR 1828

This section describes the XML elements of the Application Deployment Descriptor (ADD) 1829

XML file; the deploymentprecedence element. The intent of the ADD is to provide prioritized 1830

lists of deployment alternatives for application instances. 1831

SCA500 An Application Deployment Descriptor file shall have an “.add.xml” extension. 1832

D-1.13.1 deploymentprecedence 1833

The deploymentprecedence element (see Figure 47) contains the relationship between 1834

application instances and their candidate virtual channels. 1835

class deploymentprecedence

«DTDElement»

description

«DTDElement»

deploymentoption

- deployedname: CDATA

«DTDElement»

deploymentprecedence

«DTDSequenceGroup»

deploymentprecedence_grp1

1..*0..1

1836

Figure 47: deploymentprecedence Element Relationships 1837

<!ELEMENT deploymentprecedence 1838 ( description? 1839 , deploymentoption+ 1840

) > 1841

D-1.13.1.1 description 1842

The optional description element of the ADD may be used to provide information about the 1843

application. 1844

<!ELEMENT description (#PCDATA)> 1845

D-1.13.1.2 deploymentoption 1846

The deploymentoption element (see Figure 48) in the ADD identifies the ordered list of channels 1847

that provide deployment alternatives for a specific application instance. The deployedname 1848

Page 81: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

81

attribute corresponds to a named application instance (e.g. the name parameter passed to the 1849

ApplicationFactory::create operation). 1850

class deploymentoption

«DTDElement»

deploymentoption

- deployedname: CDATA

«DTDElementEmpty»

channelref

- refname: CDATA

«DTDSequenceGroup»

deploymentoption_grp1

«DTDElement»

description

1..*0..1

1851

Figure 48: deploymentoption Element Relationships 1852

<!ELEMENT deploymentoption 1853

( description? 1854 , channelref+ 1855 )> 1856 <!ATTLIST deploymentoption 1857

deployedname CDATA #REQUIRED> 1858 1859

D-1.13.1.2.1 description 1860

The optional description element may be used to provide information about the application 1861

instance. 1862

<!ELEMENT description (#PCDATA)> 1863

D-1.13.1.2.2 channelref 1864

The channelref element is used to reference a channel element from the PDD which provides a 1865

deployment alternative. The refname attribute points to a channel element name attribute that 1866

identifies a channel. 1867

<!ELEMENT channelref EMPTY> 1868 <!ATTLIST channelref 1869

refname CDATA #REQUIRED> 1870

Page 82: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

82

D-1.14 ATTACHMENTS 1871

This appendix includes the following: 1872

Attachment 1: Common Properties Definitions 1873

Page 83: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

i

1

SOFTWARE COMMUNICATIONS ARCHITECTURE 2

SPECIFICATION 3

4

APPENDIX D-1 - ATTACHMENT 1: COMMON PROPERTIES 5

DEFINITIONS 6

7

8

9

10

11

27 December 2011 12

Version: Candidate Release 13

14

Prepared by: 15

JTRS Standards 16 Joint Program Executive Office (JPEO) Joint Tactical Radio System (JTRS) 17

33000 Nixie Way 18 San Diego, CA 92147-5110 19

20

21

22

Statement A - Approved for public release; distribution is unlimited (27 December 2011)

Page 84: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

ii

23

REVISION SUMMARY 24

25

Version Revision Date

Next <Draft> Initial Draft Release 30 November 2010

Candidate

Release Initial Release 27 December 2011

Page 85: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

3

ATTACHMENT D-1 COMMON PROPERTIES ELEMENT 26

D-1.1 SCOPE 27

The following are common properties to be used for component definitions. The common allocation 28

properties definitions are to be used for device allocation properties as appropriate in order to 29

promote the portability of waveform’s components and to enforce standardization of allocation type 30

usage across vendors. 31

D-1.2 CONFORMANCE 32

See SCA Appendix D. 33

D-1.3 CONVENTIONS 34

N/A 35

D-1.4 NORMATIVE REFERENCES 36

N/A 37

D-1.5 INFORMATIVE REFERENCES 38

N/A 39

D-1.6 OS ELEMENT 40

<simple id="DCE:80BF17F0-6C7F-11d4-A226-0050DA314CD6" 41 type="string" name="os_name" mode="readonly"> 42 <description> This property identifies the os_name XML 43

allocation property. 44 </description> 45 <!-- Established values for the os_name element are: --> 46

<!-- AIX, BSDi, VMS, DigitalUnix, DOS, HPBLS, HPUX, IRIX, --> 47 <!-- Linux, LynxOS, MacOS, OS/2, AS/400, MVS, SCO CMW, --> 48 <!-- SCO ODT, Solaris, SunOS, UnixWare, VxWorks, Win95, --> 49 <!-- WinNT, pSOS, RTXC --> 50

<!-- The os_name values are case sensitive. --> 51 <value></value> 52 <kind kindtype="allocation"/> 53

<action type="eq"/> 54 </simple> 55

D-1.7 PROCESSOR ELEMENT 56

<simple id="DCE:9B445600-6C7F-11d4-A226-0050DA314CD6" 57

type="string" name="processor_name" mode="readonly"> 58

Page 86: APPENDIX D-1: PSM - DOCUMENT TYPE … Specification Version: Candidate Release 27 December 2011 i 1 2 SOFTWARE COMMUNICATIONS ARCHITECTURE 3 SPECIFICATION 4 5 APPENDIX D-1: PSM - DOCUMENT

SCA Specification Version: Candidate Release

27 December 2011

4

<description> This property identifies the processor_name XML 59 allocation property. 60

</description> 61 <!-- Established values for the processor_name element are: -62 -> 63 <!-- x86, mips, alpha, ppc, sparc, 680x0, vax, AS/400, --> 64

<!-- S/390, ppcG3, ppcG4, ppcG5, C5x, C6x, ADSP21xx --> 65 <!-- The processor_name values are case sensitive. --> 66 <value></value> 67

<kind kindtype="allocation"/> 68 <action type="eq"/> 69 </simple> 70