Submitted to: Information Technologies Conference Proceedings
Publication Type: Peer Reviewed Journal
Publication Acceptance Date: 1/3/2014
Publication Date: 4/7/2014
Citation: Yocum, I.S., Reza, H., Kemp, W.P., Rinehart, J.P., Dennis, B. 2014. Reverse engineering of legacy agricultural phenology modeling system. In: Proceedings of the 11th International Conference on Information Technology: New Generations, April 7-9, 2014, Las Vegas, NV. p. 508-513. Interpretive Summary: The future growth of plants and insects can be predicted by measuring the total amount of heat they have been exposed to and giving this information to a computer program capable of running statistical algorithms. This sort of prediction can allow growers to do things such as spraying pesticides or pollinating their crops at the optimal time, saving money and resources while increasing yield. A program was created for this purpose in the late 1980's but it is no longer able to meet the needs of modern growers and researchers. This paper covers the process of creating a modern successor to the original program which meets the needs of today while also using the principles of computer science and engineering to be as open and as flexible as possible to better meet the needs of tomorrow. Much of this work was done at the behest of the Californian almond growers who need to know when their trees.
Technical Abstract: A program which implements predictive phenology modeling is a valuable tool for growers and scientists. Such a program was created in the late 1980's by the creators of general phenology modeling as proof of their techniques. However, this first program could not continue to meet the needs of the field which created it and needed to be expanded or replaced. This paper presents an overview of the aims of phenology modeling and the legacy program which demonstrated it. The paper then discusses the process of reverse-engineering the legacy program and specifying the functionality for its successor. The result is a program which implements all the functions of the legacy code while providing a modern platform that is maintainable, portable, and open.