18 research outputs found

    Object-Centric Reflection: Unifying Reflection and Bringing It Back to Objects

    Get PDF
    Reflective applications are able to query and manipulate the structure and behavior of a running system. This is essential for highly dynamic software that needs to interact with objects whose structure and behavior are not known when the application is written. Software analysis tools, like debuggers, are a typical example. Oddly, although reflection essentially concerns run-time entities, reflective applications tend to focus on static abstractions, like classes and methods, rather than objects. This is phenomenon we call the object paradox, which makes developers less effective by drawing their attention away from run-time objects. To counteract this phenomenon, we propose a purely object-centric approach to reflection. Reflective mechanisms provide object-specific capabilities as another feature. Object-centric reflection proposes to turn this around and put object-specific capabilities as the central reflection mechanism. This change in the reflection architecture allows a unification of various reflection mechanisms and a solution to the object paradox. We introduce Bifr\"ost, an object-centric reflective system based on first-class meta-objects. Through a series of practical examples we demonstrate how object-centric reflection mitigates the object paradox by avoiding the need to reflect on static abstractions. We survey existing approaches to reflection to establish key requirements in the domain, and we show that an object-centric approach simplifies the meta-level and allows a unification of the reflection field. We demonstrate how development itself is enhanced with this new approach: talents are dynamically composable units of reuse, and object-centric debugging prevents the object paradox when debugging. We also demonstrate how software analysis is benefited by object-centric reflection with Chameleon, a framework for building object-centric analysis tools and MetaSpy, a domain-specific profile

    Co-Evolution of Source Code and the Build System: Impact on the Introduction of AOSD in Legacy Systems

    Get PDF
    Software is omnipresent in our daily lives. As users demand ever more advanced features, software systems have to keep on evolving. In practice, this means that software developers need to adapt the description of a software application. Such a description not only consists of source code written down in a programming language, as a lot of knowledge is hidden in lesser known software development artifacts, like the build system. As its name suggests, the build system is responsible for building an executable program, ready for use, from the source code. There are various indications that the evolution of source code is strongly related to that of the build system. When the source code changes, the build system has to co-evolve to safeguard the ability to build an executable program. A rigid build system on the other hand limits software developers. This phenomenon especially surfaces when drastic changes in the source code are coupled with an inflexible build system, as is the case for the introduction of AOSD technology in legacy systems. AOSD is a young software development approach which enables developers to structure and compose source code in a better way. Legacy systems are old software systems which are still mission-critical, but of which the source code and the build system are no longer fully understood, and which typically make use of old(-fashioned) technology. This PhD dissertation focuses on finding an explanation for this co-evolution of source code and the build system, and on finding developer support to grasp and manage this phenomenon. We postulate four "roots of co-evolution" which represent four different ways in which source code and the build system interact with each other. Based on these roots, we have developed tool and aspect language support to understand and manage co-evolution. The roots and the tool support have been validated in case studies, both in the context of co-evolution in general and of the introduction of AOSD technology in legacy systems. The dissertation experimentally shows that co-evolution indeed is a real problem, but that specific software development and aspect language support enables developers to deal with it

    The Road to General Intelligence

    Get PDF
    Humans have always dreamed of automating laborious physical and intellectual tasks, but the latter has proved more elusive than naively suspected. Seven decades of systematic study of Artificial Intelligence have witnessed cycles of hubris and despair. The successful realization of General Intelligence (evidenced by the kind of cross-domain flexibility enjoyed by humans) will spawn an industry worth billions and transform the range of viable automation tasks.The recent notable successes of Machine Learning has lead to conjecture that it might be the appropriate technology for delivering General Intelligence. In this book, we argue that the framework of machine learning is fundamentally at odds with any reasonable notion of intelligence and that essential insights from previous decades of AI research are being forgotten. We claim that a fundamental change in perspective is required, mirroring that which took place in the philosophy of science in the mid 20th century. We propose a framework for General Intelligence, together with a reference architecture that emphasizes the need for anytime bounded rationality and a situated denotational semantics. We given necessary emphasis to compositional reasoning, with the required compositionality being provided via principled symbolic-numeric inference mechanisms based on universal constructions from category theory. • Details the pragmatic requirements for real-world General Intelligence. • Describes how machine learning fails to meet these requirements. • Provides a philosophical basis for the proposed approach. • Provides mathematical detail for a reference architecture. • Describes a research program intended to address issues of concern in contemporary AI. The book includes an extensive bibliography, with ~400 entries covering the history of AI and many related areas of computer science and mathematics.The target audience is the entire gamut of Artificial Intelligence/Machine Learning researchers and industrial practitioners. There are a mixture of descriptive and rigorous sections, according to the nature of the topic. Undergraduate mathematics is in general sufficient. Familiarity with category theory is advantageous for a complete understanding of the more advanced sections, but these may be skipped by the reader who desires an overall picture of the essential concepts This is an open access book

    GeNeMe ´99 - Virtuelle Organisation und Neue Medien 1999: Workshop GeNeMe99 - Gemeinschaften in Neuen Medien: TU Dresden, 28./29.10.1999

    Get PDF
    Aus dem Vorwort: 'Wir freuen uns, mit dem Band GeNeMe99 die Beiträge des zweiten Workshops zu GeNeMe - Gemeinschaften in neuen Medien - präsentieren zu können. Damit erfüllt sich zumindest im Ansatz die mit der GeNeMe98 verbundene Absicht, eine Arbeits und Veranstaltungslinie zu begründen. Treffend aktuell reflektiert folgende dpa-Meldung zum diesjährigen 'European IT Forum' in Paris vom 13. September des Jahres die Herausforderungen an Forschung und Praxis zur Verwirklichung des GeNeMe-Trends. Europa wird nach Einschätzung von Analysten in den nächsten Jahren im elektronischen Handel über das Internet kräftig aufholen. Damit könne Europa zum größten zusammenhängenden Markt im E-Commerce werden. Um im Wettbewerb bestehen zu können, müßten die Unternehmen aber ihre gesamte Firmenstruktur auf die elektronische Zukunft ausrichten. Das gelte auch für Unternehmen außerhalb der Technologie-Branche.:A. EINFÜHRUNG 1 Gemeinschaften in Neuen Medien - Quality of Service aus der Sicht von Nutzer, Betreiber und Service Provider 1 Dr.-Ing. habil. W. Pretzsch, Dipl.-Inform. D. Neumann B. AUSGEWÄHLTE ANSÄTZE ZUR ENTWICKLUNG UND TECHNOLOGIE VON VIRTUELLEN GEMEINSCHAFTEN 25 B. 1. Gruppenorientiertes Requirement Engineering auf der Basis von Lotus Notes 25 Prof. Dr. R Liskowsky, Dipl.-Ing. R Pjater, Dipl.-Inf. H. Steher B.2. Die technische Infrastruktur zur Teilnahme von unternehmen an Gemeinschaften in Neuen Medien 49 M. Ecks, M. Senft Prof. Dr. J. Raasch B. 3. Context modeling of agile software and a context-based approach to support virtual enterprises 73 Dipl.-Inform. Duy-TuanNguyen, Dr. V. Do B. 4. Stabilität und Sicherheit im Web - Der Test webbasierter Anwendungen 89 Dr. R Schröder C. REFERENZMODELLE UND ARCHITEKTUREN VON GEMEINSCHAFTEN IN NEUEN MEDIEN 109 C. l. Ein Referenzmodell für virtuelle Unternehmen 109 Dipl.-Inform. (FH) J. Homann, Dipl.-Inform. D. Neumann C.2. Ein Referenzmodell fü r Gemeinschaften und Medien - Case Study Amazon.com 125 Dr. U. Lechner, Prof. Dr. B. Schmid, Dr. P. Schubert, Dipl. Inform. M. Klose, Stud. oec. O. Miler VIII C.3. Formalisierung und Architektur von Medien und ihren Gemeinschaften 151 Dr. U. Lechner, Prof. Dr. B. Schmid, Dipl. Inform. M. Klose CA. Analyse und Bewertung von wirtschaftsrelevanten Internet-Auftritten Mittelständischer Unternehemen in den neuen Bundesländern 181 Dipl.-Wirtsch.-Inf. E. Kosilek D. KOMMUNIKATION IN VIRTUELLEN GEMEINSCHAFTEN 197 D. 1. Das Potential von Virtual Communities auf Basis von Distributed Virtual Environments für Kundengewinnung und -Bindung 197 J. Templin, Dipl.-Inform. R. Dachselt D.2. Der Einsatz von Desktop-VR für E-Commerce-Anwendungen - Konzepte für dreidimensionale Produktpräsentationen 213 Dipl.-Inform. R. Dachselt D. 3. Die 3D Community als ein Frontend für internetbasierte Anlagenmanagementsysteme 233 Dr.-Ing. K. Richter E. LERNEN IN VIRTUELLEN GEMEINSCHAFTEN 255 E. 1. Ein Web-basierter Compuiergraphik-Kurs im Baukastensysten 255 F. Hanisch, Dr. R. Klein, Prof. Dr. W. Straßer E.2. Integration von Telelearning- und Teleworking-Applikationen 271 Dipl.-Inform. I. Braun, Dipl.-Inform. K. Franze, Dipl.-Inform. R. HEss, Dipl.-Inform. O. Neumann, Prof. Dr. A. Schill E.3. Ein Dokumentmodell für Kursdokumente in Webbasierten Virtuellen Lernumgebungen 291 Prof. Dr. K. Meißner, Dipl.-Inform. F. Wehner E.4. Die Net Academy als Medium für die Learning Community eines Masterprogramms an der Universität St. Gallen 307 S. Seufert, P. Schubert E.5. Das Project Net Academy 329 Dipl.-Kffr. D. Wittig E.6. „Distributed Learning“ unter Lotus Notes - ein Erfahrungsbericht 351 W. Schröter IX F. FACHÜBERGREIFENDE ASPEKTE 371 F. 1. Information Systems for Managing Second Order Dynamics of Organizations 371 Dr. F. Wierda F.2. E-commerce und seine Marktplätze 385 M. Skrzypek F.3. Unternehmensübergreifendes Workflow-Management als Instrument zur Unterstützung von Lieferketten (SUPPLY CHAIN MANAGEMENT) 393 Dipl.-Inform. M. Halatchev, Dipl.-Phys., Dipl-SWTE. Közle G. ANSCHRIFTEN DER AUTOREN 409 H. HINWEIS AUF DIE SPONSOREN 41

    Combining SOA and BPM Technologies for Cross-System Process Automation

    Get PDF
    This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges arising from the transformation

    Sonifying Git History

    Get PDF
    Version control is a technique that software developers use in industry to manage their source code artifacts. One benefit of using version control is that it produces a history of every change made to a codebase, which developers frequently analyze in order to aid the software development process. However, version control history contains highly multidimensional and temporal data. State of the art techniques can show several of these dimensions, but they cannot show a large number of dimensions simultaneously without becoming difficult to understand. An alternative technique to understand temporal data with high dimensionality is sonification. Sonification maps information to sound. In this thesis we propose the use of earcons and parameter mapping sonification to show version control history. Using sonification, we can show more dimensions of version history simultaneously than other state of the art techniques. Our first technique, GitSonifier, uses only sonification to portray version history and historical conflict data. A user study shows that developers can easily understand the sonification, but we also find limitations where visualization may be preferred. Our second technique, GitVS, uses a combination of both visualization and sonification to overcome these limitations. Advisors: Myra B. Cohen and Anita Sarm

    Sonifying Git History

    Get PDF
    Version control is a technique that software developers use in industry to manage their source code artifacts. One benefit of using version control is that it produces a history of every change made to a codebase, which developers frequently analyze in order to aid the software development process. However, version control history contains highly multidimensional and temporal data. State of the art techniques can show several of these dimensions, but they cannot show a large number of dimensions simultaneously without becoming difficult to understand. An alternative technique to understand temporal data with high dimensionality is sonification. Sonification maps information to sound. In this thesis we propose the use of earcons and parameter mapping sonification to show version control history. Using sonification, we can show more dimensions of version history simultaneously than other state of the art techniques. Our first technique, GitSonifier, uses only sonification to portray version history and historical conflict data. A user study shows that developers can easily understand the sonification, but we also find limitations where visualization may be preferred. Our second technique, GitVS, uses a combination of both visualization and sonification to overcome these limitations. Advisors: Myra B. Cohen and Anita Sarm
    corecore