Substantial progress in software engineering can be achieved by bringing together pragmatic and foundational work in software engineering research. This can provide a step towards a more common scientific basis for software engineering that allows us to integrate the various results of research and workshops, leading to fruitful synergetic effects. It will also help to identify critical research paths and developing an adequate paradigm for the scientific discipline of software engineering. It was the goal of this workshop to bring together experts from science and practice in software and systems engineering from North America and Europe. In software and systems engineering it is necessary to distinguish the enormous difference between the dynamics in development we refer to and the limited scope assumed by many of today's software managers that still use outdated techniques. Many of the unsolved problems associated with the old techniques are symptoms of lack of formalization and lack of automation support. The intended focus of the workshop was on unified sets of formal models and associated methods suitable for automation for many aspects of software development, in particular those that address change and those that apply on a large scale. Some of the intended aspects of software evolution are *modifiable software architectures, *resource changes, *context changes, *requirements changes, *changes to decomposition structures, *changes in plans. These issues are related to formal representations of the version history, and formal representations of the activities that produced existing versions or have been proposed to produce future versions. The essence of the problem is to establish and maintain consistency among various kinds of software artefacts throughout the development and evolution process, including consistency between requirements, architectures, and programs. Automation support is needed to determine dependencies and to use this dependency information to provide decision aid for software synthesis, analysis, and evolution. Many versions of each artefact are produced as the software evolves, and changes to the dependency structure must be recognised and reacted to. The challenge is to better formalise the problems in this area, and to develop some of the badly needed technical solutions. If we as a community can succeed in this, the results will provide convincing evi dence that formal methods can have strong practical value, and help reverse the trend of weakening support for the subject from both industry and governments. It seems that previous work on formal methods can be applied to problems related to these topics, but it may require non-traditional approaches. The challenge helped to trigger new ideas at the workshop, and perhaps opened new opportunities for progress. It is well recognised in the meanwhile that software and systems engineering as an important issue in technical systems still lack a proper scientific basis. The many efforts in academia, especially under the heading formal methods, towards such a scientific basis have produced many valuable and interesting scientific results; however, most of the work of integrating this with the practice of software engineering is still missing. Nevertheless, we can observe a starting trend to bring together practical considerations and approaches with scientific results. A good example is the Unified Modelling Language that recently was designed and still will evolve. The fact that a proper semantic basis is needed for a proper methodological support is much more recognised than in its predecessors. Nevertheless, more efforts are necessary to give the scientific research more focus w.r.t. the questions that are important for practice and to stimulate a transfer between academia and application. It was the goal of the workshop to contribute to this task. The report is not available online but can be obtained by the editors. At end of 1998 enhanced versions will be available as LNCS by Springer.
«
Substantial progress in software engineering can be achieved by bringing together pragmatic and foundational work in software engineering research. This can provide a step towards a more common scientific basis for software engineering that allows us to integrate the various results of research and workshops, leading to fruitful synergetic effects. It will also help to identify critical research paths and developing an adequate paradigm for the scientific discipline of software engineering. It w...
»