Projects
Projects
End: 09.10.2023
Participants
Prof. Dr. Andreas WinterM.Sc. Jan Jelschen
Large software evolution, migration, or reengineering projects usually require a combination of different techniques to analyze, reverse engineer, transform, and visualize (legacy) software systems under evolution. As each project has different goals, toolchains supporting their processes need to be tailored individually to their specific requirements. Many tools exist, yet mostly only implement a single technique, and are usually not designed for interoperability. Therefore, for each project, a toolchain has to be built by selecting the techniques required, finding appropriate tools implementing them, and then integrating these tools. With little to no means of interoperability, this involves creating a lot of glue code and data transformations to “wire up” all tools in the desired ways, a tedious and error-prone task. It yields brittle and inflexible toolchains, as extending or changing the toolchain, or swapping one tool for an alternative implementation, will require to also write new glue code. Consequently, this code is also non-reusable, as it is usually hard-wired to specific interfaces of the tools glued together.
The lack of tool interoperability is recognized by the software evolution research community as a general challenge of the field. So far, existing approaches were aimed at integrating on a low-level via exchange file formats, building a closed platform without the ability to easily incorporate existing tools, or leveraging similarities of certain sets of tools, limiting application range.
The proposed PhD thesis puts forward the Sensei-approach (Software EvolutioN SErvice Integration), aimed at improving software evolution tool interoperability, and largely automate toolchain integration. Based on the fact that a large body of software evolution tools exist, yet they lack sufficient interoperability means to be easily integrated into the required, tailor-made toolchain, the following two main objectives are derived:
-
Enabling software evolution practitioners to easily build toolchains tailored to their project-specific needs, focusing on the techniques to be employed, and the processes to be supported, while being as implementation-agnostic as possible, and abstract from interoperability issues.
-
Enabling tool developers to easily build tools with standardized, interoperable interfaces, or extend existing tools, with as little limitations to implementation technology choices as possible.
The approach taken towards these objectives is based on viewing software evolution techniques as services, to abstract from interoperability issues. It entails
- surveying tools and techniques, and compiling them into a catalog of standardized software evolution services,
- utilizing existing, component-based technology to provide an integration framework using the catalog as a basis, and
- providing a means to describe software evolution processes in terms of coordinated services, and to automatically generate toolchains based on the integration framework.
For validation, Sensei will be applied to real-world projects, e.g. for Q-MIG, a joint venture of University of Oldenburg’s software engineering group and pro et con GmbH, aimed at investigating the quality of software under migration, and building an integrated toolchain to support it. Furthermore, Sensei is thought to be applicable beyond the field of software evolution. To put this claim to the test, it is planned to apply the approach to at least one different field, e.g. toolchains supporting the development of energy-efficient applications, as well as a self-application.
Theses
Completed Theses
- 12.12.2017
Mobilitätsservice für Sammeltaxis mit Mindestanzahl (BA) - 12.12.2017
Ein generisches Servicemodell zur inter- und multimodalen Routenplanung (BA) - 05.12.2017
Mobilitätsservice für Elektro-Auto-Zubringer-Dienstleistungen (BA) - 07.07.2017
Modellgetriebene GUI Erstellung für serviceorientierte Anwendungen (MA) - 18.10.2016
Applying the SENSEI Service Orchestration Approach to WSO2 (MA) - 07.10.2014
Ein Composition-Finder für Service-Orchestrierungen (BA) - 30.09.2014
Editoren für Service-Orchestrierungen (MA) - 17.12.2013
Software-Evolutions-Services zur Berechnung und Visualisierung von Metriken (BA) - 10.12.2013
Entwicklung eines modularen Refactoring-Tools in SCA (BA) - 18.12.2012
Vergleich komponentenbasierter Frameworks zur Integration von Software-Reengineering Werkzeugen (MA) - 27.11.2012
Eine Fallstudie zur Interoperabilität von Reengineering-Werkzeugen in SCA (BA)
Publications
[inproceedings]
![]() ![]() |
|
Hebig, Kimberly; Winter, Andreas; Kuryazov, Dilshodbek; Sandau, Alexander: Development of a catalog describing and classifying mobility services in the NEMo project, In: Bungartz, Hans-Joachim; Kranzlmüller, Dieter; Weinberg, Volker; Weismüller, Jens; Wohlgemuth, Volker (eds): Adjunct Proceedings of the 32nd EnviroInfo conference, Environmental Informatics: Techniques and Trends, Garching (Munich), Shaker, September 2018. |
|
[inproceedings]
![]() ![]() |
|
![]() |
Akyol, Ali; Halberstadt, Jantje; Hebig, Kimberly; Jelschen, Jan; Winter, Andreas; Sandau, Alexander; Marx Gómez, Jorge: Flexible Software Support for Mobility Services, In: , no. 275, GI-Edition - Lecture Notes in Informatics (LNI), Chemnitz, Gesellschaft für Informatik, September 2017. |
[inproceedings]
![]() ![]() |
|
![]() |
Akyol, Ali; Halberstadt, Jantje; Hebig, Kimberly; Kuryazov, Dilshodbek; Jelschen, Jan; Winter, Andreas; Sandau, Alexander; Marx Gómez, Jorge: Flexible Software Support of Imovated Mobility Business Models, In: , no. 31, Adjunct proceedings of the 31st EnviroInfo conference, pp. 27-34, Luxembourg, Shaker Verlag, September 2017. |
[inproceedings]
![]() ![]() |
|
![]() |
Jelschen, Jan; Küpker, Christoph; Winter, Andreas; Sandau, Alexander; Wagner vom Berg, Benjamin; Marx Gómez, Jorge: Towards a Sustainable Software Architecture for the NEMo Mobility Platform, In: Wohlgemuth, Volker; Fuchs-Kittowski, Frank; Wittmann, Jochen (eds): Environmental Informatics, Stability, Continuity, Innovation, Reihe: Umweltinformatik, pp. 41-48, Herzogenrath, Shaker, September 2016. ISBN: 978-3-8440-4687-8. |
[article]
![]() ![]() |
|
![]() |
Jelschen, Jan; Meier, Johannes; Winter, Andreas: SENSEI Applied: An Auto-Generated Toolchain for Q-MIG, vol. 35, no. 2, In: Softwaretechnik-Trends, pp. 39-40, May 2015. |
[inproceedings]
![]() ![]() |
|
![]() |
Jelschen, Jan: Service-Oriented Toolchains for Software Evolution, In: Proceedings of the 9th IEEE Symposium on the Maintenance and Evolution of Service-Oriented Systems and Cloud-Based Environments (MESOCA 2015) , p. 51‚ Nr58, Bremen, Germany, IEEE, 2015. |
[inproceedings]
![]() ![]() |
|
![]() |
Jelschen, Jan; Winter, Andreas: Modeling Service Capabilities for Software Evolution Service Integration, In: Softwaretechnik Trends, vol. 34, no. 2, pp. 91-92, Bonn, Gesellschaft für Informatik, May 2014. |
[inproceedings]
![]() ![]() |
|
![]() |
Jelschen, Jan: SENSEI: Software Evolution Service Integration, In: CSMR-WCRE Software Evolution Week, pp. 469-472, Antwerp, Belgium, IEEE, 2014. |
[inproceedings]
![]() ![]() |
|
![]() |
Jelschen, Jan: Discovery and Description of Software Evolution Services, In: Softwaretechnik Trends, vol. 33, no. 2, pp. 59-60, Bonn, Gesellschaft für Informatik, May 2013. |
[inproceedings]
![]() ![]() |
|
![]() |
Jelschen, Jan; Ostendorp, Marie-Christin; Meier, Johannes; Winter, Andreas: A Description Model for Software Evolution Services, In: 1er Congreso Nacional de Ingeniería Informática / Sistemas de Información , pp. 1-12, Cordoba, Argentina, ISSN 2346-9927, RIISIC, 2013. |
[inproceedings]
![]() ![]() |
|
![]() |
Jelschen, Jan; Winter, Andreas: A Toolchain for Metrics-based Comparison of COBOL and Migrated Java Systems, In: Softwaretechnik Trends, vol. 32, no. 2, pp. 67-68, Bonn, Gesellschaft für Informatik, May 2012. |
[inproceedings]
![]() ![]() |
|
![]() |
Jelschen, Jan; Winter, Andreas: Towards a Catalogue of Software Evolution Services, In: Softwaretechnik Trends, vol. 31, no. 2, pp. 36-37, Bonn, Gesellschaft für Informatik, May 2011. |