Home About Authors Dev’s Guide Changelog User’s Guide Tutorials

Developer’s Guide

Introduction

Welcome developers. Before beginning technical subjects, it will be better to talk about Aestimo, its aim, its place among the other simulators.

Aestimo is aimed to be both educational and research tool. For educational purposes, it must be easy to understand. For research, it must have some point of computational correctness and sensitivity.

If you are looking for a motto for project (we do not have any) or a sentence that explain aestimo, it will be the “The less you have, the more creative you are”

Therefore, we must try the best with minimum code addition. With python, it is impossible to do anything with big add-ons like numpy, pylab,…etc… but this is something else. The aestimo code itself must be minimalist and easy to read. For example: We can use input files in two ways:

So, our choice must be the latter one.

Not everybody can code in object-oriented way, so start with the known way :) We can discuss it in maillist. Use comments in code as many as possible. Learn to use git. Push your changes and make us review it. Before begin

Before beginning to code, there some references that you may interested in:

Some thesis and dissertations about the subject:

You can ask to Dr. Lisesivdin if you have problems with reaching to these references.

Todo / Tasks

Legend: 1:High priority, 2: Normal priority, 3: Low priority

Recently Completed Tasks

Release Plan

Before become a stable release, after completing every 1-3 tasks, new version can be released like 0.7, 0.8… With a agreed discussion on that we have a preliminary stable release, we will open the code to the public, and we can proceed with a new and logical release plan like:

First freeze time : Every 1 March 
First release time : Every 31 March 
Second freeze time : Every 1 September 
Second release time : Every 30 September

Freeze times are the development freeze times. One month before every release, we must freeze the development as its current state. In that month, reviews of codes, testing will be completed. If the total development is not large or negligible, it will be a minor release. Assignments

For a small project with a small group, it may be better use assignments. Please inform when you interested in one or more than one of the tasks written above. So, we can prevent to work more than one person working on same task. Assignments will have deadlines.