Logo des Repositoriums
 

P126 - Software archeology and the handbook of software architecture 2008

Autor*innen mit den meisten Dokumenten  

Auflistung nach:

Neueste Veröffentlichungen

1 - 10 von 20
  • Konferenzbeitrag
    Das ARNO Projekt – Herausforderungen und Erfahrungen in einem großen industriellen Software-Migrationsprojekt
    (Software archeology and the handbook of software architecture, 2008) Teppe, Werner; Eppig, Robert
    In diesem Artikel fassen wir das Vorgehen und die Erfahrungen mit der Migration eines sehr großen Anwendungssystems zusammen. Über wichtige Aspekte des Projekts und den Projektverlauf berichteten wir regelmäßig auf der jährlichen WSR und der REPRO in Vorträgen. Das Projekt ARNO hatte zum Ziel, alle Anwendungen einer Mainframe-Plattform auf UNIX zu migrieren, damit die komplette Systemplattform abzulösen und so erhebliche Hardware-, Softwarelizenz- und Infrastrukturkosten einzusparen. ARNO steht für Application Relocation to New Operating System. Die besonderen Herausforderungen bestanden darin, dass die umzustellenden Anwendungssysteme nicht stand-alone arbeiten, sondern Rechnerkopplungen zu rund 200 externen Partnersystemen unterhalten. Zudem sollte es möglich sein, während der mehrere Jahre dauernden Projektlaufzeit monatlich neue Anwendungsreleases herauszubringen, um Kundenanforderungen zu erfüllen. Außer den Anwendungen mussten das hoch performante Filehandlingsystem durch eine Datenbank abgelöst, die Middleware umgestellt und angepasst sowie umfangreiche Jobs (Skripte) auf das Zielsystem portiert werden. Die Systeme laufen in einem nahezu 7*24 Stunden Betrieb und wickeln in Spitzenzeiten ca. 750 Benutzertransaktionen pro Sekunde (TA/s) ab – dies entspricht rund 1500 technischen TA/s. Die Projektbeteiligten waren in unterschiedlichen Unternehmen über mehrere Standorte verteilt.
  • Konferenzbeitrag
    Methoden und Werkzeuge für die Software Migration
    (Software archeology and the handbook of software architecture, 2008) U., Erdmenger; Kaiser, U.; Loos, A.; Uhlig, D.
    Die Autoren entwickeln seit 1994 kommerziell Werkzeuge für die Software Migration und setzen diese in praktischen Migrationsprojekten ein. Obwohl diese Werkzeuge wesentlich mit der Compilierung vergleichbare Aufgaben wie Scannen, Parsen und Generierung realisieren, existieren Unterschiede in der Arbeitsweise von Migrationswerkzeugen zu denen klassischer Compiler. Der vorliegende Beitrag vermittelt einen Überblick über Werkzeuge für die Software Migration und beschreibt partiell Unterschiede der integrierten Konvertierungsmethoden zur klassischen Compilierung.
  • Konferenzbeitrag
    Graph Technology in Reverse Engineering The TGraph Approach
    (Software archeology and the handbook of software architecture, 2008) Ebert, Jürgen; Riediger, Volker; Winter, Andreas
    TGraphs are directed graphs with typed, attributed, and ordered nodes and edges. These properties leverage the use of graphs as models for all kinds of artifacts in the context of software reengineering. TGraphs are accompanied by metamodel based technologies to define, manipulate, analyze, query, visualize, and transform graphs. This paper summarizes the work accomplished around TGraphs and graph based modeling over the last decade. We introduce TGraphs as a versatile and expressive formalism and demonstrate their well-suitedness for solving reverse engineering problems.
  • Konferenzbeitrag
    Zehn Jahre WSR – Zwölf Jahre Bauhaus
    (Software archeology and the handbook of software architecture, 2008) Koschke, Rainer
    Das zehnjährige Jubiläum des deutschsprachigen Reengineering-Workshops WSR in Bad Honnef gibt Anlass, auch auf die eigene Arbeit zuru ̈ck zu blicken, die thematisch mit dem WSR so eng verbunden ist. Unsere Forschergruppe Bauhaus beschäftigt sich schon seit zwölf Jahren mit dem Thema Software-Reengineering und verwandten Themen. Und seit Bestehen des WSR sind wir regelmäßige Teilnehmer am WSR. Dieser Artikel gibt einen historischen Rückblick auf unsere zwölfjährige Arbeit und fasst unsere Forschungsarbeiten auf diesem Gebiet zusammen.
  • Konferenzbeitrag
    Von der Problemerkennung zur Problembehebung: 12 Jahre Softwaresanierung am FZI
    (Software archeology and the handbook of software architecture, 2008) Kuttruff, Volker; Trifu, Mircea; Szulman, Peter
    Softwareentwicklung ist ein evolutionärer Prozess. Die Wartung und Weiterentwicklung existierender Softwaresysteme erfordert aufgrund der Größe heutiger Systeme systematische und automatisierbare Methoden. Die Erforschung solcher Methoden ist ein Schwerpunkt der Gruppe Programmstrukturen des FZI Forschungszentrum Informatik. Im folgenden Beitrag werden wir einen Überblick über unsere Forschungsarbeiten der letzten zwölf Jahre in diesem Bereich geben. Diese Arbeiten umfassen das ganze Spektrum der Softwaresanierung, angefangen bei Techniken des Reverse-Engineering und der Qualitätsbewertung über die Ableitung geeigneter Maßnahmen zur Überbrückung der Lücke zwischen Problemerkennung und Problembehebung bis hin zur automatisierten Reorganisation existierender Softwaresysteme.
  • Konferenzbeitrag
    Using Library Dependencies for Clustering
    (Software archeology and the handbook of software architecture, 2008) Quante, Jochen
    Software clustering is an established approach to automatic architecture recovery. It groups components that are in some way similar to each other. Usually, the similarity measure is based on the dependencies between components of a system. Library dependencies are intentionally ignored during the clustering process – otherwise, system components would be clustered with library components they use. We propose to particularly look at the dependencies on external components or libraries to learn more about an application’s high-level structure. The number of dependencies of a component from different kinds of libraries provides insightful information about the component’s functionality. Our case study illustrates the potential of this idea.
  • Konferenzbeitrag
    Entwurfsmuster-Erkennung mit BAUHAUS
    (Software archeology and the handbook of software architecture, 2008) Wiebe, Eduard; Keul, Steffen; Staiger, Stefan; Vogel, Gunther; Haufler, Andreas; Scherer, Wolfgang
    In diesem Artikel stellen wir ein interaktives Werkzeug zur Erkennung von Entwurfsmustern in Java-Programmen vor. Unser Werkzeug ermöglicht die Spezifikation von zu suchenden Mustern als UML-Klassendiagramme, sucht nach Instanzen dieser Muster in vorliegendem Bytecode, gewichtet die Vorkommnisse anhand des Übereinstimmungsgrades und ermöglicht eine manuelle Überprüfung anhand des zugrunde liegenden Quelltextes.
  • Konferenzbeitrag
    Das Debeka-Projekt MiKe – Migration der Debeka-Kernanwendungen von Bull/GCOS8 auf AIX
    (Software archeology and the handbook of software architecture, 2008) Bach, Johannes; Schulze, Martin
    In diesem Beitrag wird das bislang größte IT-Projekt in der Geschichte der Debeka vorgestellt: die Migration der Versicherungs- und Bauspar- Kernanwendungen von einem Bull-/GCOS8-Großrechner auf eine AIX-Plattform. Aufgrund verstärkter Zweifel an der Zukunftssicherheit der GCOS8-Groß- rechnerplattform der Firma Bull fiel im Jahr 2002 die Entscheidung, die Kernanwendungen der Debeka auf eine möglichst herstellerunabhängige Plattform zu migrieren und mit den Vorarbeiten zu beginnen. Wegen des zu sichernden Investitionsvolumens von mehr als eintausend Personen- jahren kam nur eine 1:1-Migration in Frage, bei der sowohl die Programm- und Job-Sourcen als auch die Daten automatisiert konvertiert werden. Bedingt durch eine phasenweise Vorgehensweise, in der einzelne Anwendungen paketweise migriert werden, entstand für eine Übergangszeit ein Hybridsystem, in dem das al- te GCOS-System und das neue AIX-System durch Brücken miteinander verbunden sind. Obwohl ein auf dem Gebiet von GCOS8-Migrationen erfahrener Dienstleister gewonnen werden konnte, ergaben sich im Lauf des Projekts unerwartete Herausforderungen beispielsweise bei der Abbildung der migrierten CODASYL-Datenbank auf eine relationale Datenbank mit anderen Sperrmechanismen, welche jedoch zeitnah bewältigt werden konnten. Das Projekt wurde zusätzlich genutzt, einen neuen Softwareentwicklungsprozess auf Basis einer modernen Entwicklungsumgebung im Unternehmen einzuführen und damit sowohl die Qualität als auch die Produktivität der Softwareentwicklung entscheidend zu verbessern.
  • Konferenzbeitrag
    Clone Detection in a Product Line Context
    (Software archeology and the handbook of software architecture, 2008) Mende, Thilo; Beckwermert, Felix
    Software Product Lines (SPL) can be used to create and maintain different variants of software-intensive systems by explicitly managing variability. Often, SPLs are organized as an SPL core, common to all products, upon which product-specific components are built. Following the so called grow-and-prune model, SPLs may be evolved by copy&paste at large scale. New products are created from existing ones and existing products are enhanced with functionalities specific to other products by copying and pasting code between product-specific code. To regain control of this unmanaged growth, such code may be pruned, that is, identified and refactored into core components upon success. Clone detection offers effective means to identify duplicated source code. However, variablity in product lines, especially when targeting embedded devices, is often implemented using a preprocessor. This limits the applicable clone detection techniques to ones with lower precision. We describe how information about function locations can be used to improve the results of these token-based clone detectors.
  • Konferenzbeitrag
    Software Archeology and the Handbook of Software Architecture
    (Software archeology and the handbook of software architecture, 2008) Booch, Grady
    Software is invisible to most of the world. Although individuals, organizations, and nations rely on a multitude of software-intensive systems every day, most software lives in the interstitial spaces of society, hidden from view except insofar as it does something tangible or useful. Furthermore, most interesting software is continuously evolving: it is never turned off, but rather is adapted, integrated, extended, and reused. As such, while greenfield software development persists, most software development is brownfield, requiring teams to conduct archeological digs in order to understand, reason about, and transmogrify those systems. It is a sign of maturity for any given engineering discipline when we can name, study, and apply the patterns relevant to that domain. In civil engineering, one can study the fundamental elements of architecture in works that expose and compare common architectural styles. Similarly, in chemical engineering, mechanical engineering, electrical engineering, and now even genomic engineering, there exist libraries of common patterns that have proven themselves useful in practice. Unfortunately, no such architectural reference yet exists for software-intensive systems. Although the patterns community has pioneered the vocabulary of design patterns through the work of the Hillside Group and the Gang of Four (in their seminal book, Design Patterns), our industry has no parallel to the architecture handbooks found in more mature design disciplines. The primary goal of the Handbook of Software Architecture (http://www.booch.com/architecture) is to fill this void in software engineering by codifying the architecture of a large collection of interesting software-intensive systems, presenting them in a manner that exposes their essential pattern and that permits comparisons across domains and architectural styles. In this presentation, we will examine the nature of software archeology and some of the systems under study in the Handbook.