Personal tools
You are here: Home Working Groups Event Service Draft framework+gui event topic naming and payload

Draft framework+gui event topic naming and payload

by baallan last modified Apr 20, 2009 03:24 PM

Draft (based on ccafe04 java framework) of topics and typemap payload details suitable for issuance by frameworks (or to instruct frameworks) and consumption by UI codes.

topics.framework.txt — Plain Text, 4Kb

File contents

Notes on topics and contents for a framework(context)/gui scheme.
This scheme came from and is mappable to an event object type hierarchy
(prototyped in java cca framework ccafe04). Flattening down to hash (typemap and
topics) initially is as follows and eliminates polymorphism pain.
Ben Allan, Sandia NL, April 2009, for extension by Kosta and other friends.


Topic names:
cca.* reserved to cca specified events and derivatives.
cca.context.* described below to explain what goes on in or with a frame instance scope.

All cca events will have the following attributes:
	1) int:  context-event-type { an int value within a defined list (a) (maps to enum, obviously). }
	2) string: source-id {string form of the component or framework container generating the event}
	3) int: source-key {unique source point identifier within the source-id caller}
	4) long: sequence-number { emitted in a monotonically increasing sequence for each source-id:source-key pair}
	5) string: description { something user readable if it makes sense }

(a) int values convenient for lots of hpc (c switch) style dispatch since polymorphism in babel can be
so painful. The values so far suggested are:
-2: None. When digesting an alleged std::string or int type, it was found not to be in the standard. 
-1: Error. {some deep foulup has occurred; should never be deliberately sent or received}.
0:  ALL. {wild card mapping to non-string code.}
1:  ConnectPending
2:  Connected
3:  DisconnectPending
4:  Disconnected
5:  ComponentInstanceAddPending 
6:  ComponentInstanceAdded 
7:  ComponentInstanceDeletePending 
8:  ComponentInstanceDeleted 
9:  PortAddPending 
10: PortAdded 
11: PortRemovePending 
12: PortRemoved 
13: PortRegisterPending 
14: PortRegistered 
15: PortUnregisterPending 
16: PortUnregistered 
17: PortFetchPending 
18: PortFetched 
19: PortReleasePending 
20: PortReleased 
21: FactoryOpened 
22: FactoryClosed 
23: ContextClosing 
24: GoPortRequest
25: GoPortResult

(b)   The following additional info, if present, may make the event
      interpretable in the scope of the outermost framework (which may not be
      the originating framework). This
      is handy mainly as that's where the interactive user interface 
      will reside. 

      6) string: containerFullyQualifiedInstanceName
      7) string: componentFullyQualifiedInstanceName
      8) string: callerComponentFullyQualifiedInstanceName
      9) string: calleeComponentFullyQualifiedInstanceName

Topic names and additional attributes or attribute restrictions with in-frame semantics:
cca.context.connection)
	string: context-event-type in {1-4}
	string: user-component
	string: provider-component
	string: user-port
	string: provider-port

cca.context.component-instance.add-request)
	string: context-event-type in {5}
	string: component-class-name
	string: component-instance-name-requested

cca.context.component-instance.added)
	string: context-event-type in {6}
	string: component-class-name
	string: component-instance-name

cca.context.component-instance.delete-request)
	string: context-event-type in {7}
	string: component-class-name
	string: component-instance-name

cca.context.component-instance.deleted)
	string: context-event-type in {8}
	string: dead-component-class-name
	string: dead-component-instance-name

cca.context.port-instance.definition)
	string: context-event-type in {9-16}
	string: component-instance-name 
	string: port-instance-name
	string: port-class-name

cca.context.port-instance.activity)
	string: context-event-type in {17-20}
	string: component-instance-name 
	string: port-instance-name
	string: port-class-name
	string: connection-instance-name

cca.context.component-factory)
	string: context-event-type in {21-22}
	string: factory-component-id
	string: factory-port-name

cca.context.closing)
	string: context-event-type in {23}

cca.context.goport.started)
	string: context-event-type in {24}
	string: component-instance-name 
	string: port-instance-name

cca.context.goport.finished)
	string: context-event-type in {25}
	string: component-instance-name 
	string: port-instance-name
	int:    result
	string: exception-string
Document Actions