A Method to Annotate Programs with High-Level Knowledge of Computation

When programming in languages such as C, Java, etc., it is difficult to reconstruct the programmer's ideas only from the program code. This occurs mainly because, much of the programmer's ideas behind the implementation are not recorded in the code during implementation. For example, physical aspects of computation such as spatial structures, activities, and meaning of variables are not required as instructions to the computer and are often excluded. This makes the future reconstruction of the original ideas difficult. AIDA, which is a multimedia programming language based on the cyberFilm model, can solve these problems allowing to describe ideas behind programs using advanced annotation methods as a natural extension to programming. In this paper, a development environment that implements the AIDA language is presented with a focus on the annotation methods. In particular, an actual scientific numerical computation code is created and the effects of the annotation methods are analyzed.




References:
[1] T. D. LaToza, G. Venolia and R. DeLine, "Maintaining Mental Models: A
Study of Developer Work Habits", ICSE, New York, 2006.
[2] T. D. LaToza, D. Garlan, J. D. Herbsleb and B. A. Myers, "Program
Comprehension as Fact Finding", ESEC-FSE, New York, 2007.
[3] D. Lawrie, C. Morrell, H. Feild and D. Binkley, "What's in a Name? A
Study of Identifiers" In 14th International Conference on Program
Comprehension.
[4] S. A. Dupree, S. K. Fraley, "A Monte Carlo Primer: A Practical Approach
to Radiation Transport", Kluwer Academic/Plenum Publisher, New York,
2002.
[5] S. A. Dupree, S. K. Fraley, "A Monte Carlo Primer Volume 2: A Practical
Approach to Radiation Transport", Kluwer Academic/Plenum Publisher,
New York, 2004.
[6] N. Mirenkov, A. Vazhenin, R. Yoshioka, T. Ebihara, T. Hitomi and T.
Mirenkova "Self-Explanatory Components: a New Programming
Paradigm", International Journal of Software Engineering and
Knowledge Engineering, 11(1), 5-36, 2001.
[7] N. Mirenkov and R. Yoshioka, "Visual Computing Within Environment
of Self-explanatory Components", Soft Computing Journal 7, 20-32,
2002.
[8] N. Mirenkov and R. Yoshioka, "A Multimedia System to Render and Edit
Self-Explanatory Components", The Journal of Internet Technologies,
3(1), 1-10, 2002.
[9] Y. Watanobe, N. Mirenkov and R. Yoshioka, "Algorithmic CyberFilm
Language", FCST '06, Japan-China Joint Workshop, 2006.
[10] T. Ebihara, "A Program Generator from CyberFilm Specifications",
unpublished, University of Aizu, 2005.
[11] K. Takeshige, "A Language of Embedded Clarity Support", unpublished,
University of Aizu, 2011.