The project architecture

Posted on February 16, 02009
Filed Under Bede, DaVinci, Development, Drake, Flash, Harrison, Herodotus, Journal, Kepler, Latham, Projects

After reviewing what I want to achieve from the project I have identified seven areas I need to work on. Each area will become its own project and is named after a major figure in that field. The plan is to post about the work here and check in newly completed functionality into http://code.google.com/p/computus/ .

The Model View Controller declarations in the diagram below are only intended to be broadly indicative of the functionality. As you'll see most of the work falls into the Model domain as it involves managing historical data. This should be good news for anyone wanting to use this work elsewhere. Although I'll be using Flash to build my UI, all of the model classes will be in pure AS3; meaning they can be used as-is in Flex or AIR (and with a bit of fiddling, converted to Javascript).

Much of last years work falls easily into the new structure. The Timekeeper class becomes part of Harrison, a project focusing on timekeeping in AS3. The Flash BaseComponent class will form the foundation of the user interface, a project that could only be named after Da Vinci, the archetypal artist/engineer.

Herodotus concerns itself with the accumulation and management of historical data. Named after the first ever historian this project will focus on importing and parsing all kinds of temporal data.

The twin project to Herodotus will be Bede. This is a project concerned with the generation of temporal data. These classes will principally be used to calculate the dates of movable feasts and other days of observance.

Both Herodotus and Bede will make use of the calendrical framework Latham. This project is named after the late Lance Latham, who's Standard C Date/Time Library was one of the original inspirations for The Computus Engine. Latham will support the storage of historical dates and simplify conversion between different timescales and calendar systems. Algorithmic calendars will be the first to be supported.

Astronomical calendars will follow in Latham after the completion of Kepler. I find it ridiculous that we don't yet have an open source astronomical framework in Actionscript. It looks like Im going to have to build my own. I really only need to generate ephemeris data for the earth, sun and moon but hopefully this might be enough to jump start a full astronomical framework in AS3. This is the International Year of Astronomy after all.

The last part of the puzzle is Drake which concerns itself with spatial calculations, and geocentrics is a prerequisite for Kepler. I may not need to do much with this as there seems to be a fair bit of good geo code kicking around already - mainly due to the huge number of PV3D earth demos!

The diagram below shows how the different projects fit together.

ce-project-structure

Share/Bookmark

Related Journal Entries

  1. Project updates April 2009
  2. Hacking the Date class for GeoLocation
  3. Revelation
  4. Big History
  5. The Computus Engine on Google Code
  6. A review of Temporal Web Standards
  7. Projects update March 2009
  8. Choosing an Open Source Licence: II
  9. Component framework July update
  10. Inside the AS3 Date class: Introduction
  11. Choosing an AS3 component framework
  12. Building an accurate Timekeeper in AS3: II
  13. Building an accurate Timekeeper in AS3
  14. Minkowski Spacetime
  15. Building an AS3 component framework: Garbage Management

Comments

Leave a Comment

If you would like to make a comment, please fill out the form below.

Name (required)

Email (required)

Website

Comments