CAMILA formal software engineering supported by functional programming - Oliveira, J. N. (1997)
This paper describes two experiences in teaching a formal approach to software engineering at undergraduate level supported by Camila a functional programming based tool Carried on in di erent institutions each of them addresses a particular topic in the area requirement analysis and generic systems design in the rst case speci cation and implementation development in the second Camila the common framework to both experiences animates a set based language extended with a mild use of category theory which can be reasoned upon for program calculation and classi cation purposes The project a liates itself to but is not restricted to the research in exploring Functional Programming as a rapid prototyping environment for formal software models Its kernel is fully connectable to external applications and equipped with a component repository and distribution facilities The paper explains how Camila is being used in the educational practice as a tool to think with providing a kind of cross fertilization between students under standing of di erent parts of the curriculum Furthermore it helps in developing a number of engineering skills namely the ability to analyze and classify infor mation problems and models and to resort to the combined use of di erent programming frameworks in approaching them.