ICONS home > Project Documents > D14
For a presentation of D14, D15, D16 and D17 click here (PowerPoint, 447KB).
This report is to guide the ICONS platform development process that will take place in the third ICONS project semester i.e. between January and June of 2003. The two major activities of this semester are detailed design and coding. Therefore, the report, in consecutive sections, addresses the issues relevant to these activities: table of contents for modules' detailed design, design tools, integrated development environment for code development, coding practices and configuration management.
In the hereby-imposed constraints on the development environment we balance between the two ambitions of the ICONS project:
An additional challenge is the fact that software modules constituting the ICONS platform come from different sources (contributed either by partners or open source community). It is Rodan's major role to seamlessly integrate these modules, which is feasible, again, if some common software denominator is agreed upon.
In the selection of the software development tools and methods we one more time decided to capitalise on the open source community's effort and achievements (see [ICONS D05]). There are a number of reasons to do so:
The hereby-presented development environment was initially proposed by Rodan (due to its "major integrator" role) and after some minor changes accepted by the other partners.
Although the agreed strategic direction is JAVA and J2EE we already know that some of the modules will be developed in different technologies (e.g. C, C++). It holds only for modules having their preliminary versions available before project commence (e.g. Datalog engine or SDDS). Rewriting them to JAVA at the prototyping stage seems to be mundane, unnecessary and unessential effort while it would increase risks related to the integration deadlines. Therefore, with respect to several modules a conscious decision of writing JAVA wrappers on legacy code has been made. This is of no influence on the prototype results, and it keeps the option open of a future "ultimate" solution (i.e. rewriting to JAVA) after gaining a proof of concept with respect to the modules' effectiveness in knowledge intensive applications.
This report is succinct as it mainly gives references to the publicly available sources of information on the web.