Uno/Effort/Binary/Extend Threading-Model
The Advanced UNO Threading Framework Effort
Status: in progress
changed: --Kr 12:37, 1 March 2006 (CET)
The UNO Threading Framework basically introduces the notion of an apartment into the UNO world. An apartment in UNO terms is a purpose environment. An environment can be seen as a dedicated part of a process, giving space for objects of the same ABI and the same purpose. An environment can only be entered and left via defined doors, being proxy objects representing objects outside respectively inside the apartment.
Purpose environments may be dedicated to MutExes or threads. In the sense, that a MutEx becomes acquired or a thread gets switched before a call enters an environment.
The following specifications and features give an overview over the UNO Threading Framework. The specifications roughly depend on each other in the order listed. For example, the Threading Models specification depends on the Implementation Environments, all pieces basically creating a stack.
Version | Changed | Type | Title |
0.1 | 12/09/2005 | Spec | Threading Models |
0.0 | 12/09/2005 | Spec | Implementation Environments |
0.0 | 12/09/2005 | Spec | Thread Apartment |
0.0 | 12/09/2005 | Spec | Mutex Apartment |
0.1 | 01/20/2006 | Spec | Environment Stacks |
0.0 | 12/09/2005 | Spec | Mapping between Purpose Environments |
0.0 | 12/09/2005 | Spec | Purpose Environments |
0.0 | 12/09/2005 | Spec | Environment Substitution |
0.0 | 12/09/2005 | Spec | Identity Mapping |
0.0 | 12/09/2005 | Spec | Misc. Improvements |
Title | Spec | % | Changed | Impl | % | Changed | Test | % | Changed |
Threading Models 0.1 | 80% | 01/10/2006 | open | 0% | 12/14/2005 | open | 0% | 12/14/2005 | |
Implementation Environment | 0.3 | 80% | 01/24/2006 | UTF2 | 100% | 01/24/2006 | |||
Mutex Environment | 0.1 | 80% | 01/17/2006 | UTF2 | 100% | 02/13/2006 | UTF2 | 80% | 01/27/2006 |
Thread Environment | 0.1 | 80% | 01/17/2006 | UTF2 | 100% | 01/17/2006 | UTF2 | 80% | 01/27/2006 |
Environment Stacks | 0.7 | 80% | 01/17/2006 | UTF2 | 100% | 02/27/2006 | UTF2 | 100% | 01/27/2006 |
Cascaded Mappings | 0.3 | 100% | 12/22/2005 | UTF2 100% | 02/01/2006 | UTF2 100% | 01/30/2006 | ||
Purpose Environments | 0.5 | 100% | 12/21/2005 | UTF2 | 100% | 12/21/2005 | UTF2 | 100% | 02/01/2006 |
Environment Substitution | 0.3 | 80% | 02/01/2006 | UTF2 | 100% | 02/01/2006 | UTF2 | 100% | 02/01/2006 |
Identity Mapping | 0.2 | 100% | 12/20/2005 | UTF2 | 100% | 12/16/2005 | open | 0% | 12/14/2005 |
Misc. Improvements | 0.1 | 80% | 12/14/2005 | UTF2 100% | 12/16/2005 | open | 0% | 12/14/2005 | |
New Binary UNO Tools | |||||||||
Title | Spec | % | Changed | Impl | % | Changed | Test | % | Changed |
Debug Environment | 0.1 | 80% | 01/23/2006 | UTF2 | 100% | 01/23/2006 | UTF2 | 100% | 01/23/2006 |
New Binary UNO Testers | |||||||||
Title | Spec | % | Changed | Impl | % | Changed | Test | % | Changed |
Environment Stack Tester | 0.1 | 80% | 01/27/2006 | UTF2 | 100% | 02/01/2006 | |||
Mapping Tester | 0.1 | 80% | 12/22/2005 | UTF2 | 100% | 01/30/2006 | |||
Environment Tester | 0.1 | 80% | 12/22/2005 | UTF2 | 100% | 02/17/2006 | |||
Features for the Binary UNO Component Loader | |||||||||
Title | Spec | % | Changed | Impl | % | Changed | Test | % | Changed |
Implementation Env. Support | 0.1 80% | 02/09/2006 | UTF2 100% 02/09/2006 | 02/09/2006 | |||||
Environment Stack Support | 0.1 | 80% | 02/08/2006 | UTF2 | 100% | 02/09/2006 | UTF2 | 100% | 02/09/2006 |
Implementation Specific Environments | 0.1 | 100% | 12/20/2005 | UTF2 | 100% | 02/08/2006 | UTF2 | 100% | 02/09/2006 |
Adapt to Misc. Improvements | UTF2 | 100% | 02/08/2006 | ||||||
Adapt to Identity Mapping | UTF2 | 100% | 02/07/2006 | ||||||
Remove Deprecated Stuff | UTF2 | 100% | 02/07/2006 | ||||||
Features for C++ UNO | |||||||||
Title | Spec | % | Changed | Impl | % | Changed | Test | % | Changed |
Shield helpers | 0.1 | 80% | 02/28/2006 | UTF2 | 100% | 02/28/2006 | UTF2 | 100% | 02/28/2006 |
Environment Aware Reference | 0.1 | 80% | 01/10/2006 | UTF2 | 100% | 02/23/2006 | UTF2 | 100% | 02/03/2006 |
Environment Guards | 0.1 | 80% | 01/10/2006 | UTF2 | 100% | 01/11/2006 | open | 0% | 01/10/2006 |
Implementation Environment | 0.3 | 80% | 02/14/2006 | UTF2 | 100% | 02/28/2006 | UTF2 | 100% | 02/17/2006 |
Environment Stacks | 0.3 | 80% | 02/10/2006 | UTF2 | 100% | 02/10/2006 | UTF2 | 100% | 02/10/2006 |
Test Helper: Object Factory | 0.1 | 80% | 01/30/2006 | UTF2 100% | 01/31/2006 | ||||
Bridge: Purpose Env. Support | UTF2 | 100% | 01/30/2006 | UTF2 | 100% | 01/30/2006 | |||
Helper: Purpose Environment Implementation | 0.2 | 80% | 01/23/2006 | UTF2 100% | 02/14/2006 | 100% | 01/30/2006 | ||
Features for Java UNO | |||||||||
Title | Spec | % | Changed | Impl | % | Changed | Test | % | Changed |
JNI Bridge: Purpose Env. Support | |||||||||
URP Bridge: Purpose Env. Support | |||||||||
Features for CLI UNO | |||||||||
Title | Spec | % | Changed | Impl | % | Changed | Test | % | Changed |
Features for remote UNO | |||||||||
Title | Spec | % | Changed | Impl | % | Changed | Test | % | Changed |
Purpose Env. Support |
Current understanding of the topic lets us think, that the changes of OOo / UNO on behalf of the Threading Framework are going to be integrated into one of the next updates, probably early in 2006.