• No results found

Uljanik Shipbuilding Computer Systems d.o.o., Pula, Croatia

ABSTRACT: Although IMPROVE is primarily not a software development project, different tools have been developed. Since these modules have to be connected to external applications and additionally share common data, an integration concept was needed. The focus of this concept was a pragmatic realization while keeping in mind the further usage and extensibility towards a more complex and network based implementation. Major components of the IMPROVE integration are common libraries ,an IMPROVE data base and a graphical user interface.

1

INTRODUCTION

One issue to be solved within the IMPROVE project was the integration of the software modules developed in the different workpackages. This integration comprises the data view which reflects the fact that the IMPROVE algorithms need information generated by external design applications and also create data that will be further processed by other IMPROVE or external tools. Therefore one goal was the definition of a common data model for all new IMPROVE tools.

A second task of the integration workpackage was the generation of an IMPROVE framework that makes available the software-related results of the project as a unified interface for application developers as well as for end-users.

A basic principle of the IMPROVE integration is the realization of a pragmatic approach considering the fact that software development is not a central concern of the project. However, the solution is still generic enough to make it useful for users outside IMPROVE.

2

GENERAL APPROACH

IMPROVE integration takes place on three different levels:

 Data exchange  Programming interface  User interface

Each of these three areas has been covered by a software module. The first two modules have been kept as independent as possible from each other to ensure that use of them can be customized to the specific needs of the application context.

Figure 1 shows the grouping of the integration components. The IMPROVE database stores all information relevant for the exchange between external applications and the IMPROVE tools. The IMPROVE Toolbox DLL establishes a unified interface of the different algorithms to external applications while the IMPROVE GUI supports the manual interaction with each of the components.

Software integration in the context of the IMPROVE project

3

IMPROVE DATA MODEL

In order to avoid the definition of yet another ship design data model it has been decided to use the BV MARS data model and adapt it to the needs of IMPROVE. The reason for this decision was the possibility to directly import and export this format in some of the basic applications used in the project. Implementation of the model was realized as an XML database file that was attached to a C++ and a Java interface. Therefore access to the exchange data can easily be implemented without low level access to the XML file.

As a support for the data exchange process, converters from OCTOPUS and MARS into the XML format and vice versa have been developed.

4

INTEGRATION ON API LEVEL

Application programmers can integrate the IMPROVE functions into their own components via the IMPROVE toolbox DLL. For each algorithm and each converter, wrapper functions have been created. C, C++ and Java applications can use the algorithms without caring about different programming languages and compiler types as these low-level technical problems are hidden inside the dynamic library. This issue had to be addressed since the IMPROVE algorithms have been implemented with different FORTRAN and C++ compilers.

A second library provides similar access to the IMPROVE data model. By linking these two function sets to an application, the full IMPROVE functionality is available. The only restriction is that integration is currently limited to MS Windows systems.

5

INTEGRATION ON USER LEVEL

The IMPROVE algorithms are developed as extensions to existing design applications such as OCTOPUS or LBR- 5. Therefore they are typically not called directly. However, some parts of the IMPROVE integration environment are also useful when opened interactively. Furthermore, tests of the algorithms can be performed easier when having direct access to them via a graphical user interface.

The IMPROVE GUI enables the user to load a model, view and edit it, and to run the different algorithms. It also offers direct access to the converters to support the import and export of databases by means of the proprietary application formats.

When opening the GUI, the user can first select a model which is then opened and viewed as a tree of data (figure 2). While the overall structure of the tree cannot be changed (it is determined by the underlying XML structure), each data

field can be edited in order to correct errors and to test different parameter sets. The different values are transferred into the algorithm configuration tab sheets where this makes sense.

Figure 2. Database tree view

Another task is the configuration of the algorithms. While some of the parameters are stored in the database this is not the case for all of them. They can be manually entered before the algorithm is run. After performing the calculation the results can be shown on the screen, stored in the database or saved to a separate file, depending on the intended use. Figure 3 shows the configuration of the fatigue algorithm.

Figure 3. Algorithm configuration

6

INTEGRATION ON NETWORK LEVEL

An even higher integration level has been tackled during the integration. Algorithms should be made available as services running on remote computers. Support of workflows was planned to become an additional feature. Although experiments with two different integration platforms (Reconfigurable Computing Environment/RCE and Virtual Integration Platform/VIP) which were developed in parallel research projects yielded promising results, the complexity was too high to realize a useable

Software integration in the context of the IMPROVE project

solution within the scope of IMPROVE. Nevertheless the implementation of the local integration environment, namely the Java implementation, has been implemented in a way that supports the easy adaptation to a networked environment at a later point in time.

7

CONCLUSION

The goal to realize a pragmatic integration environment as part of the IMPROVE project has been realized as planned. The toolbox is useable for integrating the IMPROVE algorithms into external applications. Further options such as the distributed provision of services remain possible as part of ongoing activities after the end of IMPROVE

EU FP6 project IMPROVE-Final Conference IMPROVE 2009, Dubrovnik, CROATIA, 17-19 Sept. 2009