personas is Open Source genealogy
software that will be released under the GNU Public License. This home
page gives the current status of development and links to project resources.
Why personas? The
name chosen for the program comes from the terminology used by the
genealogical data model. In this model, a Persona is the
entity that represents an instance of an individual that is being
studied. The concept of Persona is an example of how the model helps
separate evidence from conclusions. Each bit of evidence that is collected
is associated with a distinct Persona. A documented conclusion is needed
to group several Personas together and assert that they refer to the same
individual. This is representative of how the model, uses formal assertions
to build a hierarchy of conclusions from accumulated evidence.
The GENTECH model was chosen as the basis for software development
for several reasons. First, it is a model that emphasizes the separation
of conclusions from evidence. Second, I am an amateur genealogist, so
I looked for a model that was designed by genealogists, experts in the
field. The GENTECH model was developed by such a group in conjunction
with software developers. Third, the model is deliberately abstract
because it was intended as a general framework not an implementation.
Fourth, critiques of the model by the genealogical community have been
favorable. Fifth, there are no implementations of the GENTECH model.
If this project is successful, it will serve as an example and test
of the model.
Additional information on the GENTECH model (including a UML diagram)
can be found at my
website. This website will also contain design notes and UML diagrams
for the Personas implementation.
Programming Language and Platform
This project was started early in 2003 with an experimental C# Windows
application. Since then, the source code has been rewritten in C++, for reasons
discussed below. The GENTECH related classes from this app will serve as
a starting point for a new class library. Initially PersonasConsole,
a console application, is being developed for exercising the class library.
Later a GUI interface will be added on top.
Initially C# was chosen to take advantage of XML support provided by .NET.
(primarily XML Serialization). After completing the Administrative and Evidence
classes, it was clear that using XML serialization was becoming a limitation.
Limiting because the implementation reflects more what the .NET framework will
allow rather than simply expressing the model.
Beginning with the design of the Conclusional sub-model, the source has
been moved to C++. Personas will still use XML data storage but will be added
after the class framework is nearer completion.
Initially the program will operate on any Win32 Windows platforms.
Who is working on this?
Currently just one developer (Stan Mitchell) is involved.
PersonasConsole has been rewritten in C++ with class implementations for all
GENTECH entities. It exercises the classes with a small set of data. The 0.7
release is available as a download (including EXE) from SourceForge at the
Personas Project page.
It requires MS Visual Studio .NET 2003 to build.
The latest development snapshot is available from CVS.
Thank you, Sourceforge!
Last update: September-6-2005