EDBT 2026 Demo / reviewers in the wild / expert
Alexander L. Wolf
dblp:w/AlexanderLWolf
· DBLP profile ↗
67ranked-venue papers
6as first author
0since 2021 · last 2018
0000-0002-4901-1646ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 45 · 6 first-authorComputer networks · 9Systems, architecture and hardware · 5Databases, data management, data science and information retrieval · 4Security and privacy · 2Artificial intelligence and machine learning · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
19 papers |
Distributed systems · 38% Cloud and datacenter computing · 18% Performance modeling and evaluation · 18% | |
| Software engineering, system software, and programming languages
25 papers |
Software testing · 25% Debugging and program repair · 19% Requirements engineering and software design · 17% | |
| Computer networks
10 papers |
Software-defined and programmable networks · 21% Network performance modeling · 18% Edge and fog computing · 18% | |
| Databases, data mining, and information retrieval
2 papers |
Data stream processing · 94% Database system architecture and tuning · 6% |
Topics — the 30 heaviest of 78, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Debugging and program repair
fault localization |
0.3 | 1 | 2018 | Locating Faults in MANET-Hosted Software Systems · IEEE Trans. Dependable Secur. Comput. 2018 |
Data stream processing › continuous query processing
window-based stream processing |
0.2 | 1 | 2016 | SABER: Window-Based Hybrid Stream Processing for Heterogeneous Architectures · SIGMOD Conference 2016 |
Edge and fog computing
edge cloud |
0.2 | 1 | 2015 | Demo: : NOMAD: An Edge Cloud Platform for Hyper-Responsive Mobile Apps · MobiSys 2015 |
Network performance modeling › markov chain model
mixing time |
0.2 | 1 | 2015 | Measuring the mixing time of a network · INFOCOM 2015 |
Distributed systems
gossip protocols |
0.2 | 1 | 2015 | Measuring the mixing time of a network · INFOCOM 2015 |
Internet of things and sensor networks › wireless sensor network
in-network aggregation |
0.2 | 1 | 2014 | NetAgg: Using Middleboxes for Application-specific On-path Aggregation in Data Centres · CoNEXT 2014 |
Cloud and datacenter computing › datacenter workloads
datacenter applications |
0.2 | 1 | 2014 | NetAgg: Using Middleboxes for Application-specific On-path Aggregation in Data Centres · CoNEXT 2014 |
Cloud and datacenter computing
datacenter network |
0.2 | 1 | 2013 | Supporting application-specific in-network processing in data centres · SIGCOMM 2013 |
Interconnection networks and networks-on-chip
in-network computing |
0.2 | 1 | 2013 | Supporting application-specific in-network processing in data centres · SIGCOMM 2013 |
Software testing › test adequacy
test adequacy criteria |
0.1 | 2 | 2008 | Evaluating Test Suites and Adequacy Criteria Using Simulation-Based Models of Distributed Systems · IEEE Trans. Software Eng. 2008 Simulation-based test adequacy criteria for distributed systems · SIGSOFT FSE 2006 |
Distributed systems › distributed system evaluation
distributed system experimentation |
0.1 | 2 | 2008 | Four enhancements to automateddistributed system experimentation methods · ICSE 2008 Automating experimentation on distributed testbeds · ASE 2005 |
Performance modeling and evaluation › workload characterization
workload generation |
0.1 | 2 | 2008 | Four enhancements to automateddistributed system experimentation methods · ICSE 2008 Automating experimentation on distributed testbeds · ASE 2005 |
Distributed systems
publish/subscribe systems |
0.1 | 4 | 2004 | Design and Evaluation of a Support Service for Mobile, Wireless Publish/Subscribe Applications · IEEE Trans. Software Eng. 2003 Design and evaluation of a wide-area event notification service · ACM Trans. Comput. Syst. 2001 Achieving scalability and expressiveness in an Internet-scale event notification service · PODC 2000 |
Distributed systems › dynamic network
mobile ad hoc network |
0.1 | 1 | 2018 | Locating Faults in MANET-Hosted Software Systems · IEEE Trans. Dependable Secur. Comput. 2018 |
Internet architecture and protocols › information-centric networking
content-based networking |
0.1 | 2 | 2004 | A Routing Scheme for Content-Based Networking · INFOCOM 2004 Forwarding in a content-based network · SIGCOMM 2003 |
Software testing › system testing
distributed system testing |
0.1 | 1 | 2008 | Evaluating Test Suites and Adequacy Criteria Using Simulation-Based Models of Distributed Systems · IEEE Trans. Software Eng. 2008 |
Software testing
mutation testing |
0.1 | 1 | 2008 | Evaluating Test Suites and Adequacy Criteria Using Simulation-Based Models of Distributed Systems · IEEE Trans. Software Eng. 2008 |
Software testing
test suite evaluation |
0.1 | 1 | 2008 | Evaluating Test Suites and Adequacy Criteria Using Simulation-Based Models of Distributed Systems · IEEE Trans. Software Eng. 2008 |
Performance modeling and evaluation › online controlled experiments
experiment management |
0.1 | 1 | 2008 | Four enhancements to automateddistributed system experimentation methods · ICSE 2008 |
Performance modeling and evaluation
repeatable experimentation |
0.1 | 1 | 2008 | Four enhancements to automateddistributed system experimentation methods · ICSE 2008 |
Wireless networking › network deployment
network service deployment |
0.1 | 1 | 2016 | FLICK: Developing and Running Application-Specific Network Services · USENIX ATC 2016 |
Ubiquitous computing and smart environments › mobile computing
mobile applications |
0.1 | 1 | 2015 | Demo: : NOMAD: An Edge Cloud Platform for Hyper-Responsive Mobile Apps · MobiSys 2015 |
Operating systems
distributed systems |
0.1 | 1 | 2006 | Simulation-based test adequacy criteria for distributed systems · SIGSOFT FSE 2006 |
Distributed systems › publish/subscribe systems
event notification service |
0.1 | 2 | 2001 | Design and evaluation of a wide-area event notification service · ACM Trans. Comput. Syst. 2001 Achieving scalability and expressiveness in an Internet-scale event notification service · PODC 2000 |
Wireless networking › network deployment
middlebox deployment |
0.1 | 1 | 2014 | NetAgg: Using Middleboxes for Application-specific On-path Aggregation in Data Centres · CoNEXT 2014 |
Software maintenance and evolution
software configuration management |
0.1 | 2 | 2002 | A Testbed for Configuration Management Policy Programming · IEEE Trans. Software Eng. 2002 A Generic, Peer-to-Peer Repository for Distributed Configuration Management · ICSE 1996 |
Requirements engineering and software design
software architecture |
0.0 | 4 | 2000 | Static checking of system behaviors using derived component assumptions · ACM Trans. Softw. Eng. Methodol. 2000 Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model · IEEE Trans. Software Eng. 1995 Specification Level Interoperability · ICSE 1990 |
Routing and switching › routing
content-based routing |
0.0 | 1 | 2004 | A Routing Scheme for Content-Based Networking · INFOCOM 2004 |
Systems and software security
security engineering |
0.0 | 1 | 2004 | Is security engineering really just good software engineering? · SIGSOFT FSE 2004 |
Requirements engineering and software design › software process
process model |
0.0 | 2 | 1999 | Software Process Validation: Quantitatively Measuring the Correspondence of a Process to a Model · ACM Trans. Softw. Eng. Methodol. 1999 Discovering Models of Software Processes from Event-Based Data · ACM Trans. Softw. Eng. Methodol. 1998 |
Methods — techniques the papers use, named apart from their topics
timing analysis · 0.7fault propagation model · 0.7bayesian reasoning · 0.7parallel runs · 0.4impulse response · 0.4middlebox offloading · 0.4application-specific aggregation · 0.4workload composability · 0.2model-driven framework · 0.2discrete-event simulation · 0.2fault-based analysis · 0.1specification-based testing · 0.1simulation-based testing · 0.1optimization heuristics · 0.0event-based translation · 0.0broadcast protocols · 0.0predicate matching algorithm · 0.0programmatic interface · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Locating Faults in MANET-Hosted Software SystemsabstractWe present a method to locate faults in service-based software systems hosted on mobile ad hoc networks (MANETs). In such systems, computations are structured as interdependent services distributed across the network, collaborating to satisfy client requests. Faults, which may occur at either or both the service and network layers, propagate by cascading through some subset of the services, from their root causes back to the clients that initiate requests. Fault localization in this environment is especially challenging because the systems are typically subject to a wider variety and higher incidence of faults than those deployed in fixed networks, the resources available to collect and store analysis data are severely limited, and many of the sources of faults are by their nature transient. Our method makes use of service-dependence and fault data that are harvested in the network through decentralized, run-time observations of service interactions and fault symptoms. We have designed timingand Bayesian-based reasoning techniques to analyze the data in the context of a specific fault propagation model. The analysis provides a ranked list of candidate fault locations. Through extensive simulations, we evaluate the performance of our method in terms of its accuracy in correctly ranking root causes under a wide range of operational conditions. Petr Novotný 0002, Bong Jun Ko, Alexander L. Wolf |
IEEE Trans. Dependable Secur. Comput. | 3 |
| 2016 | Relation-oriented resource allocation for multi-accelerator systemsabstractThis paper presents a novel approach for allocating resources in systems with multiple accelerators. It has three main contributions. First, a new model based on Birkhoff's representation theory in capturing the ordering properties of resource allocation requests (RArs). Second, an effective technique for resource allocation based on this model, targeting systems with multiple accelerators. Third, the evaluation of the proposed approach for Maxeler MPC-X multi-accelerator systems, demonstrating time-efficiency and 30%-50% failure-rate decrease (FRD) on random input dataset. Mark Stillwell, José Gabriel F. Coutinho, Wenlai Zhao, Shuang Liang 0012, Wayne Luk, Alexander L. Wolf, Yuchun Ma |
ASAP | 8 |
| 2016 | SABER: Window-Based Hybrid Stream Processing for Heterogeneous ArchitecturesabstractModern servers have become heterogeneous, often combining multi-core CPUs with many-core GPGPUs. Such heterogeneous architectures have the potential to improve the performance of data-intensive stream processing applications, but they are not supported by current relational stream processing engines. For an engine to exploit a heterogeneous architecture, it must execute streaming SQL queries with sufficient data-parallelism to fully utilise all available heterogeneous processors, and decide how to use each in the most effective way. It must do this while respecting the semantics of streaming SQL queries, in particular with regard to window handling. Alexandros Koliousis, Matthias Weidlich 0001, Raul Castro Fernandez, Alexander L. Wolf, Paolo Costa, Peter R. Pietzuch |
SIGMOD Conference | 4 |
| 2016 | FLICK: Developing and Running Application-Specific Network Services
Abdul Alim, Richard G. Clegg, Luo Mai, Lukas Rupprecht, Eric Seckler, Paolo Costa, Peter R. Pietzuch, Alexander L. Wolf, Nik Sultana, Jon Crowcroft, Anil Madhavapeddy, Andrew W. Moore 0002, Richard Mortier, Masoud Koleini, Luis Oviedo, Matteo Migliavacca, Derek McAuley |
USENIX ATC | 8 |
| 2015 | Measuring the mixing time of a networkabstractMixing time is a global property of a network that indicates how fast a random walk gains independence from its starting point. Mixing time is an essential parameter for many distributed algorithms, but especially those based on gossip. We design, implement, and evaluate a distributed protocol to measure mixing time. The protocol extends an existing algorithm that models the diffusion of information seen from each node in the network as the impulse response of a particular dynamic system. In its original formulation, the algorithm was susceptible to topology changes (or “churn”) and was evaluated only in simulation. Here we present a concrete implementation of an enhanced version of the algorithm that exploits multiple parallel runs to obtain a robust measurement, and evaluate it using a network testbed (Emulab) in combination with a peer-to-peer system (FreePastry) to assess both its performance and its ability to deal with network churn. Xenofon Foukas, Antonio Carzaniga, Alexander L. Wolf |
INFOCOM | 3 |
| 2015 | Demo: : NOMAD: An Edge Cloud Platform for Hyper-Responsive Mobile AppsabstractNo abstract available. Andreas Pamboris, Miguel Baguena, Alexander L. Wolf, Pietro Manzoni, Peter R. Pietzuch |
MobiSys | 3 |
| 2015 | On-Demand Discovery of Software Service Dependencies in MANETsabstractThe dependencies among the components of service-oriented software applications hosted in a mobile ad hoc network (MANET) are difficult to determine due to the inherent loose coupling of the services and the transient communication topologies of the network. Yet understanding these dependencies is critical to making good management decisions, since dependence data underlie important analyses such as fault localization and impact analysis. Current methods for discovering dependencies, developed primarily for fixed networks, assume that dependencies change only slowly and require relatively long monitoring periods as well as substantial memory and communication resources, all of which are impractical in the MANET environment. We describe a new dynamic dependence discovery method designed specifically for this environment, yielding dynamic snapshots of dependence relationships discovered through observations of service interactions. We evaluate the performance of our method in terms of the accuracy of the discovered dependencies, and draw insights on the selection of critical parameters under various operational conditions. Although operated under more stringent conditions, our method is shown to provide results comparable to or better than existing methods. Petr Novotný 0002, Bong Jun Ko, Alexander L. Wolf |
IEEE Trans. Netw. Serv. Manag. | 3 |
| 2014 | NetAgg: Using Middleboxes for Application-specific On-path Aggregation in Data CentresabstractData centre applications for batch processing (e.g. map/reduce frameworks) and online services (e.g. search engines) scale by distributing data and computation across many servers. They typically follow a partition/aggregation pattern: tasks are first partitioned across servers that process data locally, and then those partial results are aggregated. This data aggregation step, however, shifts the performance bottleneck to the network, which typically struggles to support many-to-few, high-bandwidth traffic between servers. Luo Mai, Lukas Rupprecht, Abdul Alim, Paolo Costa, Matteo Migliavacca, Peter R. Pietzuch, Alexander L. Wolf |
CoNEXT | 7 |
| 2014 | From software engineering to software systems (invited talk)abstractI began my career in software engineering research and now find myself working more in software systems research. Is there a difference? In this talk I reflect on this question by recalling the stream of ideas, students, and colleagues that have shaped my path. I present an overview of the current projects in which I am involved to understand at a technical level where the two research communities, software engineering and software systems, connect and diverge. Alexander L. Wolf |
SIGSOFT FSE | 1 |
| 2013 | Discovering service dependencies in mobile ad hoc networks
Petr Novotný 0002, Alexander L. Wolf, Bong Jun Ko |
IM | 2 |
| 2013 | Supporting application-specific in-network processing in data centresabstractNo abstract available. Luo Mai, Lukas Rupprecht, Paolo Costa, Matteo Migliavacca, Peter R. Pietzuch, Alexander L. Wolf |
SIGCOMM | 6 |
| 2012 | Fault Localization in MANET-Hosted Service-Based SystemsabstractFault localization in general refers to a technique for identifying the likely root causes of failures observed in systems formed from components. Fault localization in systems deployed on mobile ad hoc networks (MANETs) is a particularly challenging task because those systems are subject to a wider variety and higher incidence of faults than those deployed in fixed networks, the resources available to track fault symptoms are severely limited, and many of the sources of faults in MANETs are by their nature transient. We present a method for localizing the faults occurring in service-based systems hosted on MANETs. The method is based on the use of dependence data that are discovered dynamically through decentralized observations of service interactions. We employ both Bayesian and timing-based reasoning techniques to analyze the data in the context of a specific fault propagation model, deriving a ranked list of candidate fault locations. We present the results of an extensive set of experiments exploring a wide range of operational conditions to evaluate the accuracy of our method. Petr Novotný 0002, Alexander L. Wolf, Bong Jun Ko |
SRDS | 2 |
| 2011 | Change Impact Analysis in Product-Line Architectures
Jessica Díaz, Jennifer Pérez, Juan Garbajosa, Alexander L. Wolf |
ECSA | 4 |
| 2011 | A Content-Based Publish/Subscribe Matching Algorithm for 2D Spatial Objects
Athanasios Konstantinidis 0001, Antonio Carzaniga, Alexander L. Wolf |
Middleware | 3 |
| 2008 | Four enhancements to automateddistributed system experimentation methodsabstractExperimentation is an essential tool employed by the developers of software systems, especially distributed systems. In prior work we developed a model-driven framework for automating various experimentation tasks, such as workload generation, and demonstrated that it gives the engineer a cost-effective means to conduct large-scale experiments on distributed testbeds. We have enhanced the methods underlying the framework in four significant ways: (1) increasing the expressiveness of workloads by allowing for conditional and reactive behaviors; (2) supporting the repeatability of experiments through the creation of environment workloads that can control the operational context; (3) enabling the composability of application and environment workloads to obtain a broader class of experiments; and (4) extending the scope of experiment management to include control over multiple runs. We use the enhancements to conduct a series of interesting new experiments. Specifically, the enhancements allow us to manipulate a fixed-wired testbed so that it simulates a mobile-wireless environment, and to selectively and maliciously inject faults into a system. Antonio Carzaniga, Alexander L. Wolf |
ICSE | 3 |
| 2008 | ACM SIGSOFT impact paper award: reflections and prospectsabstractIn the mid 1990s the Internet began to emerge as a communication and application platform for the masses, enabled by infrastructures from CORBA to the World Wide Web. Consequently, software engineering researchers began to address the many challenges and opportunities of engineering large-scale, highly networked distributed systems. At the same time, the event-based or implicit invocation architectural style had established itself as a prominent feature of distributed systems, but primarily restricted to small-scale systems deployed in local-area networks. David S. Rosenblum, Alexander L. Wolf |
SIGSOFT FSE | 2 |
| 2008 | Evaluating Test Suites and Adequacy Criteria Using Simulation-Based Models of Distributed SystemsabstractTest adequacy criteria provide the engineer with guidance on how to populate test suites. While adequacy criteria have long been a focus of research, existing testing methods do not address many of the fundamental characteristics of distributed systems, such as distribution topology, communication failure, and timing. Furthermore, they do not provide the engineer with a means to evaluate the relative effectiveness of different criteria, nor the relative effectiveness of adequate test suites satisfying a given criterion. This paper makes three contributions to the development and use of test adequacy criteria for distributed systems: (1) a testing method based on discrete-event simulations; (2) a fault-based analysis technique for evaluating test suites and adequacy criteria; and (3) a series of case studies that validate the method and technique. The testing method uses a discrete-event simulation as an operational specification of a system, in which the behavioral effects of distribution are explicitly represented. Adequacy criteria and test cases are then defined in terms of this simulation-based specification. The fault-based analysis involves mutation of the simulation-based specification to provide a foil against which test suites and the criteria that formed them can be evaluated. Three distributed systems were used to validate the method and technique, including DNS, the domain name system. Matthew J. Rutherford, Antonio Carzaniga, Alexander L. Wolf |
IEEE Trans. Software Eng. | 3 |
| 2007 | Frame shared memory: line-rate networking on commodity hardwareabstractNetwork processors provide an economical programmable platform to handle the high throughput and frame rates of modern and next-generation communication systems. However, these platforms have exchanged general-purpose capabilities for performance. John Giacomoni, John K. Bennett, Antonio Carzaniga, Douglas C. Sicker, Manish Vachharajani, Alexander L. Wolf |
ANCS | 6 |
| 2007 | Engineering software services for pervasive environmentsabstractThe International Workshop on the Engineering of Software Services for Pervasive Environments (ESSPE) brings together researchers interested in the software engineering challenges found at the convergence of software services and pervasive environments. This summary presents the motivation for the workshop and a brief review of the papers appearing in the proceedings. Alexander L. Wolf |
ESEC/SIGSOFT FSE | 1 |
| 2007 | Deployment and dynamic reconfiguration planning for distributed software systems
Naveed Arshad, Dennis Heimbigner, Alexander L. Wolf |
Softw. Qual. J. | 3 |
| 2006 | Simulation-based test adequacy criteria for distributed systemsabstractDevelopers of distributed systems routinely construct discrete-event simulations to help understand and evaluate the behavior of inter-component protocols. Simulations are abstract models of systems and their environments, capturing basic algorithmic functionality at the same time as they focus attention on properties critical to distribution, including topology, timing, bandwidth, and overall scalability. We claim that simulations can be treated as a form of specification, and thereby used within a specification-based testing regime to provide developers with a rich new basis for defining and applying system-level test adequacy criteria. We describe a framework for evaluating distributed system test adequacy criteria, and demonstrate our approach on simulations and implementations of three distributed systems, including DNS, the Domain Name System. Matthew J. Rutherford, Antonio Carzaniga, Alexander L. Wolf |
SIGSOFT FSE | 3 |
| 2006 | On relating functional specifications to architectural specifications: A case study
Flavio Corradini, Paola Inverardi, Alexander L. Wolf |
Sci. Comput. Program. | 3 |
| 2005 | Automating experimentation on distributed testbedsabstractEngineering distributed systems is a challenging activity. This is partly due to the intrinsic complexity of distributed systems, and partly due to the practical obstacles that developers face when evaluating and tuning their design and implementation decisions.This paper addresses the latter aspect, providing techniques for software engineers to automate the experimentation activity. Our approach is founded on a suite of models that characterize the distributed system under experimentation, the testbeds upon which the experiments are to be carried out, and the client behaviors that drive the experiments. The models are used by generative techniques to automate construction of the workloads,as well as construction of the scripts for deploying and executing the experiments on distributed testbeds. The framework is not targeted at a specific system or application model, but rather is a generic, programmable tool. We have validated our approach by performing experiments on a variety of distributed systems. For two of these systems, the experiments were deployed and executed on the PlanetLab wide-area testbed.Our experience shows that this framework can be readily applied to different kinds of distributed system architectures,and that using it for meaningful experimentation,especially in large-scale network environments, is advantageous. Matthew J. Rutherford, Antonio Carzaniga, Alexander L. Wolf |
ASE | 4 |
| 2005 | EditorialabstractNo abstract available. Leon J. Osterweil, Carlo Ghezzi, Jeff Kramer, Alexander L. Wolf |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2004 | Using Event-Based Translation to Support Dynamic Protocol EvolutionabstractAll systems built from distributed components involve the use of one or more protocols for inter-component communication. Whether these protocols are based on a broadly used standard or are specially designed for a particular application, they are likely to evolve. The goal of the work described here is to contribute techniques that can support protocol evolution. We are concerned not with how or why a protocol might evolve, or even whether that evolution is in some sense correct. Rather, our concern is with making it possible for applications to accommodate protocol changes dynamically. Our approach is based on a method for isolating the syntactic details of a protocol from the semantic concepts manipulated within components. Protocol syntax is formally specified in terms of tokens, message structures, and message sequences. Event-based translation techniques are used in a novel way to present to the application the semantic concepts embodied by these syntactic elements. We illustrate our approach by showing how it would support an HTTP 1.1 client interacting with an HTTP 1.0 server. Nathan D. Ryan, Alexander L. Wolf |
ICSE | 2 |
| 2004 | A Routing Scheme for Content-Based NetworkingabstractThis work proposes a routing scheme for content-based networking. A content-based network is a communication network that features a new advanced communication model where messages are not given explicit destination addresses, and where the destinations of a message are determined by matching the content of the message against selection predicates declared by nodes. Routing in a content-based network amounts to propagating predicates and the necessary topological information in order to maintain loop-free and possibly minimal forwarding paths for messages. The routing scheme we propose uses a combination of a traditional broadcast protocol and a content-based routing protocol. We present the combined scheme and its requirements over the broadcast protocol. We then detail the content-based routing protocol, highlighting a set of optimization heuristics. We also present the results of our evaluation, showing that this routing scheme is effective and scalable. Antonio Carzaniga, Matthew J. Rutherford, Alexander L. Wolf |
INFOCOM | 3 |
| 2004 | Is security engineering really just good software engineering?abstractThese days, if you say that you are doing research in the area of computer security you instantly receive attention. Sadly, the same cannot be said of software engineering. But are the two areas really so different? Both seem to be concerned with issues that range from the finely technical to the broadly social and that force us to make difficult tradeoffs among cost, performance, quality, and usability. Both seem to require that we conduct our research in an interdisciplinary context. In the end we realize that fully solving the security problem for ever larger and more complex systems is as intractable as fully solving the traditional software engineering problem. Alexander L. Wolf |
SIGSOFT FSE | 1 |
| 2003 | A Case for Test-Code Generation in Model-Driven Systems
Matthew J. Rutherford, Alexander L. Wolf |
GPCE | 2 |
| 2003 | Deployment and Dynamic Reconfiguration Planning for Distributed Software SystemsabstractInitial deployment and subsequent dynamic reconfiguration of a software system is difficult because of the interplay of many interdependent factors, including cost, time, application state, and system resources. As the size and complexity of software systems increases, procedures (manual or automated) that assume a static software architecture and environment are becoming untenable. We have developed a novel technique for carrying out the deployment and reconfiguration planning processes that leverages recent advances in the field of temporal planning. We describe a tool called Planit, which manages the deployment and reconfiguration of a software system utilizing a temporal planner. Given a model of the structure of a software system, the network upon which the system should be hosted, and a goal configuration, Planit will use the temporal planner to devise possible deployments of the system. Given information about changes in the state of the system, network and a revised goal, Planit will use the temporal planner to devise possible reconfigurations of the system. We present the results of a case study in which Planit is applied to a system consisting of various components that communicate across an application-level overlay network. Naveed Arshad, Dennis Heimbigner, Alexander L. Wolf |
ICTAI | 3 |
| 2003 | Forwarding in a content-based networkabstractThis paper presents an algorithm for content-based forwarding, an essential function in content-based networking. Unlike in traditional address-based unicast or multicast networks, where messages are given explicit destination addresses, the movement of messages through a content-based network is driven by predicates applied to the content of the messages. Forwarding in such a network amounts to evaluating the predicates stored in a router's forwarding table in order to decide to which neighbor routers the message should be sent. We are interested in finding a forwarding algorithm that can make this decision as quickly as possible in situations where there are numerous, complex predicates and high volumes of messages. We present such an algorithm and give the results of studies evaluating its performance. Antonio Carzaniga, Alexander L. Wolf |
SIGCOMM | 2 |
| 2003 | Issues in Coordination Languages and Architectures
Paolo Ciancarini, Alexander L. Wolf |
Sci. Comput. Program. | 2 |
| 2003 | Software release management for component-based softwareabstractAbstract Software release management is the process through which software is made available to and obtained by its users. Until now, this process has been relatively straightforward. However, the emergence of component‐based software is complicating software release management. Increasingly, software is constructed via the assembly of pre‐existing, independently produced, and independently released components. Both developers and users of such software are affected by these complications. Developers need to accurately document the complex and changing dependencies among the components constituting the software. Users must be involved in locating, retrieving, and assembling components in order to appropriately bring the software into their particular environment. In this paper, we introduce the problem of release management for component‐based software and discuss SRM, a prototype software release management tool we have developed that supports both developers and users in the software release management process. Copyright © 2002 John Wiley & Sons, Ltd. André van der Hoek, Alexander L. Wolf |
Softw. Pract. Exp. | 2 |
| 2003 | Design and Evaluation of a Support Service for Mobile, Wireless Publish/Subscribe ApplicationsabstractThis paper presents the design and evaluation of a support service for mobile, wireless clients of a distributed publish/subscribe system. A distributed publish/subscribe system is a networked communication infrastructure where messages are published by senders and then delivered to the receivers whose subscriptions match the messages. Communication therefore does not involve the use of explicit addresses, but rather emerges from the dynamic arrangement of publishers and subscribers. Such a communication mechanism is an ideal platform for a variety of Internet applications, including multiparty messaging, personal information management, information sharing, online news distribution, service discovery, and electronic auctions. Our goal is to support such applications on mobile, wireless host devices in such a way that the applications can, if they chose, be oblivious to the mobility and intermittent connectivity of their hosts as they move from one publish/subscribe access point to another. In this paper, we describe a generic, value-added service that can be used in conjunction with publish/subscribe systems to achieve these goals. We detail the implementation of the service and present the results of our evaluation of the service in both wireline and emulated wireless environments. Mauro Caporuscio, Antonio Carzaniga, Alexander L. Wolf |
IEEE Trans. Software Eng. | 3 |
| 2002 | A Testbed for Configuration Management Policy ProgrammingabstractEven though the number and variety of available configuration management systems has grown rapidly in the past few years, the need for new configuration management systems still remains. Driving this need are the emergence of situations requiring highly specialized solutions, the demand for management of artifacts other than traditional source code and the exploration of entirely new research questions in configuration management. Complicating the picture is the trend toward organizational structures that involve personnel working at physically separate sites. We have developed a testbed to support the rapid development of configuration management systems. The testbed separates configuration management repositories (i.e., the stores for versions of artifacts) from configuration management policies (i.e., the procedures, according to which the versions are manipulated) by providing a generic model of a distributed repository and an associated programmatic interface. Specific configuration management policies are programmed as unique extensions to the generic interface, while the underlying distributed repository is reused across different policies. The authors describe the repository model and its interface and present their experience in using a prototype of the testbed, called NUCM, to implement a variety of configuration management systems. André van der Hoek, Antonio Carzaniga, Dennis Heimbigner, Alexander L. Wolf |
IEEE Trans. Software Eng. | 4 |
| 2001 | Architecture-Level Dependence Analysis for Software SystemsabstractThe emergence of formal software architecture description languages provides an opportunity to perform analyses at high levels of abstraction, as well as early in the development process. Previous research has primarily focused on developing techniques such as algebraic and transition-system analysis to detect component mismatches or global behavioral incorrectness. In this paper we motivate the utility and describe the challenges in developing a different kind of analysis for use at the architectural level, namely dependence analysis. Various kinds of dependence analyses have been used widely at the implementation level to aid program optimization, anomaly checking, program understanding, testing, and debugging. However, the languages used for architectural description offer quite different features than the languages for which traditional dependence analysis techniques have been developed. We describe our initial approach to architecture-level dependence analysis and illustrate that approach through a prototype tool we have built, called Aladdin, to automatically perform the analysis. Judith A. Stafford, Alexander L. Wolf |
Int. J. Softw. Eng. Knowl. Eng. | 2 |
| 2001 | Design and evaluation of a wide-area event notification serviceabstractThe components of a loosely coupled system are typically designed to operate by generating and responding to asynchronous events. An event notification service is an application-independent infrastructure that supports the construction of event-based systems, whereby generators of events publish event notifications to the infrastructure and consumers of events subscribe with the infrastructure to receive relevant notifications. The two primary services that should be provided to components by the infrastructure are notification selection (i. e., determining which notifications match which subscriptions) and notification delivery (i.e., routing matching notifications from publishers to subscribers). Numerous event notification services have been developed for local-area networks, generally based on a centralized server to select and deliver event notifications. Therefore, they suffer from an inherent inability to scale to wide-area networks, such as the Internet, where the number and physical distribution of the service's clients can quickly overwhelm a centralized solution. The critical challenge in the setting of a wide-area network is to maximize the expressiveness in the selection mechanism without sacrificing scalability in the delivery mechanism. This paper presents SIENA, an event notification service that we have designed and implemented to exhibit both expressiveness and scalability. We describe the service's interface to applications, the algorithms used by networks of servers to select and deliver event notifications, and the strategies used to optimize performance. We also present results of simulation studies that examine the scalability and performance of the service. Antonio Carzaniga, David S. Rosenblum, Alexander L. Wolf |
ACM Trans. Comput. Syst. | 3 |
| 2000 | Foundations for Software Configuration Management Policies Using Graph Transformations
Francesco Parisi-Presicce, Alexander L. Wolf |
FASE | 2 |
| 2000 | Achieving scalability and expressiveness in an Internet-scale event notification serviceabstractThis paper describes the design of SIENA, an Internet-scale event notification middleware service for distributed event-based applications deployed over wide-area networks. SIENA is responsible for selecting the notifications that are of interest to clients (as expressed in client subscriptions) and then delivering those notifications to the clients via access points. The key design challenge for SIENA is maximizing expressiveness in the selection mechanism without sacrificing scalability of the delivery mechanism. This paper focuses on those aspects of the design of SIENA that fundamentally impact scalability and expressiveness. In particular, we describe SIENA's data model for notifications, the covering relations that formally define the semantics of the data model, the distributed architectures we have studied for SIENA's implementation, and the processing strategies we developed to exploit the covering relations for optimizing the routing of notifications. Antonio Carzaniga, David S. Rosenblum, Alexander L. Wolf |
PODC | 3 |
| 2000 | The impact project: determining the impact of software engineering research upon practice (panel session)abstractThe purpose of this panel is to introduce the Impact Project to the community, and to engage the community in a broad ranging discussion of the project's goals, approaches, and methods. Some of the project's early findings and directions will be presented. Leon J. Osterweil, Lori A. Clarke, Michael Evangelist, Jeff Kramer, H. Dieter Rombach, Alexander L. Wolf |
SIGSOFT FSE | 6 |
| 2000 | An infrastructure for generating and sharing experimental workloads for persistent object systemsabstractPerformance evaluation of persistent object system implementations requires the use and evaluation of experimental workloads. Such workloads include a schema describing how the data are related, and application behaviors that capture how the data are manipulated over time. In this paper, we describe an infrastructure for generating and sharing experimental workloads to be used in evaluating the performance of persistent object system implementations. The infrastructure consists of a toolkit that aids the analyst in modeling and instrumenting experimental workloads, and a trace format that allows the analyst to easily reuse and share the workloads. Our infrastructure provides the following benefits: the process of building new experiments for analysis is made easier; experiments to evaluate the performance of implementations can be conducted and reproduced with less effort; and pertinent information can be gathered in a cost-effective manner. We describe the two major components of this infrastructure, the trace format and the toolkit. We also describe our experiences using these components to model, instrument, and experiment with the OO7 benchmark. Copyright © 2000 John Wiley & Sons, Ltd. Thorna O. Humphries, Artur Klauser, Alexander L. Wolf, Benjamin G. Zorn |
Softw. Pract. Exp. | 3 |
| 2000 | Static checking of system behaviors using derived component assumptionsabstractA critical challenge faced by the developer of a software system is to understand whether the system's components correctly integrate. While type theory has provided substantial help in detecting and preventing errors in mismatched static properties, much work remains in the area of dynamics. In particular, components make assumptions about their behavioral interaction with other components, but currently we have only limited ways in which to state those assumptions and to analyze those assumptions for correctness. We have formulated a method that begins to address this problem. The method operates at the architectural level so that behavioral integration errors, such as deadlock, can be revealed early and at a high level. For each component, a specification is given of its interaction behavior. Form this specification, assumptions that the component makes about the corresponding interaction behavior of the external context are automatically derived. We have defined an algorithm that performs compatibility checks between finite representations of a component's context assumptions and the actual interaction behaviors of the components with which it is intended to interact. A configuration of a system is possible if and only if a successful way of matching actual behaviors with assumptions can be found. The state-space complexity of this algorithm is significantly less than that of comparable approaches, and in the worst case, the time complexity is comparable to the worst case of standard rachability analysis. Paola Inverardi, Alexander L. Wolf, Daniel Yankelevich |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 1999 | A Framework for Analyzing Configurations of Deployable Software SystemsabstractConfiguring and deploying a large software system is complicated when the system is composed of components and when there are numerous possible configurations for the system. In such a scenario, it is difficult for end users to specify and install an appropriate configuration for their specific environment. Defining all valid configurations of a software system is challenging, and can be addressed through a concise specification that can generate all of the possible configurations. The Deployable Software Description (DSD) part of the University of Colorado Software Dock project, is one such specification format. But using the DSD runs the risk that the set of generated configurations includes some that are invalid with respect to constraints defined independently of the DSD. The paper describes a framework to support the analysis of DSD specifications to help developers detect potentially invalid configurations. This analysis assumes that the system components are annotated with properties, and an analysis tool is provided that takes a specific configuration and analyzes it for conflicts with respect to some set of constraints. Using the DSD, we can enumerate and analyze configurations to verify their validity. The results can be used to modify the DSD to avoid future generation of invalid configurations. Dennis Heimbigner, Richard S. Hall, Alexander L. Wolf |
ICECCS | 3 |
| 1999 | A Cooperative Approach to Support Software Deployment Using the Software DockabstractSoftware deployment is an evolving collection of interrelated processes such as release, install, adapt, reconfigure, update, activate, deactivate, remove, and retire. The connectivity of large networks, such as the Internet, is affecting how software deployment is being performed. To take full advantage of this connectivity, new software deployment technologies must be introduced in order to support these processes. The Software Dock research project is creating a distributed, agent-based deployment framework to support the ongoing cooperation and negotiation among software producers themselves and among software producers and software consumers. This deployment framework is enabled by the use of a standardized semantic schema for describing software systems, called the Deployable Software Description (DSD) format. The Software Dock employs agents to traverse between software producers and consumers and to perform software deployment activities by interpreting the semantic descriptions of the software systems. The Software Dock infrastructure enables software producers to offer high-level deployment services that were previously not possible to their customers. Richard S. Hall, Dennis Heimbigner, Alexander L. Wolf |
ICSE | 3 |
| 1999 | A conceptual basis for feature engineering
Carlton Reid Turner, Alfonso Fuggetta, Luigi Lavazza, Alexander L. Wolf |
J. Syst. Softw. | 4 |
| 1999 | Uncovering Architectural Mismatch in Component Behavior
Daniele Compare, Paola Inverardi, Alexander L. Wolf |
Sci. Comput. Program. | 3 |
| 1999 | Software Process Validation: Quantitatively Measuring the Correspondence of a Process to a ModelabstractTo a great extent, the usefulness of a formal model of a software process lies in its ability to accurately predict the behavior of the executing process. Similarly, the usefulness of an executing process lies largely in its ability to fulfill the requirements embodied in a formal model of the process. When process models and process executions diverge, something significant is happening. We have developed techniques for uncovering and measuring the discrepancies between models and executions, which we call process validation . Process validation takes a process execution and a process model, and measures the level of correspondence between the two. Our metrics are tailorable and give process engineers control over determining the severity of different types of discrepancies. The techniques provide detailed information once a high-level measurement indicates the presence of a problem. We have applied our processes validation methods in an industrial case study, of which a portion is described in this article. Jonathan E. Cook 0001, Alexander L. Wolf |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 1998 | Evaluating Software Deployment Languages and SchemaabstractSoftware distribution is evolving from a physical media approach to one where it is practical and advantageous to leverage the connectivity of networks. Network distribution of software systems provides timeliness and continuity of evolution not possible with physical media distribution methods. To support network-based software distribution, companies and organizations such as Microsoft, Marimba, and the Desktop Management Task Force (DMTF) are strengthening their efforts to package software systems in a way that is conducive to network distribution and management. The result of these efforts has led to the creation of software description languages and schema such as the Open Software Description format created by Microsoft and Marimba and the Management Information Format created by DMTF. While these efforts are steps in the right direction, they do not address deployment issues in a complete and systematic fashion. The contribution of this paper is to evaluate these leading software description technologies. Richard S. Hall, Dennis Heimbigner, Alexander L. Wolf |
ICSM | 3 |
| 1998 | Event-Base Detection of ConcurrencyabstractUnderstanding the behavior of a system is crucial in being able to modify, maintain, and improve the system. A particularly difficult aspect of some system behaviors is concurrency. While there are many techniques to specify intended concurrent behavior, there are few, if any, techniques to capture and model actual concurrent behavior. This paper presents a technique to discover patterns of concurrent behavior from traces of system events. The technique is based on a probabilistic analysis of the event traces. Using metrics for the number, frequency, and regularity of event occurrences, a determination is made of the likely concurrent behavior being manifested by the system. The technique is useful in a wide variety of software engineering tasks, including architecture discovery, reengineering, user interaction modeling, and software process improvement. Jonathan E. Cook 0001, Alexander L. Wolf |
SIGSOFT FSE | 2 |
| 1998 | A Highly Effective Partition Selection Policy for Object Database Garbage CollectionabstractWe investigate methods to improve the performance of algorithms for automatic storage reclamation of object databases. These algorithms are based on a technique called partitioned garbage collection, in which a subset of the entire database is collected independently of the rest. We evaluate how different application, database system, and garbage collection implementation parameters affect the performance of garbage collection in object database systems. We focus specifically on investigating the policy that is used to select which partition in the database should be collected. Three of the policies that we investigate are based on the intuition that the values of overwritten pointers provide good hints about where to find garbage. A fourth policy investigated chooses the partition with the greatest presence in the I/O buffer. Using simulations based on a synthetic database, we show that one of our policies requires less I/O to collect more garbage than any existing implementable policy. Furthermore, that policy performs close to a locally optimal policy over a wide range of simulation parameters, including database size, collection rate, and database connectivity. We also show what impact these simulation parameters have on application performance and investigate the expected costs and benefits of garbage collection in such systems. Jonathan E. Cook 0001, Alexander L. Wolf, Benjamin G. Zorn |
IEEE Trans. Knowl. Data Eng. | 2 |
| 1998 | Discovering Models of Software Processes from Event-Based DataabstractMany software process methods and tools presuppose the existence of a formal model of a process. Unfortunately, developing a formal model for an on-going, complex process can be difficult, costly, and error prone. This presents a practical barrier to the adoption of process technologies, which would be lowered by automated assistance in creating formal models. To this end, we have developed a data analysis technique that we term process discovery. Under this technique, data describing process events are first captured from an on-going process and then used to generate a formal model of the behavior of that process. In this article we describe a Markov method that we developed specifically for process discovery, as well as describe two additional methods that we adopted from other domains and augmented for our purposes. The three methods range from the purely algorithmic to the purely statistical. We compare the methods and discuss their application in an industrial case study. Jonathan E. Cook 0001, Alexander L. Wolf |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 1998 | Software Process Modeling and Execution Within Virtual EnvironmentsabstractIn the past, multiuser virtual environments have been developed as venues for entertainment and social interaction. Recent research focuses instead on their utility in carrying out work in the real world. This research has identified the importance of a mapping between the real and the virtual that permits the representation of real tasks in the virtual environment. We investigate the use of virtual environments—in particular, MUDs (Multi-User Dimensions)—in the domain of software process. In so doing, we define a mapping, ormetaphor, that permits the representation of software processes within a MUD. The system resulting from this mapping, calledPromo, permits the modeling and execution of software processes by geographically dispersed agents. John C. Doppke, Dennis Heimbigner, Alexander L. Wolf |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 1998 | Cost-Effective Analysis of In-Place Software ProcessesabstractProcess studies and improvement efforts typically call for new instrumentation on the process in order to collect the data they have deemed necessary. This can be intrusive and expensive, and resistance to the extra workload often foils the study before it begins. The result is neither interesting new knowledge nor an improved process. In many organizations, however, extensive historical process and product data already exist. Can these existing data be used to empirically explore what process factors might be affecting the outcome of the process? If they can, organizations would have a cost-effective method for quantitatively, if not causally, understanding their process and its relationship to the product. We present a case study that analyzes an in-place industrial process and takes advantage of existing data sources. In doing this, we also illustrate and propose a methodology for such exploratory empirical studies. The case study makes use of several readily-available repositories of process data in the industrial organization. Our results show that readily available data can be used to correlate both simple aggregate metrics and complex process metrics with defects in the product. Through the case study, we give evidence supporting the claim that exploratory empirical studies can provide significant results and benefits while being cost-effective in their demands on the organization. Jonathan E. Cook 0001, Lawrence G. Votta, Alexander L. Wolf |
IEEE Trans. Software Eng. | 3 |
| 1997 | Checking Assumptions in Component Dynamics as the Architectural Level
Paola Inverardi, Alexander L. Wolf, Daniel Yankelevich |
COORDINATION | 2 |
| 1997 | The Software Dock: An Architecture for Post-Development Configuration Management in a Wide-Area NetworkabstractFew tools exist to address the post-development activities of configuring, releasing, installing, updating, reconfiguring, and even de-installing a software system. Certainly there is no unified approach for all of these activities, and none that can take full advantage of a wide-area network. The Software Dock represents an architecture for supporting post-development activities in such a setting. It is designed as a system of loosely-coupled, cooperating, distributed components that are bound together by a wide-area messaging and event system. In this paper we describe the Software Dock architecture and discuss the use of a prototype in deploying a complex system. Richard S. Hall, Dennis Heimbigner, André van der Hoek, Alexander L. Wolf |
ICDCS | 4 |
| 1996 | A Generic, Peer-to-Peer Repository for Distributed Configuration Management
André van der Hoek, Dennis Heimbigner, Alexander L. Wolf |
ICSE | 3 |
| 1996 | Semi-automatic, Self-adaptive Control of Garbage Collection Rates in Object DatabasesabstractA fundamental problem in automating object database storage reclamation is determining how often to perform garbage collection. We show that the choice of collection rate can have a significant impact on application performance and that the "best" rate depends on the dynamic behavior of the application, tempered by the particular performance goals of the user. We describe two semi-automatic, selfadaptive policies for controlling collection rate that we have developed to address the problem. Using tracedriven simulations, we evaluate the performance of the policies on a test database application that demonstrates two distinct reclustering behaviors. Our results show that the policies are effective at achieving user-specified levels of I/O operations and database garbage percentage. We also investigate the sensitivity of the policies over a range of object connectivities. The evaluation demonstrates that semi-automatic, self-adaptive policies are a practical means for flexibly controllin... Jonathan E. Cook 0001, Artur Klauser, Alexander L. Wolf, Benjamin G. Zorn |
SIGMOD Conference | 3 |
| 1996 | Generating Testing and Analysis Tools with AriaabstractMany software testing and analysis tools manipulate graph representations of programs, such as abstract syntax trees or abstract semantics graphs. Handcrafting such tools in conventional programming languages can be difficult, error prone, and time consuming. Our approach is to use application generators targeted for the domain of graph-representation-based testing and analysis tools. Moreover, we generate the generators themselves, so that the development of tools based on different languages and/or representations can also be supported better. In this article we report on our experiences in developing and using a system called Aria that generates testing and analysis tools based on an abstract semantics graph representation for C and C++ called Reprise. Aria itself was generated by the Genoa system. We demonstrate the utility of Aria and, thereby, the power of our approach, by showing Aria's use in the development of a number of useful testing and analysis tools. Premkumar T. Devanbu, David S. Rosenblum, Alexander L. Wolf |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 1995 | Automating Process Discovery Through Event-Data AnalysisabstractMany software process methods and tools presuppose the existence of a formal model of a process.Unfortunately, developing a formal model for an on-going, complex process can be dificult, costly, and err-or prone.This presents a practical barrier to the adoption of process technologies.The barrier would be lowered by automatmg the creation of formal models.We are currently exploring techniques that can use basic event data captured from an on-going process to generate a formal model of process behavior.We term this kind of data analysis process discovery.Thts paper descr~bes and illustrates three methods with whzch we have been experimenting: algorithmic grammar inference, Markov models, and neural networks. Jonathan E. Cook 0001, Alexander L. Wolf |
ICSE | 2 |
| 1995 | Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine ModelabstractWe are exploring an approach to formally specifying and analyzing software architectures that is based on viewing software systems as chemicals whose reactions are controlled by explicitly stated rules. This powerful metaphor was devised in the domain of theoretical computer science by Bana/spl circ/tre and Le Me/spl acute/tayer (1990) and then reformulated as the CHAM (CHemical Abstract Machine) by Berry and Boudol (1992). The CHAM formalism provides a framework for developing operational specifications that does not bias the described system toward any particular computational model. It also encourages the construction and use of modular specifications at different levels of detail. We illustrate the use of the CHAM for architectural description and analysis by applying it to two different architectures for a simple but familiar software system, the multiphase compiler.> Paola Inverardi, Alexander L. Wolf |
IEEE Trans. Software Eng. | 2 |
| 1994 | Automated Construction of Testing and Analysis Tools
Premkumar T. Devanbu, David S. Rosenblum, Alexander L. Wolf |
ICSE | 3 |
| 1994 | Partition Selection Policies in Object Database Garbage CollectionabstractThe automatic reclamation of storage for unreferenced objects is very important in object databases. Existing language system algorithms for automatic storage reclamation have been shown to be inappropriate. In this paper, we investigate methods to improve the performance of algorithms for automatic for automatic storage reclamation of object databases. These algorithms are based on a technique called partitioned garbage collection, in which a subset of the entire database is collected independently of the rest. Specifically, we investigate the policy that is used to select what partition in the database should be collected. The policies that we propose and investigate are based on the intuition that the values of overwritten pointers provide good hints about where to find garbage. Using trace-driven simulation, we show that one of our policies requires less I/O to collect more garbage than any existing implementable policy and performs close to a near-optimal policy over a wide range of database sizes and object connectivities. Jonathan E. Cook 0001, Alexander L. Wolf, Benjamin G. Zorn |
SIGMOD Conference | 2 |
| 1990 | Specification Level Interoperability
Jack C. Wileden, Alexander L. Wolf, William R. Rosenblatt, Peri L. Tarr |
ICSE | 2 |
| 1990 | A Comparative Evaluation of Object Definition TechniquesabstractAlthough prototyping has long been touted as a potentially valuable software engineering activity, it has never achieved widespread use by developers of large-scale, production software. This is probably due in part to an incompatibility between the languages and tools traditionally available for prototyping (e.g., LISP or Smalltalk) and the needs of large-scale-software developers, who must construct and experiment with large prototypes. The recent surge of interest in applying prototyping to the development of large-scale, production software will necessitate improved prototyping languages and tools appropriate for constructing and experimenting with large, complex prototype systems. We explore techniques aimed at one central aspect of prototyping that we feel is especially significant for large prototypes, namely that aspect concerned with the definition of data objects. We characterize and compare various techniques that might be useful in defining data objects in large prototype systems, after first discussing some distinguishing characteristics of large prototype systems and identifying some requirements that they imply. To make the discussion more concrete, we describe our implementations of three techniques that represent different possibilities within the range of object definition techniques for large prototype systems. Jack C. Wileden, Lori A. Clarke, Alexander L. Wolf |
ACM Trans. Program. Lang. Syst. | 3 |
| 1989 | OROS: Toward a Type Model for Software Development EnvironmentsabstractThree important goals of next generation software development environments (SDEs) are extensibility, integration and broad scope. Our work on OROS is predicated on the hypothesis that a type model, incorporated into an environment's object manager, can contribute to achieving those goals. This paper reports on an attempt at applying object-oriented typing concepts in the domain of software development environments. We believe that the result is a type model that has properties of interest both to software environment builders and also to builders and users of object-oriented systems in general. William R. Rosenblatt, Jack C. Wileden, Alexander L. Wolf |
OOPSLA | 3 |
| 1989 | The AdaPIC Tool Set: Supporting Interface Control and Analysis Throughout the Software Development ProcessabstractThe AdaPIC tool set, an important component of an Ada software development environment, is discussed. The AdaPIC tool set is one particular instantiation, specifically adapted for use with Ada, of the more general collection of language features and analysis capabilities that constitute the PIC approach to describing and analyzing relationships among software system components. This tool set is being tailored to support an incremental approach to the interface control aspects of the software development process. Following a discussion of the PIC interface control and incremental development concepts, the AdaPIC tool set is described, concentrating on its analysis tools and support for incremental development and demonstrating how it contributes to the technology for developing large Ada software systems.> Alexander L. Wolf, Lori A. Clarke, Jack C. Wileden |
IEEE Trans. Software Eng. | 1 |
| 1988 | A Model of Visibility ControlabstractA formal model for describing and evaluating visibility control mechanisms is introduced. The model reflects a general view of visibility in which the concepts of requisition of access and provision of access are distinguished. This model provides a means for characterizing and reasoning about the various properties of visibility control mechanisms. Specifically, the notion of preciseness is defined. The utility of the model is illustrated by using it to evaluate and compare the relative strengths and weaknesses, with respect to preciseness, of the visibility control mechanisms found in Algol 60, Ada, Gypsy, and an approach called PIC, which specifically addresses the concerns of visibility control in large software systems.> Alexander L. Wolf, Lori A. Clarke, Jack C. Wileden |
IEEE Trans. Software Eng. | 1 |
| 1985 | Interface Control and Incremental Development in the PIC Environment
Alexander L. Wolf, Lori A. Clarke, Jack C. Wileden |
ICSE | 1 |