Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Alexander L. Wolf is active.

Publication


Featured researches published by Alexander L. Wolf.


ACM Sigsoft Software Engineering Notes | 1992

Foundations for the study of software architecture

Dewayne E. Perry; Alexander L. Wolf

The purpose of this paper is to build the foundation for software architecture. We first develop an intuition for software architecture by appealing to several well-established architectural disciplines. On the basis of this intuition, we present a model of software architecture that consists of three components: elements, form, and rationale. Elements are either processing, data, or connecting elements. Form is defined in terms of the properties of, and the relationships among, the elements --- that is, the constraints on the elements. The rationale provides the underlying basis for the architecture in terms of the system constraints, which most often derive from the system requirements. We discuss the components of the model in the context of both architectures and architectural styles and present an extended example to illustrate some important architecture and style considerations. We conclude by presenting some of the benefits of our approach to software architecture, summarizing our contributions, and relating our approach to other current work.


ACM Transactions on Computer Systems | 2001

Design and evaluation of a wide-area event notification service

Antonio Carzaniga; David S. Rosenblum; Alexander L. Wolf

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 services 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 services 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.


IEEE Intelligent Systems & Their Applications | 1999

An architecture-based approach to self-adaptive software

Peyman Oreizy; Michael M. Gorlick; Richard N. Taylor; D. Heimhigner; Gregory F. Johnson; Nenad Medvidovic; A. Quilici; David S. Rosenblum; Alexander L. Wolf

Self-adaptive software requires high dependability robustness, adaptability, and availability. The article describes an infrastructure supporting two simultaneous processes in self-adaptive software: system evolution, the consistent application of change over time, and system adaptation, the cycle of detecting changing circumstances and planning and deploying responsive modifications.


ACM Transactions on Software Engineering and Methodology | 1998

Discovering models of software processes from event-based data

Jonathan E. Cook; Alexander L. Wolf

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.


international conference on computer communications | 2004

A routing scheme for content-based networking

Antonio Carzaniga; Matthew J. Rutherford; Alexander L. Wolf

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.


principles of distributed computing | 2000

Achieving scalability and expressiveness in an Internet-scale event notification service

Antonio Carzaniga; David S. Rosenblum; Alexander L. Wolf

This paper describes the design of <italic>S</italic>IENA, an Internet-scale event notification middleware service for distributed event-based applications deployed over wide-area networks. <italic>S</italic>IENA is responsible for <italic>selecting</italic> the notifications that are of interest to clients (as expressed in client subscriptions) and then <italic>delivering</italic> those notifications to the clients via access points. The key design challenge for <italic>S</italic>IENA is maximizing <italic>expressiveness</italic> in the selection mechanism without sacrificing <italic>scalability</italic> of the delivery mechanism. This paper focuses on those aspects of the design of <italic>S</italic>IENA that fundamentally impact scalability and expressiveness. In particular, we describe <italic>S</italic>IENAs data model for notifications, the covering relations that formally define the semantics of the data model, the distributed architectures we have studied for <italic>S</italic>IENAs implementation, and the processing strategies we developed to exploit the covering relations for optimizing the routing of notifications.


acm special interest group on data communication | 2003

Forwarding in a content-based network

Antonio Carzaniga; Alexander L. Wolf

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 routers 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.


ACM Transactions on Software Engineering and Methodology | 1999

Software process validation: quantitatively measuring the correspondence of a process to a model

Jonathan E. Cook; Alexander L. Wolf

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.


IEEE Transactions on Software Engineering | 1995

Formal specification and analysis of software architectures using the chemical abstract machine model

Paola Inverardi; Alexander L. Wolf

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. >


foundations of software engineering | 1997

A design framework for Internet-scale event observation and notification

David S. Rosenblum; Alexander L. Wolf

There is increasing interest in having software systems execute and interoperate over the Internet. Execution and interoperation at this scale imply a degree of loose coupling and heterogeneity among the components from which such systems will be built. One common architectural style for distributed, loosely-coupled, heterogeneous software systems is a structure based on event generation, observation and notification. The technology to support this approach is well-developed for local area networks, but it is ill-suited to networks on the scale of the Internet. Hence, new technologies are needed to support the construction of large-scale, event-based software systems for the Internet. We have begun to design a new facility for event observation and notification that better serves the needs of Internet-scale applications. In this paper we present results from our first step in this design process, in which we defined a framework that captures many of the relevant design dimensions. Our framework comprises seven models-an object model, an event model, a naming model, an observation model, a time model, a notification model, and a resource model. The paper discusses each of these models in detail and illustrates them using an example involving an update to a Web page. The paper also evaluates three existing technologies with respect to the seven models.

Collaboration


Dive into the Alexander L. Wolf's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Dennis Heimbigner

University of Colorado Boulder

View shared research outputs
Top Co-Authors

Avatar

Jack C. Wileden

University of Massachusetts Amherst

View shared research outputs
Top Co-Authors

Avatar

David S. Rosenblum

National University of Singapore

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Lori A. Clarke

University of Massachusetts Amherst

View shared research outputs
Top Co-Authors

Avatar

Richard S. Hall

University of Colorado Boulder

View shared research outputs
Top Co-Authors

Avatar

Jonathan E Cook

University of Colorado Boulder

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge