Re: [boost] extensions and repository

Isnt this quite close to the description of a database?
regards Andy Little
It specifically reminds me of tuple spaces
Regards, Michael
It could be used to implement either of these. It is especially similar to tuple spaces. However, it is meant for situations where a database or tuple spaces are not precisely what is needed. If a database or tuple spaces is a good fit for a project, there are more appropriate solutions than the code that I am working on. The reason I, personally, have developed this is for use in high speed numerical software (which is why I want your opinions on its general usefulness). I had the following design considerations: 1- I don't want to use any sort of concurrency mechanism UNLESS I decide that the data in question should be accessible by multiple threads. That flexibility is built in. 2- I wanted each consumer to be able to, if needed, have direct access to the data in the repository. I did not want the software to be required to do a lookup every time. (though it can) 3- I wanted to be able to implement the Observer pattern (callbacks when data changes, etc.). 4- I wanted to minimize and easily track dependencies between classes. The software I am working on that uses this libraries attempts to make it so that most of the dependencies between classes are merely the shared data. As I alluded to in my previous post, a lot of the design considerations were based on using it to facilitate the shared library class I have been designing. What I'm especially interested in are the following: 1- What major pitfalls do any of you see? 2- Am I replicating functionality that can easily be found elsewhere (perhaps there is an implementation of tuple spaces that provides all of the same functionality)? 3- What features would be desirable? If there is enough interest, I will put up a web page about the project and provide better details (and later interfaces and source code) about the work. I just want to make sure that this is something that people would be interested in using. Thanks for the input thus far. Jeremy Pack "Michael Walter" <michael.walter@gmail.com> wrote in message news:<877e9a170608290147x56dd5eebr8545d1259d628c1d@mail.gmail.com>...
It specifically reminds me of tuple spaces.
Regards, Michael
On 8/29/06, Andy Little <andy@servocomm.freeserve.co.uk> wrote:
"Jeremy Pack" <Jeremy.Pack@sdl.usu.edu> wrote in message news:468EB9093DC44F4D9CBADE5C87BE5D1915FD8C@cobra.usurf.usu.edu...
The team_members are not dependent on the project_leader - they are depending on the information in the repository. The situation could be changed so that a certain team_member, or a higher level manager placed the information in the repository, and the team_member class would not need to be modified, as long as the meeting information structure was the same.
As I've designed it so far, the library has the following features:
-Data in the repository is indexed by strings
-Type-safe (type-safety across shared libraries may not work on all platforms, because of usage of RTTI. If I work to have this library reviewed for boost, this will need to be discussed)
-Thread-safety can be built into a variable in the repository (using boost.threads, variables can make automatic use of mutexes and such)
-Functions or functors can be used to verify that each data item in the repository stays in a consistent state (for instance, the repository can check that a number does not leave a certain range).
-A function or list of functions can be called when a value is updated - this can be used to implement the Observer pattern. Note
that this could be used to provide for distributed repositories.
Isnt this quite close to the description of a database?
regards Any Little
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (1)
-
Jeremy Pack