Recommended Property Tree Enhancements: Difference between revisions

Jump to navigation Jump to search
Switch to {{flightgear url}} and {{simgear url}} to fix the broken Gitorious links.
m (→‎Permission handling related: https://gitorious.org/fg/flightgear/commit/771586854b84f6824112f10f854488979e960094)
(Switch to {{flightgear url}} and {{simgear url}} to fix the broken Gitorious links.)
 
(2 intermediate revisions by one other user not shown)
Line 81: Line 81:


== Introducing "Managed Properties" ==
== Introducing "Managed Properties" ==
{{FGCquote
|1= Making the property tree thread-safe is an interesting but a very daunting task since properties are (ab)used in so many ways.. :) I have a soft spot for using multi-buffering to support concurrent readers with concurrent writers, but for something as unstructured (in terms of who writes where) as this I'm at a loss to see how or if it could be applied.
|2= {{cite web
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34797127/
  | title  = <nowiki>Re: [Flightgear-devel] Designing a thread-safe property tree API
(was Re: A FGPythonSys implementation: ...)</nowiki>
  | author = <nowiki>Anders Gidenstam</nowiki>
  | date  = Jan 26th, 2016
  | added  = Jan 26th, 2016
  | script_version = 0.23
  }}
}}
{{FGCquote
|1= the property tree as it is currently is in need of some rework because of the ownship (single desktop aircraft) approach. This is easier than it sounds - basically most of the property tree becomes part of the aircraft and only a few items are shared. This will also allow the switching of aircraft. The reason to consider this now, and maybe not implement it, is to ensure that the design will support this when it is time to implement it.
|2= {{cite web
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34631875/
  | title  = <nowiki>Re: [Flightgear-devel] HLA developments</nowiki>
  | author = <nowiki>Richard Harrison</nowiki>
  | date  = Nov 19th, 2015
  | added  = Nov 19th, 2015
  | script_version = 0.23
  }}
}}


The idea is to introduce so called "managed properties" for crucial runtime state, in order to optionally ensure, enforce and maintain integrity of such state variables by using additional meta information to apply data-integrity requirements, as well as access privileges to prevent important runtime state from being mutated by non-authorized components or invalid data.
The idea is to introduce so called "managed properties" for crucial runtime state, in order to optionally ensure, enforce and maintain integrity of such state variables by using additional meta information to apply data-integrity requirements, as well as access privileges to prevent important runtime state from being mutated by non-authorized components or invalid data.
Line 139: Line 163:


=== Permission handling related ===
=== Permission handling related ===
* <del>"readonly/constant" for constant values that may not change during runtime (or currently: whose changes won't take effect until restart?)</del> [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg19312.html] {{Done}} (by TheTom [https://gitorious.org/fg/simgear/commit/0b197501e1cc611606b9c3728613530714539717] [https://gitorious.org/fg/flightgear/commit/771586854b84f6824112f10f854488979e960094])
* <del>"readonly/constant" for constant values that may not change during runtime (or currently: whose changes won't take effect until restart?)</del> [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg19312.html] {{Done}} (by TheTom [{{simgear url|commit=0b197501e1cc611606b9c3728613530714539717}}] [{{flightgear url|commit=771586854b84f6824112f10f854488979e960094}}])


=== File handling related ===
=== File handling related ===

Navigation menu