6.5 MODELO DE GESTIÓN
6.5.4 PRINCIPIOS ORIENTADORES DEL MODELO DE GESTIÓN
Software
As has been discussed in more detail in 3.1 and 5.1, problem solving, in this case op- timisation, often requires the integration of an array heterogeneous resources and tool within a distributed design environment. There is a desire for easy-to-use optimisation systems that enable the creation of different solution strategies that may be tailored to specific design problem. These requirements have prompted research and development of dedicated systems for design optimisation, such as SPINEware [114], iSIGHT [115],
and ModelCenter [116], which attempt to provide an integrated environment for engi- neering design optimisation. These provide packages of software tools which all share the common need for users to provide programmatic access to the modelling and analysis capabilities of the their mathematical models (i.e objective functions).
However, these software tools often differ in implementation and interface technology. For example, there exist different computer aided design (CAD), finite element analysis (FEA) and computational fluid dynamics (CFD) codes. It is therefore necessary to develop wrappers for these packages to be used in integrated environments mentioned above although a variety of technologies and methods have been developed to help overcome incompatibilities between the software tools. The most commonly used method is to communicate via data files, which relies on shared data types and formats, or specially developed parsers to interpret the input/output files. However, there now exists Standard for the Exchange of Product Model Data (STEP) [9] which has been developed to facilitate product data exchanges. Another approach to integration is based on common object interface technologies, such as CORBA, in which function calls to the tools are carried out as standard remote procedure calls (RPC). Although the use of exchange data files can be seen as a generic approach, the lack of standard formats in native data description and semantic descriptions of the file content means that extra layers of processing are required almost every time a new component is introduced.
The idea of presenting numerical optimisation technologies as Grid services arose from our efforts to adopt service-oriented Grid technologies for engineering design optimisa- tion, see section 3.3. It offers a generic and extensible framework to address the inte- gration issues by decoupling the optimisation tools from the other software components. The optimisation codes, regardless of what programming language they are written in or what the platform they run on, are encapsulated into standard Grid services that are universally accessible. The tightly-coupled programmatic links between the optimisation modules and the modelling codes that used to be required for integration are replaced with loosely-coupled, standards based message level interactions. It therefore becomes easier to adopt and exploit in one particular engineering design system a number of different optimisation technologies, or to apply one optimisation method to a variety of design problems.
A number of technologies have been applied to enable distributed numerical optimi- sation, foremost amongst these is the NEOS project [117]. However, it requires that the design problems be formulated in the AMPL languages [118] for submission to the server for execution. Consequently, it is not suitable in the case where objective function contain proprietary or commercial sensitive code.
Other technologies such as iSight, ModelCenter and Nimrod/G [119] adopt a different approach where by optimisation is often an inherent part of an integrated environ- ment and the modelling and analysis tools are often integrated using CORBA, RMI or
other RPC technologies. In these systems the optimisation logic is tightly-coupled to job submission and scheduling facilities. For instance, the evaluation of the objective function evaluations is controlled by the optimisers and submitted to distributed com- puting resources through job submission systems such as Netsolve [120], Globus [70] and GridRPC [121]. The disadvantage of this approach is that it is difficult to for users to employ or add new optimisation algorithms from outside the integrated system nor can they choose their own job submission system.
Users are required to wrap their objective functions in a prescribed format and language for the optimisation system to submit to computing resources. This type of operation is can be termed “forward communication” because the optimisers decides when to run users’ problem codes. It lacks the flexibility that allows accessing optimisation algorithms from outside the integrated environments, which makes it infeasible to share optimisation methods among multiple heterogeneous, distributed design environments, across multiple administrative domains. Moreover, the proprietary interfaces used by these systems also mean that users will have to develop individual interface for each package.
Our vision in this aspect is to embrace recent developments on Web Services and Grid technologies to deliver highly scalable and flexible optimisation services to heteroge- neous environments using a generic interface, in loosely-coupled manner. This approach allows various programming languages, PSEs, and middleware technologies to be ap- plied without delving into implementation details of the Optimisation Service. Figure 35 illustrates the architecture of our proposed system. Users communicate with the Optimisation Service via SOAP messages using client tools in a design environment of their own choice such as Matlab [104].