The practical and successful application of software engineering techniques is often prevented or limited by the difference between the operating system in which software has to operate, which is often defined in terms of high-level concepts such as "actors", "responsibilities'", "aims", and "goals", and the actual system, which is a collection of software modules, data structures, and interfaces. Managing the process of mapping the high-level concepts into appropriate software modules requires to involve high-qualified domain experts and to apply complex, often very time consuming, development methodologies.

In many cases, this approach is impossible, expecially for small-size and medium-size enterprises, where the shortage of resources does not allow for such investments, and the high level of competition (for example, for e-commerce and e-bussiness applications) forces a decrease of the time to market of the products. Such problems lead to the lack (or insufficient) of application of the correct methodologies for software development, resulting in a quality loss, and a lack of certification.

In order to solve this problem, there is a need to define precise software engineering techniques and methodologies usable for every enterprise, even those of small or medium size. By applying these techniques and methodologies, a larger set of developers would be able to realize high-quality certifiable software with a short time to market, and with limited costs.

The Project

KLASE (Knowledge Level Automated Software Engineering) is a four year project, ending in November 2006, funded by the Italian Ministry for University and Research under the FIRB "Basic Research" framework, protocol number RBNE0195K5.

Its aim is to apply "knowledge-level" modeling techiques to allow for an integrated model that encompasses the high-level concepts used in the early steps of development and the technical views used in later phases. Moreover, it adopts "automated" techniques to support the process of progressive refinements from high-level models to actual implementation. These techniques will cover activities such as verification & validation, automated planning, documentation analysis, testing of systems.