|
A Reusable Framework for Rolling Mills
Esprit Project 22897
Software Technologies
to home page
|
Background and State-of-the-Art
Siemens AG as one of the major European developers of process automation
systems has identified the costs of software development as the key factor
of European competitiveness. By now European companies are the market leaders
in process automation of rolling mills. Current numbers indicate, however,
that this market position is going to change in favour of US and Far East
companies.
The software for rolling mills is currently developed with traditional programming
languages (Fortran, C) which restrict the reuse of software to a rather
low level (source code and procedure libraries). To uphold their market
position, European companies have to increase reuse in order to cut down
their software development costs.
In contrast to currently used techniques, object-oriented languages and
frameworks allow software reuse on a much higher level (design). Instead
of individual procedures, the whole logic of systems can be reused. This
speeds up software development and improves the quality of software (correctness,
robustness, uniformity, maintainability). Because of the large diversity
of rolling mills, differing in types and many details, the technical domain
of rolling mills is an ideal and novel application area for frameworks.
Process Automation and Optimization of Hot Rolling Mills
A hot rolling mill transforms metal bars (steel or aluminium) to thin metal
strips by rolling them under high temperature and force (Figure 1).
Figure 1. Schematic model of a hot rolling mill
Using special hardware (sensors, actuators), this transformation is supervised,
controlled and visualized by a software system which is called a process
automation system (PAS). In addition, a PAS collects process data and uses
them to optimize the above process. A PAS is a self-contained part of inter-
operating software systems (Figure 2) which include a production planning
and control system (i.e., the planning and coordination of work tasks) and
basic automation (e.g., measuring instruments, stand control systems). A
typical task of a PAS is to compute the speed and the roll force for all
stands using measured data according to mathematical and physical models.
Figure 2. Software levels in rolling mill automation
Although different types and configurations of rolling mills share characteristics,
the software for process automation systems is usually rewritten from scratch
for every new project. Reuse-if at all-takes place only by browsing for
individual algorithms in source code or procedure libraries. Reusable code
is extracted in a tedious and error-prone way. Software development makes
up 30% of the total costs of a PAS.
Siemens, Mandator and USP are committed to strengthen the efficiency and
quality of industrial software development in Europe by exploring the promising
new technology of object-oriented frameworks.
Quality Assurance for Work Products
In process automation-as in any industrial field-the quality of work products
(e.g., the thickness of metal strips) has to be controlled and guaranteed.
This is usually done by collecting process data (descriptors) from
which certain target parameters (goals) are derived. Depending on
the actual problem and the structure of the collected data, different goal-finding
techniques can be applied, for example, mathematical models, inductive learning
strategies (ID3, AQ), conceptual clustering, fuzzy logic, neural networks,
genetic algorithms, or rule bases. These techniques can be easily interchanged
if they are modeled in the form of an object-oriented framework.
In order to find a (combined) model that supplies the most accurate prediction,
experiments have to be performed. For this purpose comfortable data and
model manipulation techniques have to be provided and the selected model
has to be transformed from a learning system into a production system.
Frameworks
An object-oriented framework is a semi-finished software system that can
be adapted to different needs by plugging in custom components or by extending
particular parts of the framework. The underlying technique is object-orientation,
which allows reuse and extensibility on a high level, i.e., without modifying
or studying existing code. Frameworks capture the common aspects of several
applications in a certain problem domain. They represent the core of any
application in the domain and can be customized by programming only those
parts which are specific to the application under development.
The benefits of using frameworks for software development are:
- Significant cost reduction through reuse
- Shorter time to market
- Better maturity of the software because it is used (and tested) in
more than one project
- Better uniformity of the software because several applications build
on the same framework as their core
Frameworks emerged in the late eighties and
have become rather popular recently. Some frameworks have been developed
so far but mostly in the academic field
and mostly for domains such as graphical user interfaces or operating systems.
There is hardly any framework for industrial domains, partly because industrial
domains have to deal with tough requirements, partly because developing
such a framework requires profound domain knowledge which is usually not
available at universities. Such frameworks can only be developed together
with domain experts from industrial partners. This is one of the goals of
the proposed project.
<webmaster>