Enhancing software configuration management for a process control system
ESSI PIE 23891
Mr (M.SC) Antti Välimäki Valmet Automation Inc, Tampere, Finland
This report describes our experiences about ClearCase and MultiSite tool applications in our baseline project and how these tools have been utilized in achieving our objectives. Furthermore, this report contains our objective related measurement results and the conclusions we have come to about the effects of tools on our working methods and organization.
Many software product developing European companies share similar software configuration management problems and the results of this experiment are useful for these companies. The European Commission through the ESSI/PIE program has supported this project.
The next step was to audit our software development process against ISO-SPICE (Software Process Improvement and Capability dEtermination). The audit was held in January 1997 and as a result baseline project’s configuration management [2,3,4] received the capability rating of 3. However, the new requirements will cause our rating to drop, since the current SCCS-based version management do not support the new requirements which are parallel development, geographically decentralised development and multiplatform environment.
Rapid prototyping has been applied in development projects. Some pilot projects have been carried out with object-oriented methodology based on OMT (Object Modelling Technique by Rumbaugh et. al.). Our development environment includes:
Our strengths in technical issues were thorough knowledge of UNIX and the functionality of SCCS-based version management in UNIX-platforms. Our weaknesses were the unfamiliarity with new environments and tools.
Our strengths in business were the high quality and usability of UNIX-based XIS-product, and our weakness was the absence of Windows NT –based products, since our customers were interested in Windows NT –based XIS-products – especially when user interfaces were concerned.
One of our strengths in organisation was that our personnel consist mostly of developers with university degrees in software or electrical engineering. Also our experience and knowledge are of high level.
1. Starting activities
2. Applying and measurement activities
3. Management and dissemination.
The first phase consisted of starting activities that include ClearCase training courses, the making of instruction documentation and the support for ClearCase users. It started in May 1997 and ended in June 1997. The planned deliverables were the measurement plan and configuration management instructions for the baseline project.
The second phase consisted of applying ClearCase and making measurement activities for software configuration methods. It started in July 1997 and ended in June 1998. The planned deliverables were measurement documents and new versions of configuration management instructions for the baseline project.
Management and dissemination happened during both phases. The planned deliverables were periodic progress reports, mid-term report, final report, consolidated cost statement, other dissemination documents and Spice assessment report.
Tools used in the project were ClearCase and Multisite for UNIX and Windows NT. Windows NT, HP-UX and Digital UNIX were used as operating systems and Disk Access as NFS software. Before this PIE only HP-UX and Digital UNIX, and of course the SCCS-based homemade version control system, were already familiar to baseline project members.
Fig. ATV.1 : The technology used in experiment
This working plan includes three major activity groups:
The first phase was realised almost according to the plan and we made the deliverables which were the measurement plan and instruction documents. The installation of ClearCase and MultiSite succeeded well both in Valmet and in its subcontractor.
The second phase consists of applying ClearCase and making measurement activities for software configuration methods.
ClearCase was used contemporaneously with both stages. Because the decisions about configuration management methods, compiler, the structure of makefile and scripts etc. were already made in the early stages of the project, software designing had a good start. The transfer of source code files to ClearCase database went also quite well, since we transferred only the latest version to ClearCase and left the older versions in the SCCS based version controlling system. Most of the problems were naturally caused by new tools the features of which were not yet all that familiar. In spring 1998 ClearCase 3.0 was introduced in Valmet Automation Inc., which remarkably improved the usability of Windows NT. ClearCase 3.2 was introduced in August 1998, which gave a solution to our performance problem by introducing snapshot view –feature. We were now able to compile locally without using the server.
Project management and dissemination occurred during both phases. Project management consisted of project meetings, reports etc. The first public dissemination was held in December 1997 in Tampere University of Technology in Finland (web page: http://www.cs.tut.fi/configurationmanagement.html). The second public dissemination was held in January 1998 in Eurex project at Stockholm, Sweden (web page: http://www.sisu.se/projects/eurex/WorkshopConfig.html). The third and official Mid Term dissemination were held in April 1998 in Venice, Italy (web page: http://galileo.iei.pi.cnr.it/AQUIS98/). The next dissemination action was the creation of the web page of our project (http://www .valmet.com/automation/essi/ confmana.html). The final dissemination will be held in EuroSPI’98 which will take place in Gothenburg, Sweden (web page: http://www.iscn.ie/conferences/iscn98).
At the same time we started taking measurements and comparing current SCCS-based version management with new ClearCase-based management. Measurements were taken from a group of 64 files from which were generated seven libraries. The measurements were made in an environment where UNIX-servers were used. Files were read from their drives through NFS using UNIX-Client when the files were either in SCCS-files or in ClearCase database.
GENERAL COMMENTS ABOUT USING CLEARCASE AND MULTISITE
ClearCase and Multisite are good but complicated tools. The software configuration method of one’s own is important to efficiently use these tools.
SUPPORT FOR PARALLEL DEVELOPMENT
Parallel development is much more complicated way to develop software than nonparallel development. Especially here you will need good software process method to manage these situations. There is also a possibility to mistakenly change wrong version of file if you choose the wrong parallel branch from ClearCase. The use of branches is the way how ClearCase supports parallel development.
Fig. ATV.2 : Version tree and Parallel development
Version tree is a hierarchical structure in which all the versions of file1.cpp are organized. The arrows show merge operations between different versions of file1.cpp.
Parallel development is a concurrent creation of versions on e.g. two branches in the version tree.
Fig. ATV.3 : More configuration management and ClearCase concepts.
In the ClearCase parallel development and file merging is supported well. ClearCase also tries to minimise the likelihood that developers would work on the wrong branch by built-in Wizards and View profiles. According to Rational, the process development tool ClearGuide will take it a step further and is able to enforce users to work only on the appropriate branch of the task they are working on.
We also made measurements between SCCS- and ClearCase-based method in parallel development when five different versions of the same files were changed in two different branches and these changed files were combined into one branch. According to this test ClearCase-based method took only one third of the time which was taken with SCCS-based method. To be more specific, it took ClearCase ten minutes to combine the changed files, while SCCS-based method needed thirty minutes for the task.
Fig. ATV.4 : Time comparison when making change
SUPPORT FOR GEOGRAPHICALLY DISTRIBUTED TEAMS
Remote development is supported well in Multisite, because Multisite will automatically transfer the changes one has made from one development site to another. Firewalls may cause some problems. One might also experience some errors in sending changed packets. There is a recovery procedure for these kinds of situation, but it is a little bit complex to use. If one wants to read the files which have been developed with Multisite, he needs licenses for both ClearCase and Multisite.
In our measurements we compared the use of Multisite to the use of an ordinary FTP-program (File Transfer Protocol) in transferring changes between two agencies and we came to the following conclusion: In cases when during product development there are three or less subcontractors developing their own part of a system in their own offices, the amount of time and work needed to install and administrate Multisite is comparable to that what is needed to transfer the changed files using an ordinary FTP-program. In all other cases product management becomes so complicated that it is a good investment to acquire Multisite in order to reduce the total amount of work. The latest version (3.2) of ClearCase includes a snapshot feature that is able to utilise the use of an FTP-program described above and reduces the need to acquire Multisite licences for each developer separately.
SUPPORT FOR MULTIPLATFORM ENVIRONMENTS
Multiplatform environment is supported well: one can use e.g. Visual C++ with Windows NT and Emacs with UNIX. Makefiles, however, might become a problem, because they cannot be totally similar in UNIX and Windows NT. There are also many ClearCase properties to ensure the easy use of ClearCase and other tools in a mixed UNIX and Windows NT environment in the same project. This is also one of the ClearCase’s strengths when compared to other SCM tools.
PERFORMANCE IN MULTIPLATFORM ENVIRONMENTS
During measurement we have come to conclusion that in UNIX environment compilation of small number of files is equally efficient in both SCCS- and ClearCase-based environments. When hundreds of files are compiled, a ClearCase-based environment requires considerably more efficient UNIX-server (especially because of memory requirements) than an SCCS-based environment.
In Windows NT environment the compilation of files in a local drive was twice as fast as it was in a ClearCase database located in a UNIX-server. Fortunately the latest version (3.2) of ClearCase has snapshot feature which can be used to transfer the files to a local drive to be compiled there instead of a server drive thus considerably improving ClearCase’s performance in Windows NT environment.
SUPPORT FOR FASTER CUSTOMER RESPONSES AND DELIVERY OF PRODUCTS
New releases of product can be released fast because of short release build time. The delivery of product releases depends on manufacturer’s policy on this process area, but ClearCase gives quite a good support for fast building of new product releases.
When comparing release build times we came to conclusion that ClearCase-based environment was about 30% faster than SCCS-based environment. In our SCCS-based environment old release was searched from an optical drive in which old release has been copied during delivery. In ClearCase based environment it was searched from a database. ClearCase-based solution has some other strengths like easy labelling of delivered release thus making old releases easier to find, and the possibility to easily combine these kinds of corrections with an old release as has been earlier described under item ‘SUPPORT FOR PARALLEL DEVELOPMENT’.
Parallel development support will decrease the throughput time and improve responses for customers’ needs - especially with short release build time of the old releases. This is essentially realised in maintenance phase, when possible error corrections are needed for the customers as soon as possible.
Multisite has enabled a co-operation between geographically distributed project teams. It enables the flexible use of subcontractors from the sites with sufficient technical knowledge.
The final audit of the baseline project was held in May 1998 and as a result baseline project’s configuration management received a capability rating of 3- which is a good achievement and shows that the new requirements have been fulfilled.
Multiplatform environment support has enabled easier and faster offer of Windows NT –based products to our customers. This has been economically remarkable change, since customers’ interest in Windows NT –based products has been considerable.
A dedicated ClearCase support person is needed to help beginners in using these tools and in exceptional cases. This support person can support many development projects if needed.
The possibility for parallel development has made the development work more complicated. Therefore one additional person is needed to control the configuration management issues inside the project. The next chart shows the number of support calls ClearCase support person received during the PIE-project:
Fig. ATV.5 : Support calls / month
The average amount of work used in support was ½ days / week while the maximum was 2 days / week and the minimum 0 days / week.
In autumn 1997 the greatest cause of increased workload was the introduction of new methods in PIE-project. However, the amount of work spent in support remained reasonable, because we were able to provide PIE-project with good product management instructions and training. In spring 1998 ClearCase was updated to version 3.0 and in August to version 3.2.
What circumstances concerning tools reduce the need for support?
+ if users know how to use the tool correctly
+ if tool recovers from incorrect usage
+ if the rest of the development environment e.g. Windows NT –environment, UNIX-servers and compilers function correctly
+ if other members of the group are able to help if need arises i.e. the general level of knowledge about ClearCase and operating systems is high enough
+ ClearCase support person takes care of the most difficult parts, if it takes too much of actual designer’s time to learn them
What circumstances concerning methods reduce the need for support?
+ correctness and exactness of documentation
+ some kind of version control management (e.g. SCCS) is already familiar
What circumstances increase the number of support calls?
+ if support person is competent and polite
+ if support person can find a solution to the problem
From the organisational perspective, the experiment was a success because ClearCase and Multisite seem to be suitable tools for our other development projects.
One of our strengths was that we started the experiment from proportions supported by Windows NT (e.g. user interface). We also had a good ClearCase support person who had profound knowledge about ClearCase and Windows NT and was thus able to give good support. To mention some other strengths, the members of the baseline project had high level of knowledge and experience and we had other development projects where ClearCase was used as well so we could diversify gained results and their analysis.
Our weakness was, as always in development projects, the lack of time which is the reason why new tools and methods can be tested and utilised step by step.
When looking back now, it seems that we have succeeded in our objectives in this experiment.
As a conclusion we can state that our process improvement experiment was useful. The baseline project consisted of porting certain parts of the software of Damatic XIS -information system to Windows NT -platform and the development of additional features of XIS. This work will continue and we are going to use ClearCase more in our other development projects.
We are also going to try to model our software configuration process by use case method [5] which seems to be a good method to describe rules and roles.
Confmanag Enhancing software configuration management for a process control system
PI Process improvement
PIE Process improvement experiment
SCM Software Configuration Management
[2] H. Ronald Berlack, Software Configuration Management, John Wiley and Sons, Inc., New York, New York, USA, 1992; ISBN 0-471-53049-2.
[3] Stephen B.Compton and Guy R.Conner, Configuration management for software, Van Nostrand Reinhold, ISBN 0-422-01746-4, 1994.
[4] Fletcher J. Buckley, Implementing Configuration Management: Hardware, Software and Firmware, IEEE Computer Society Press, 1992.
[5] Jacobson I., Christerson M., Johnsson P. and Övergaard G., Object Oriented Software Engineering, A Use Case Driven Approach. Addison-Wesley, 1992.
After graduation he has been an employee of Valmet in various positions as follows:
1986 - 1988 software designer in Valmet Process Automation Inc.
1988 - 1990 chief designer in Valmet Process Automation Inc.
1990 - 1994 group manager in Valmet Automation Inc.
During the years mentioned above, Antti Välimäki participated in the development of Damatic XDi Distributed Control System in several tasks including implementation, design, specification, project and configuration management.
Since 1994 he has been as a software development manager in Valmet Automation Inc. In this current position his main responsibility is to develop software development methods and quality system for the whole R&D department.
The second part of VAI is Measurements which has designed and manufactured transmitters for the process industry since the early 1950's. The greatest developmental challenge has always been to keep measuring technology in line with the changing needs of process industry.
The third part of VAI is SAGE Systems which is the leading North American supplier of supervisory control and data acquisition (SCADA) systems for the remote monitoring and control of oil and gas pipelines.
The fourth part of VAI is Sensodec which offers you the most advanced technology, proven reliability and a wealth of experience in analyzing your paper making machinery condition, process stability and product quality.
If you want to know more, visit our web page which is www.valmet.com/automation.