The problems for analysts are:
(1) How to use UML notation for analysis and design reusable components in specific domains?
(2) How to be sure that the analysis is complete and consistent?
(3) How to check the pertinence of the analysis with a specialist who is not comfortable with UML?
(4) How to describe reusable components?
Our main objective is to solve these problems by providing:
(1) a process using the UML notation in three contexts (software, business processes and knowledge engineering);
(2) plug-in tools that can check UML diagrams and that can generate different types of documentation in different contexts. These tools will be complementary to existing UML tools and will be usable from Internet. We achieved these objectives with a group of partners, specialist in each theme. The results of this project will be used by an increasing number of UML users in the world.
The different objectives of the project are:
(1) Definition of the process which can be a guideline in different activities (software, business processes and knowledge engineering). This process guide (a book) is a common base for UML users;
(2) Definition of one tool that can check the coherence of different UML diagrams according to the context in which the notation is used;
(3) Definition of one tool that can generate documentation in different contexts. This tool must provide different points of view on the analysis and design phases, according to the reader of the documentation and his knowledge of UML notation;
(4) All of the tools developed in the project must be usable from Internet without specific editing tools. The process guideline (the book) and the tools must make the use of UML notation easier and, will promote this use into several contexts.
The work is organised around eight main points:
(1) The study of UML, XML XSL, XMI, UOL, script languages, in order to allow all the partners to start the project at the same knowledge level;
(2) The identification and the description of a significant set of applications in: Software Engineering, Business Processes and Knowledge Engineering;
(3) The definition of a UML process characterized by: (3.1) An improved communication between end users and developers and between different development teams, due to new document templates; (3.2) An improvement of project quality and a reduction of development time by the means of checks performed in the earliest life cycle phases. (3.3) A strong support for the development of projects in the domains mentioned at 2;
(4) The description of this UML process in a book, where the most suitable and intuitive examples from point 2 will be described. The book will emphasis the advantages gained by the use of document templates and checking done by the NEPTUNE tool;
(5) The specification of a set of document templates meant to substantially improve the communication mentioned at 3.1;
(6) The specification of a set of checking rules meant to support the coherence and completeness of UML projects. These rules will be: predefined and user defined. Each of the two above-mentioned categories will include one of the following subcategories: general rules (for analysis and design) and specific rules. Specific rules include SE, BP and KE rules. In order to support the user defined rules, an existing script language will be adapted or a new one will be defined;
(7) The design of a UML repository and of an API suited both for the document generator and the checker. This will be followed by the development (in parallel) of the repository, the API, the document generator and the checker plug in prototypes in Internet browsers;
(8) The testing of the above mentioned prototypes. Both the set of applications mentioned at 2 and other user examples will be taken into consideration. The prototypes will be improved according by feedback received. All the changes will be reflected in the final book's version.
Three major milestones are present in the project:
(1) End of specification (main results: set of rules, set of document models);
(2) end of the developments (main results: tools);
(3) end of experimentation (main results: validation of tools and final book of the process - distributed during conferences - HTML pages). The proposition of our study to the OMG is a significant contribution of the EC toward the standardisation of UML.
The project is now finished and the NEPTUNE technical achievements are reached. Indeed we have a validated tool with a process and a set of rules to check and document the UML models using XMI, OCL and XSL.
Funding SchemeCSC - Cost-sharing contracts
75794 Paris Cedex 16
H4Z 1C3 Montreal