Tool Support for Reactive Programming
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
David Luckham Is the Keynote Speaker at Pen,” He Says
45-iAGEJul-Influ 14/7/04 4:02 pm Page 45 PERSPECTIVE INFLUENCER Man of events or the first year after David vision. As they do so, they will undoubt- Luckham’s book, The Power of Events, edly turn to Luckham’s book for a was published in 2002, it did what grounding in the design principles. F Power of Events most technical books do: disappeared The is based on years of into the academic ether. The publishers, research work at Stanford and two years he says, didn’t promote it at all, and its as CTO of a software start-up working in technical nature put it beyond the reach the field. The book is a technical mani- of most readers. festo for CEP – the ability of systems to As a result, it looked like the ‘event- recognise and respond to complex, inter- driven revolution’, of which the Stanford related events in real time. University Emeritus Professor is the lead- Luckham has spent 22 years as a ing and most passionate advocate, would Professor of Electrical Engineering at be postponed for a few years more. Stanford, and many years before that Stanford University But then, in mid-2003, two important doing ground-breaking work at Emeritus Professor David US technical journals gave the book Harvard, Stanford, UCLA and MIT. But highly positive reviews, and interest his presentations, and the first half of Luckham has spent began to grow. Sales began to rise, at first his book, at least, are in plain English, decades studying event slowly, then dramatically. Luckham star- full of clear examples of why CEP will processing. -
Smart Execution of Distributed Application by Balancing Resources in Mobile Devices
ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA SCUOLA DI INGEGNERIA E ARCHITETTURA DISI INGEGNERIA INFORMATICA TESI DI LAUREA in Reti di Calcolatori M Smart execution of distributed application by balancing resources in mobile devices and cloud-based avatars CANDIDATO: RELATORE: Giacomo Gezzi Chiar.mo Prof. Ing. Antonio Corradi CORRELATORE: Chiar.mo Prof. Cristian Borcea Anno Accademico 2014/2015 Sessione III 2 Abstract L’obiettivo del progetto di tesi svolto e` quello di realizzare un servizio di livello middleware dedicato ai dispositivi mobili che sia in grado di fornire il supporto per l’offloading di codice verso una infrastruttura cloud. In particolare il progetto si concentra sulla migrazione di codice verso macchine virtuali dedicate al singolo utente. Il sistema operativo delle VMs e` lo stesso utilizzato dal device mobile. Come i precedenti lavori sul computation offloading, il progetto di tesi deve garantire migliori per- formance in termini di tempo di esecuzione e utilizzo della batteria del dispositivo. In particolare l’obiettivo piu` ampio e` quello di adattare il principio di computation offloading a un contesto di sistemi distribuiti mobili, miglio- rando non solo le performance del singolo device, ma l’esecuzione stessa dell’applicazione distribuita. Questo viene fatto tramite una gestione di- namica delle decisioni di offloading basata, non solo, sullo stato del de- vice, ma anche sulla volonta` e/o sullo stato degli altri utenti appartenenti allo stesso gruppo. Per esempio, un primo utente potrebbe influenzare le decisioni degli altri membri del gruppo specificando una determinata richiesta, come alta qualita` delle informazioni, risposta rapida o basata su altre informazioni di alto livello. -
A Closer Look at the Sorption Behavior of Nonionic Surfactants in Marine Sediment
A closer look at the sorption behavior of nonionic surfactants in marine sediment Steven Droge Droge, S. / A closer look at the sorption behavior of nonionic surfactants in marine sediment. PhD thesis, 2008, Institute for Risk Assessment Sciences (IRAS), Utrecht University, The Netherlands ISBN 978-90-393-4774-4 Printed by Ridderprint Cover picture: The Great Wave off Kanagawa by Hokusai (ca. 1830-32) Design by Martijn Dorresteijn A closer look at the sorption behavior of nonionic surfactants in marine sediment Een nadere beschouwing van het sorptiegedrag van niet-ionogene oppervlakte-aktieve stoffen in marien sediment (met een samenvatting in het Nederlands) Proefschrift ter verkrijging van de graad van doctor aan de Universiteit Utrecht op gezag van de rector magnificus, prof.dr. J. C. Stoof, ingevolge het besluit van het college voor promoties in het openbaar te verdedigen op dinsdag 25 maart 2008 des middags te 4.15 uur door Stefanus Theodorus Johannes Droge geboren op 19 februari 1978 te Alkmaar Promotor: Prof.dr. W. Seinen Co-promotor: Dr. J. L. M. Hermens The research described in this thesis was financially supported by ERASM (Environmental Risk Assessment and Management), a joint platform of the European detergent and surfactants producers [A.I.S.E (Association Internationale de la Savonnerie, de la Détergence et des Produits d’Entretien) and CESIO (Comité Européen des Agents Surface et de leurs Intermédiaires Organiques)] CONTENTS Chapter 1 1 General Introduction Chapter 2 25 Analysis of Freely Dissolved Alcohol Ethoxylate Homologues -
The Computational Attitude in Music Theory
The Computational Attitude in Music Theory Eamonn Bell Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Graduate School of Arts and Sciences COLUMBIA UNIVERSITY 2019 © 2019 Eamonn Bell All rights reserved ABSTRACT The Computational Attitude in Music Theory Eamonn Bell Music studies’s turn to computation during the twentieth century has engendered particular habits of thought about music, habits that remain in operation long after the music scholar has stepped away from the computer. The computational attitude is a way of thinking about music that is learned at the computer but can be applied away from it. It may be manifest in actual computer use, or in invocations of computationalism, a theory of mind whose influence on twentieth-century music theory is palpable. It may also be manifest in more informal discussions about music, which make liberal use of computational metaphors. In Chapter 1, I describe this attitude, the stakes for considering the computer as one of its instruments, and the kinds of historical sources and methodologies we might draw on to chart its ascendance. The remainder of this dissertation considers distinct and varied cases from the mid-twentieth century in which computers or computationalist musical ideas were used to pursue new musical objects, to quantify and classify musical scores as data, and to instantiate a generally music-structuralist mode of analysis. I present an account of the decades-long effort to prepare an exhaustive and accurate catalog of the all-interval twelve-tone series (Chapter 2). This problem was first posed in the 1920s but was not solved until 1959, when the composer Hanns Jelinek collaborated with the computer engineer Heinz Zemanek to jointly develop and run a computer program. -
Design Pattern Implementation in Java and Aspectj
Design Pattern Implementation in Java and AspectJ Jan Hannemann Gregor Kiczales University of British Columbia University of British Columbia 201-2366 Main Mall 201-2366 Main Mall Vancouver B.C. V6T 1Z4 Vancouver B.C. V6T 1Z4 jan [at] cs.ubc.ca gregor [at] cs.ubc.ca ABSTRACT successor in the chain. The event handling mechanism crosscuts the Handlers. AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases. These improvements When the GoF patterns were first identified, the sample are manifested in terms of better code locality, reusability, implementations were geared to the current state of the art in composability, and (un)pluggability. object-oriented languages. Other work [19, 22] has shown that implementation language affects pattern implementation, so it seems The degree of improvement in implementation modularity varies, natural to explore the effect of aspect-oriented programming with the greatest improvement coming when the pattern solution techniques [11] on the implementation of the GoF patterns. structure involves crosscutting of some form, including one object As an initial experiment we chose to develop and compare Java playing multiple roles, many objects playing one role, or an object [27] and AspectJ [25] implementations of the 23 GoF patterns. playing roles in multiple pattern instances. AspectJ is a seamless aspect-oriented extension to Java, which means that programming in AspectJ is effectively programming in Categories and Subject Descriptors Java plus aspects. D.2.11 [Software Engineering]: Software Architectures – By focusing on the GoF patterns, we are keeping the purpose, patterns, information hiding, and languages; D.3.3 intent, and applicability of 23 well-known patterns, and only allowing [Programming Languages]: Language Constructs and Features – the solution structure and solution implementation to change. -
Weaving Eclipse Applications
Weaving Eclipse Applications Fabio Calefato, Filippo Lanubile, Mario Scalas, 1 Dipartimento di Informatica, Università di Bari, Italy {calefato, lanubile, scalas}@uniba.it Abstract. The Eclipse platform fully supports the ideas behind software components: in addition it also adds dynamic behavior allowing components to be added, replaced or removed at runtime without shutting the application down. While layered software architectures may be implemented by assembling components, the way these components are wired together differs. In this paper we present our solution of Dependecy Injection, which allows to build highly decoupled Eclipse applications in order to implement real separation of concerns by systemically applying Aspect Oriented Programming and the Model-View-Presenter pattern, a variant of the classic Model-View-Controller. Keywords: Eclipse, Aspect Oriented Programming, Dependency Injection. 1 Introduction The Dependency Inversion Principle [19] (DIP) states that (both high and low level) software parts should not depend on each other’s concrete implementation but, instead, be based on a common set of shared abstractions: one application of the DIP is the Dependency Injection, also called Inversion of Control (IoC) [11]. From an architectural perspective, DI allows to explicit the dependencies between software components and provides a way to break the normal coupling between a system under test and its dependencies during automated testing [25]. This is possible because the software is composed by aggregating simpler, loosely coupled objects that are more easily unit-testable [32]. Additionally, by separating the clients by their dependencies, we also make their code simpler because there is no need for them to search for their collaborators. -
Parallel Programming by Transformation
Universidade do Minho Escola de Engenharia Davide Rua Carneiro An agent-based architecture for online Universidade do Minho dispute resolutionEscola services de Engenharia Parallel Programming by Transformation Rui Carlos Ara´ujoGon¸calves The MAP Doctoral Program in Computer Science The MAP-i Doctoral Program of the of the Universities of Minho, Aveiro and Porto Universities of Minho, Aveiro and Porto universidade de aveiro Universidade do Minho Supervisors: Professor Jo~aoLu´ısFerreira Sobral A thesisProfessor submitted Don Batory at the University of Minho for the degree of Doctor of Philosophy in Informatics (PhD) underApril 2015the supervision of Paulo Jorge Freitas de Oliveira Novais and José Carlos Ferreira Maia Neves July 2013 Acknowledgments Several people contributed to this journey that now is about to end. Among my family, friends, professors, etc., it is impossible to list all who helped me over the years. Nevertheless, I want to highlight some people that had a key role in the success of this journey. I would like to thank Professor Jo~aoLu´ısSobral, for bringing me into this world, for pushing me into pursuing a PhD, and for the comments and directions provided. I would like thank Professor Don Batory, for everything he taught me over these years, and for being always available to discuss my work and to share his expertise with me. I will be forever grateful for all the guidance and insights he provided me, which were essential to the conclusion of this work. I would like to thank the people I had the opportunity to work with at the University of Texas at Austin, in particular Professor Robert van de Geijn, Bryan Marker, and Taylor Rich´e,for the important contributions they gave to this work. -
Origins of the American Association for Artificial Intelligence
AI Magazine Volume 26 Number 4 (2006)(2005) (© AAAI) 25th Anniversary Issue The Origins of the American Association for Artificial Intelligence (AAAI) Raj Reddy ■ This article provides a historical background on how AAAI came into existence. It provides a ratio- nale for why we needed our own society. It pro- vides a list of the founding members of the com- munity that came together to establish AAAI. Starting a new society comes with a whole range of issues and problems: What will it be called? How will it be financed? Who will run the society? What kind of activities will it engage in? and so on. This article provides a brief description of the consider- ations that went into making the final choices. It also provides a description of the historic first AAAI conference and the people that made it happen. The Background and the Context hile the 1950s and 1960s were an ac- tive period for research in AI, there Wwere no organized mechanisms for the members of the community to get together and share ideas and accomplishments. By the early 1960s there were several active research groups in AI, including those at Carnegie Mel- lon University (CMU), the Massachusetts Insti- tute of Technology (MIT), Stanford University, Stanford Research Institute (later SRI Interna- tional), and a little later the University of Southern California Information Sciences Insti- tute (USC-ISI). My own involvement in AI began in 1963, when I joined Stanford as a graduate student working with John McCarthy. After completing my Ph.D. in 1966, I joined the faculty at Stan- ford as an assistant professor and stayed there until 1969 when I left to join Allen Newell and Herb Simon at Carnegie Mellon University Raj Reddy. -
Static Versus Dynamic Polymorphism When Implementing Variability in C++
Static Versus Dynamic Polymorphism When Implementing Variability in C++ by Samer AL Masri A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science Department of Computing Science University of Alberta c Samer AL Masri, 2018 Abstract Software Product Line Engineering (SPLE) creates configurable platforms that can be used to efficiently produce similar, and yet different, product vari- ants. To implement SPLs, multiple variability implementation mechanisms have been suggested, including polymorphism. In this thesis, we talk about the trade-offs of using static versus dynamic polymorphism through a case study of IBM’s open-source Eclipse OMR project. Eclipse OMR is an open-source C++ framework for building robust lan- guage runtimes. To support the diverse languages and architectures targeted by the framework, OMR’s variability implementation uses a combination of build-system variability and static polymorphism. OMR developers now real- ize that their current static polymorphism implementation has its drawbacks and are considering using dynamic polymorphism instead. In order to study the trade-offs of using different kinds of polymorphism in OMR, it is crucial to collect function information and overload/override statistics about the current code base. Hence, we create OMRStatistics,a static analysis tool that collects such information about OMR’s source code. Using the information provided by OMRStatistics, OMR developers can make better design decisions on which variability extension points should be switched from static polymorphism to dynamic polymorphism. In addition, we report on our first hand experience of changing the poly- morphism used in OMR’s variability implementation mechanism from static to dynamic, the challenges we faced in the process, and how we overcame them. -
Oracle FLEXCUBE Private Banking Release Notes
Product Release Notes Oracle FLEXCUBE Private Banking Release 12.1.0.0.0 [April] [2016] Product Release Notes Table of Contents 1. INTRODUCTION ........................................................................................................................................... 1-1 1.1 PURPOSE ..................................................................................................................................................... 1-1 1.2 BACKGROUND/ENVIRONMENT ................................................................................................................... 1-1 1.3 THIRD PARTY SOFTWARE DETAILS ............................................................................................................ 1-2 1.4 RELEASE CONTENTS ................................................................................................................................... 1-4 1.5 PRODUCT DOCUMENTATION ....................................................................................................................... 1-5 2. COMPONENTS OF THE RELEASE ........................................................................................................... 2-1 2.1 DOCUMENTS ACCOMPANYING THE SOFTWARE ............................................................................................ 2-1 2.2 SOFTWARE COMPONENTS ........................................................................................................................... 2-1 1. Introduction 1.1 Purpose Purpose of this Release Note is to highlight the -
Eclipse Governance Structure
Eclipse Governance Structure Board of Directors A p p rov es S trateg y , P lans, P olicies E clip se M anag em ent O rg aniz ation E stab lish es th e R oadm ap , Bu ilds th e P latform , Deliv ers th e V ision R eq u irem ents C ou ncil P rop oses T h em es M em b ersh ip at L arg e & P riorities A p p rov es V ision, By law s Bu ilds th e E cosy stem P lanning C ou ncil A rch itectu re C ou ncil E stab lish es P latform Defines & M aintains R elease P lan A rch itectu re S u b com m ittee A S u b com m ittee B P M C 1 P M C 2 P M C 3 P M C 4 P M C 4 P M C 5 P M C 6 P M C 7 Project Management Committees Eclipse Foundation, Inc. Eclipse Development Roadmap ° http://www.eclipse.org/org/councils/roadmap.html ° Communicate the direction and timetable of the Eclipse projects ° Solicits for input from key stakeholders ° Create an open predictable environment to enable planning for commercial adoption ° Predictable schedule of new releases ° Understand technology direction ° Eclipse Roadmap consists of: ° Themes and Priorities ° Schedules ° Architecture Plan ° Will be update every 6 months ° First iteration done March 2005 Eclipse Foundation, Inc. Eclipse Roadmap: Development Councils Strategic Members PMC T&P’s Requirements Council Add-in Providers Market research T h P e r m io e ri s & ti s e & e s s e m ti e ri h o T ri P Platform Release Planning Architecture Council Architecture Plan Council P P M M C C P A l r a c n h s Eclipse Foundation, Inc. -
Creating a Modular Aspectj Foundation for Simple and Rapid Extension Implementation By
Creating a Modular AspectJ Foundation for Simple and Rapid Extension Implementation by Hristofor Mirche E!I FM" E#AMI$A"I%$ C%MMI""EE dr& C&M& 'oc(isch prof&dr&ir& M& A(sit )*&*+&,*-. Abstract "he current state of aspect/oriented programming 0A%1) has raised concerns regarding arious limitations that A%1 languages ha e& "he issue is that A%1 languages are not robust enough 3hen the basis program is changed& "here are many ne3 proposals for A%1 languages 3ith ne3 features that attempt to restrict or gi e more expressi eness to the programmer in order to force a ne3 context 3here the problems can be mitigated& Some of those languages are designed as extensions of AspectJ. Existing open AspectJ compilers can be used for implementing such an extension, but this can 5uic(ly become a complicated task of extending the complex processes of lexing4 parsing and 3ea ing4 of 3hich the compilers o6er lo3/le el abstractions& "hus4 there is a need for an easily extensible AspectJ foundation for a simpler and faster de elopment of language extensions& !e ha e de eloped such a foundation and in this thesis 3e describe the design of the implementation. !e pro ide an o er ie3 of a testing process to determine its alidity& Finally4 3e implement one proposal for an AspectJ extension and e aluate the extensibility and ease of use of our foundation in comparison to other existing AspectJ compilers& -& Introduction Moti ation& An easy approach to implement an aspect/oriented language 3ould be to extend an existing A%P compiler& "his is not al3ays the best approach4