Uno/Effort/Binary/Extend Threading-Model

From Apache OpenOffice Wiki
< Uno
Revision as of 13:59, 1 March 2006 by Kr (Talk | contribs)

Jump to: navigation, search

The Advanced UNO Threading Framework Effort

[1], [2]

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.

UNO Envs.jpg

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.

Meta Specifications
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
Features for Binary UNO
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.

Personal tools