Results 1 - 10
of
25
Architectural Styles and the Design of Network-based Software Architectures
, 2000
"...
The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia system. The Web has been iteratively developed over the past ten years through a series of modifications to the standards that define its ..."
Abstract
-
Cited by 391 (1 self)
- Add to MetaCart
The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia system. The Web has been iteratively developed over the past ten years through a series of modifications to the standards that define its architecture. In order to identify those aspects of the Web that needed improvement and avoid undesirable modifications, a model for the modern Web architecture was needed to guide its design, definition, and deployment.
Software architecture research investigates methods for determining how best to partition a system, how components identify and communicate with each other, how information is communicated, how elements of a system can evolve independently, and how all of the above can be described using formal and informal notations. My work is motivated by the desire to understand and evaluate the architectural design of network-based application software through principled use of architectural constraints, thereby obtaining the functional, performance, and social properties desired of an architecture. An architectural style is a named, coordinated set of architectural constraints.
This dissertation defines a framework for understanding software architecture via architectural styles and demonstrates how styles can be used to guide the architectural design of network-based application software. A survey of architectural styles for network-based applications is used to classify styles according to the architectural properties they induce on an architecture for distributed hypermedia. I then introduce the Representational State Transfer (REST) architectural style and describe how REST has been used to guide the design and development of the architecture for the modern Web.
REST emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems. I describe the software engineering principles guiding REST and the interaction constraints chosen to retain those principles, contrasting them to the constraints of other architectural styles. Finally, I describe the lessons learned from applying REST to the design of the Hypertext Transfer Protocol and Uniform Resource Identifier standards, and from their subsequent deployment in Web client and server software.
Principled Design of the Modern Web Architecture
- ACM Transactions on Internet Technology
, 2002
"... The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia application. The modern Web architecture emphasizes scalability of component interactions, generality of interfaces, independent deployment ..."
Abstract
-
Cited by 171 (10 self)
- Add to MetaCart
The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia application. The modern Web architecture emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems. In this article we introduce the Representational State Transfer (REST) architectural style, developed as an abstract model of the Web architecture and used to guide our redesign and definition of the Hypertext Transfer Protocol and Uniform Resource Identifiers. We describe the software engineering principles guiding REST and the interaction constraints chosen to retain those principles, contrasting them to the constraints of other architectural styles. We then compare the abstract model to the currently deployed Web architecture in order to elicit mismatches between the existing protocols and the applications they are intended to support.
INCOME/STAR: Methodology and Tools for the Development of Distributed Information Systems
- Information Systems
, 1994
"... INCOME/STAR is an experimental environment for the cooperative development of distributed information systems. This paper presents some of INCOME/STAR's innovative features in the area of information systems engineering: First a new type of high-level Petri nets, so-called Nested Relation/Transition ..."
Abstract
-
Cited by 25 (5 self)
- Add to MetaCart
INCOME/STAR is an experimental environment for the cooperative development of distributed information systems. This paper presents some of INCOME/STAR's innovative features in the area of information systems engineering: First a new type of high-level Petri nets, so-called Nested Relation/Transition nets (NR/Tnets) , is described. NR/T-nets allow the modeling of concurrent processes and related complex structured objects in distributed business applications. New concepts for entity and relationship clustering were developed to support a stepwise topdown approach for Entity/Relationship based object modeling. Distributed multi-user simulation and prototyping are used for the evaluation and analysis of NR/T-nets and the involved object schema. Finally, ProMISE - an evolutionary process model for information system development - is introduced. A role-based groupware component is part of the INCOME/STAR architecture to support communication, organization and social interaction in developme...
The Automatic Generation of Software Performance Models From a Prototype
- In International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS'95
, 1995
"... Early performance estimates for a new software system aid the design process by providing feedback when design decisions can be easily revised. Unfortunately, constructing a performance model of a distributed and concurrent software system can require significant effort. An automated performance mod ..."
Abstract
-
Cited by 22 (6 self)
- Add to MetaCart
Early performance estimates for a new software system aid the design process by providing feedback when design decisions can be easily revised. Unfortunately, constructing a performance model of a distributed and concurrent software system can require significant effort. An automated performance model generation technique is described that reduces the model building effort by providing: easy specification of performance experiments, empirical estimates for model parameters, automated model generation, and support for different types of models. A prototype is used to describe a software system, from which causal traces (angio traces) are recorded during execution. These traces are then processed into sequences of resource demands (workthreads), aggregated into system execution descriptions (workthread classes), and combined to generate a performance model. The technique can also be applied at other stages of the development process, including the redesign of existing software. Page ii...
Modeling web-based dialog flows for automatic dialog control
- In 19th IEEE International Conference on Automated Software Engineering (ASE 2004
, 2004
"... In web-based applications, the dialog control logic is often hidden in or entwined with the presentation and/or application logic, even if the latter tiers are well-separated. This makes it difficult to control complex dialog structures like nested dialogs, and to reconcile the device-independent bu ..."
Abstract
-
Cited by 14 (10 self)
- Add to MetaCart
In web-based applications, the dialog control logic is often hidden in or entwined with the presentation and/or application logic, even if the latter tiers are well-separated. This makes it difficult to control complex dialog structures like nested dialogs, and to reconcile the device-independent business logic with the device-specific interaction patterns required by different clients ’ I/O capabilities. To avoid continuous re-implementation of the dialog control logic, we present a Dialog Control Framework that is separate from the presentation and business tiers, and manages arbitrarily nested dialog flows on different presentation channels. The framework relies on dialog specifications developed using the Dialog Flow Notation, which are translated into an object-oriented dialog flow model for efficient run-time lookups. This way, the framework automates the dialog control aspect of web-based application development and leaves only the tasks of implementing the business logic, designing the hypertext pages, and specifying the dialog flow to the developer. 1.
Tools for Building Asynchronous Servers to Support Speech and Audio Applications
- In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'92
, 1992
"... Distributed client/server models are becoming increasingly prevalent in multimedia systems and advanced user interface design. A multimedia application, for example, may play and record audio, use speechrecognition input, and usea window system for graphical I/O. The software architecture of such a ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
Distributed client/server models are becoming increasingly prevalent in multimedia systems and advanced user interface design. A multimedia application, for example, may play and record audio, use speechrecognition input, and usea window system for graphical I/O. The software architecture of such a system can be simplified if the application communicates to multiple servers (e.g., audio servers, recognition servers) that each manage different types of input and output. This paper describes tools for rapidly prototyping distributed asynchronous servers and applications, with an emphasis on supporting highly interactive user interfaces, temporal media, and multi-modal I/O. The Socket Manager handles low-level connection management and device I/O by supporting a callback mechanism for connection initiation, shutdown, and for reading incoming data. The Byte Stream Manager consists of an RPC compiler and run-time library that supports synchronousand asynchronous calls, with both a programma...
Mean Value Analysis for Computer Systems with Variabilities in Workload
, 1996
"... When evaluating the performance of computer systems, often uncertainties or variabilities in service demands may be observed. Applying well known mean value analysis (MVA) for single- or multiclass queueing network models of such systems is inappropriate and ineffective, because these models fail to ..."
Abstract
-
Cited by 10 (8 self)
- Add to MetaCart
When evaluating the performance of computer systems, often uncertainties or variabilities in service demands may be observed. Applying well known mean value analysis (MVA) for single- or multiclass queueing network models of such systems is inappropriate and ineffective, because these models fail to represent variations within a class. This paper proposes to use histograms for characterizing model parameters that are associated with uncertainty or variability and presents an adaptation of the single class MVA algorithm, which traditionally accepts single (mean) values for service demands, so that one or more input parameters can be specified as a histogram. The adapted algorithm generates a histogram output for the performance measures, thus providing a more detailed information (e.g. percentile values) than the mean values obtained from conventional MVA. The proposed technique is demonstrated on selected examples in different problem domains. It is shown, that the computational comple...
Protocols versus Objects: Can Models for Telecommunications and Distributed Processing Coexist?
- Sixth IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS’97), IEEE Computer
, 1997
"... This paper identifies two paradigms that influence the design of telematics systems nowadays: the protocol-centred and the object-centred paradigm. Both paradigms have been introduced to cope with interoperability, each in their own way. The coexistence of these paradigms can have enormous impact on ..."
Abstract
-
Cited by 7 (6 self)
- Add to MetaCart
This paper identifies two paradigms that influence the design of telematics systems nowadays: the protocol-centred and the object-centred paradigm. Both paradigms have been introduced to cope with interoperability, each in their own way. The coexistence of these paradigms can have enormous impact on the design telematics systems. This paper identifies some combined uses of both paradigms and some fundamental research problems related to the coexistence of these paradigms. 1 Introduction Telecommunications and distributed computing have become strongly related research areas [7, 9]. Where telecommunications used to concentrate on data transport (carrier) networks and distributed computing on end-user applications, telecommunications services are now associated with interactive, multimedia network facilities offered to end-users and integrated in distributed applications. Moreover, the terms telecom services and telecom/distributed applications are often used interchangeably. Telecommu...
Supporting Fault-Tolerant and Open Distributed Processing
- Computer Communications
, 1994
"... This paper is concerned mainly with the software aspects of achieving reliable operations on an open distributed processing environment. A system for supporting fault-tolerant and cross-transport protocol distributed software development is described. The fault-tolerant technique used is a variation ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
This paper is concerned mainly with the software aspects of achieving reliable operations on an open distributed processing environment. A system for supporting fault-tolerant and cross-transport protocol distributed software development is described. The fault-tolerant technique used is a variation of the recovery blocks and the distributed computing model used is the remote procedure call (RPC) model. The system incorporates fault tolerance features and cross-transport protocol communication features into the RPC system and makes them transparent to users. A buddy is set up for a faulttolerant server to be its alternative. When an RPC to a server fails, the system will automatically switch to the buddy to seek for an alternate service. The client, the fault-tolerant server, and the buddy of the server can all use different transport protocol. To obtain this fault tolerance and crossprotocol service, users only need to specify their requirements in a descriptive interface definition l...
Histogram-Based Performance Analysis for Computer Systems with Variabilities or Uncertainties in Workload
- in Workload. Res. Rep. SCE-95-22, Carleton Univ
, 1995
"... A conventional analytic model used for evaluating the performance of computer and communication systems accepts single values as model inputs and computes a single value for each performance measure of interest. However uncertainties regarding parameter values exist in different situations such as d ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
A conventional analytic model used for evaluating the performance of computer and communication systems accepts single values as model inputs and computes a single value for each performance measure of interest. However uncertainties regarding parameter values exist in different situations such as during early stages of system design. Although the clients in a system are statistically identical factors such as the time of the day and the current size of the data files can introduce variabilities in service demands for the server devices. Existence of uncertainties or variabilities in service demands makes the use of a single mean value for each model parameter inappropriate causing the conventional modelling approach to become ineffective. This paper proposes to use histograms for characterizing one or more model parameters that are associated with such uncertainty or variability and demonstrates its application with separable queueing network models. A histogram consists of a number o...

