sca-c-cpp message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Re: [sca-c-cpp] ISSUE 98: Scopes and component instances
- From: Bryan Aupperle <aupperle@us.ibm.com>
- To: sca-c-cpp@lists.oasis-open.org
- Date: Fri, 30 Oct 2009 09:43:59 -0400
As we discuss this further, we need
to consider if the client scope would potentially constrain any future
work on conversations. I fully expect conversations to be added to
a future version of SCA so we do not want to do anything now that will
prevent/complicate that when it does happen.
Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Research Triangle Park, NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com
From:
| Bryan Aupperle/Raleigh/IBM@IBMUS
|
To:
| sca-c-cpp@lists.oasis-open.org
|
Date:
| 10/29/2009 03:18 PM
|
Subject:
| [sca-c-cpp] ISSUE 98: Scopes and component
instances |
These are what I believe are the general principles that we have concluded
(and some implications of them) in our discussions. If there are
no major disagreements, I will start working on some draft spec changes.
For C++:
- There are three scopes
- Stateless: Single threaded, Conceptually
a new instance for each function invocation. Use of statics or global variable
access break model but cannot be prevented by runtime. Data members
OK, but cannot be counted across function invocations.
- Client (default): Single threaded,
A new instance for each distinct client instance. Use of statics or global
variable access break model but cannot be prevented by runtime. Data
member values are maintained between function invocations from the same
client instance.
- Composite: Multi threaded, One
instance for life time of composite. Statics and global variable
access OK if domain level composite, for other composites, statics and
global variables can result in unindented data sharing. Data members
OK.
- The runtime does no synchronization
- Library is loaded when composite using
a component implementation in the library is placed in running state.
- Eager initialization means object created
when composite using component implementation is placed in running state.
- Implementations cannot assume a library
is ever unloaded.
For C:
- No scopes
- Need to allow properties to be local
variables (multiple local variables with function of one implementation
are OK if either different names - different properties - or same names
and types - one property, same name and different types is an error).
- The runtime does no synchronization
- Library is loaded when composite using
a component implementation in the library is placed in running state.
- Eager initialization means object created
when composite using component implementation is placed in running state.
- Init and destroy function of an implementation
can be multiple time is the implementation is used for components in multiple
composites.
- Implementations cannot assume a library
is ever unloaded.
Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Research Triangle Park, NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]