Alexander L. Wolf

dblp:w/AlexanderLWolf · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Debugging and program repair
fault localization
0.312018
Locating Faults in MANET-Hosted Software Systems · IEEE Trans. Dependable Secur. Comput. 2018
Data stream processing › continuous query processing
window-based stream processing
0.212016
SABER: Window-Based Hybrid Stream Processing for Heterogeneous Architectures · SIGMOD Conference 2016
Edge and fog computing
edge cloud
0.212015
Demo: : NOMAD: An Edge Cloud Platform for Hyper-Responsive Mobile Apps · MobiSys 2015
Network performance modeling › markov chain model
mixing time
0.212015
Measuring the mixing time of a network · INFOCOM 2015
Distributed systems
gossip protocols
0.212015
Measuring the mixing time of a network · INFOCOM 2015
Internet of things and sensor networks › wireless sensor network
in-network aggregation
0.212014
NetAgg: Using Middleboxes for Application-specific On-path Aggregation in Data Centres · CoNEXT 2014
Cloud and datacenter computing › datacenter workloads
datacenter applications
0.212014
NetAgg: Using Middleboxes for Application-specific On-path Aggregation in Data Centres · CoNEXT 2014
Cloud and datacenter computing
datacenter network
0.212013
Supporting application-specific in-network processing in data centres · SIGCOMM 2013
Interconnection networks and networks-on-chip
in-network computing
0.212013
Supporting application-specific in-network processing in data centres · SIGCOMM 2013
Software testing › test adequacy
test adequacy criteria
0.122008
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.122008
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.122008
Four enhancements to automateddistributed system experimentation methods · ICSE 2008
Automating experimentation on distributed testbeds · ASE 2005
Distributed systems
publish/subscribe systems
0.142004
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.112018
Locating Faults in MANET-Hosted Software Systems · IEEE Trans. Dependable Secur. Comput. 2018
Internet architecture and protocols › information-centric networking
content-based networking
0.122004
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.112008
Evaluating Test Suites and Adequacy Criteria Using Simulation-Based Models of Distributed Systems · IEEE Trans. Software Eng. 2008
Software testing
mutation testing
0.112008
Evaluating Test Suites and Adequacy Criteria Using Simulation-Based Models of Distributed Systems · IEEE Trans. Software Eng. 2008
Software testing
test suite evaluation
0.112008
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.112008
Four enhancements to automateddistributed system experimentation methods · ICSE 2008
Performance modeling and evaluation
repeatable experimentation
0.112008
Four enhancements to automateddistributed system experimentation methods · ICSE 2008
Wireless networking › network deployment
network service deployment
0.112016
FLICK: Developing and Running Application-Specific Network Services · USENIX ATC 2016
Ubiquitous computing and smart environments › mobile computing
mobile applications
0.112015
Demo: : NOMAD: An Edge Cloud Platform for Hyper-Responsive Mobile Apps · MobiSys 2015
Operating systems
distributed systems
0.112006
Simulation-based test adequacy criteria for distributed systems · SIGSOFT FSE 2006
Distributed systems › publish/subscribe systems
event notification service
0.122001
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.112014
NetAgg: Using Middleboxes for Application-specific On-path Aggregation in Data Centres · CoNEXT 2014
Software maintenance and evolution
software configuration management
0.122002
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.042000
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.012004
A Routing Scheme for Content-Based Networking · INFOCOM 2004
Systems and software security
security engineering
0.012004
Is security engineering really just good software engineering? · SIGSOFT FSE 2004
Requirements engineering and software design › software process
process model
0.021999
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
YearPublicationVenuePosition
2018 Locating Faults in MANET-Hosted Software Systems
abstract
We 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 systems
abstract
This 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
ASAP8
2016 SABER: Window-Based Hybrid Stream Processing for Heterogeneous Architectures
abstract
Modern 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 Conference4
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 ATC8
2015 Measuring the mixing time of a network
abstract
Mixing 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
INFOCOM3
2015 Demo: : NOMAD: An Edge Cloud Platform for Hyper-Responsive Mobile Apps
abstract
No abstract available.
Andreas Pamboris, Miguel Baguena, Alexander L. Wolf, Pietro Manzoni, Peter R. Pietzuch
MobiSys3
2015 On-Demand Discovery of Software Service Dependencies in MANETs
abstract
The 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 Centres
abstract
Data 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
CoNEXT7
2014 From software engineering to software systems (invited talk)
abstract
I 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 FSE1
2013 Discovering service dependencies in mobile ad hoc networks
Petr Novotný 0002, Alexander L. Wolf, Bong Jun Ko
IM2
2013 Supporting application-specific in-network processing in data centres
abstract
No abstract available.
Luo Mai, Lukas Rupprecht, Paolo Costa, Matteo Migliavacca, Peter R. Pietzuch, Alexander L. Wolf
SIGCOMM6
2012 Fault Localization in MANET-Hosted Service-Based Systems
abstract
Fault 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
SRDS2
2011 Change Impact Analysis in Product-Line Architectures
Jessica Díaz, Jennifer Pérez, Juan Garbajosa, Alexander L. Wolf
ECSA4
2011 A Content-Based Publish/Subscribe Matching Algorithm for 2D Spatial Objects
Athanasios Konstantinidis 0001, Antonio Carzaniga, Alexander L. Wolf
Middleware3
2008 Four enhancements to automateddistributed system experimentation methods
abstract
Experimentation 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
ICSE3
2008 ACM SIGSOFT impact paper award: reflections and prospects
abstract
In 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 FSE2
2008 Evaluating Test Suites and Adequacy Criteria Using Simulation-Based Models of Distributed Systems
abstract
Test 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 hardware
abstract
Network 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
ANCS6
2007 Engineering software services for pervasive environments
abstract
The 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 FSE1
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 systems
abstract
Developers 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 FSE3
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 testbeds
abstract
Engineering 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
ASE4
2005 Editorial
abstract
No 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 Evolution
abstract
All 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
ICSE2
2004 A Routing Scheme for Content-Based Networking
abstract
This 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
INFOCOM3
2004 Is security engineering really just good software engineering?
abstract
These 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 FSE1
2003 A Case for Test-Code Generation in Model-Driven Systems
Matthew J. Rutherford, Alexander L. Wolf
GPCE2
2003 Deployment and Dynamic Reconfiguration Planning for Distributed Software Systems
abstract
Initial 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
ICTAI3
2003 Forwarding in a content-based network
abstract
This 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
SIGCOMM2
2003 Issues in Coordination Languages and Architectures
Paolo Ciancarini, Alexander L. Wolf
Sci. Comput. Program.2
2003 Software release management for component-based software
abstract
Abstract 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 Applications
abstract
This 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 Programming
abstract
Even 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 Systems
abstract
The 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 service
abstract
The 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
FASE2
2000 Achieving scalability and expressiveness in an Internet-scale event notification service
abstract
This 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
PODC3
2000 The impact project: determining the impact of software engineering research upon practice (panel session)
abstract
The 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 FSE6
2000 An infrastructure for generating and sharing experimental workloads for persistent object systems
abstract
Performance 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 assumptions
abstract
A 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 Systems
abstract
Configuring 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
ICECCS3
1999 A Cooperative Approach to Support Software Deployment Using the Software Dock
abstract
Software 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
ICSE3
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 Model
abstract
To 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 Schema
abstract
Software 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
ICSM3
1998 Event-Base Detection of Concurrency
abstract
Understanding 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 FSE2
1998 A Highly Effective Partition Selection Policy for Object Database Garbage Collection
abstract
We 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 Data
abstract
Many 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 Environments
abstract
In 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 Processes
abstract
Process 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
COORDINATION2
1997 The Software Dock: An Architecture for Post-Development Configuration Management in a Wide-Area Network
abstract
Few 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
ICDCS4
1996 A Generic, Peer-to-Peer Repository for Distributed Configuration Management
André van der Hoek, Dennis Heimbigner, Alexander L. Wolf
ICSE3
1996 Semi-automatic, Self-adaptive Control of Garbage Collection Rates in Object Databases
abstract
A 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 Conference3
1996 Generating Testing and Analysis Tools with Aria
abstract
Many 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 Analysis
abstract
Many 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
ICSE2
1995 Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model
abstract
We 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
ICSE3
1994 Partition Selection Policies in Object Database Garbage Collection
abstract
The 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 Conference2
1990 Specification Level Interoperability
Jack C. Wileden, Alexander L. Wolf, William R. Rosenblatt, Peri L. Tarr
ICSE2
1990 A Comparative Evaluation of Object Definition Techniques
abstract
Although 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 Environments
abstract
Three 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
OOPSLA3
1989 The AdaPIC Tool Set: Supporting Interface Control and Analysis Throughout the Software Development Process
abstract
The 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 Control
abstract
A 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
ICSE1