Results 1 - 10
of
48
A formal basis for architectural connection
- ACM TRANSACTIONS ON SOJIWARE ENGINEERING AND METHODOLOGY
, 1997
"... ..."
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.
Logic Programming with Focusing Proofs in Linear Logic
- Journal of Logic and Computation
, 1992
"... The deep symmetry of Linear Logic [18] makes it suitable for providing abstract models of computation, free from implementation details which are, by nature, oriented and non symmetrical. I propose here one such model, in the area of Logic Programming, where the basic computational principle is C ..."
Abstract
-
Cited by 290 (8 self)
- Add to MetaCart
The deep symmetry of Linear Logic [18] makes it suitable for providing abstract models of computation, free from implementation details which are, by nature, oriented and non symmetrical. I propose here one such model, in the area of Logic Programming, where the basic computational principle is Computation = Proof search.
Aura: An Architectural Framework for User Mobility in Ubiquitous Computing Environments
- In Proceedings of the 3rd Working IEEE/IFIP Conference on Software Architecture
, 2002
"... Ubiquitous computing poses a number of challenges for software architecture. ..."
Abstract
-
Cited by 163 (2 self)
- Add to MetaCart
Ubiquitous computing poses a number of challenges for software architecture.
A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems
- COMPSAC’97 INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE
, 1997
"... Software architects use a number of commonly-recognized “styles” to guide their design of system structures. Each of these is appropriate for some classes of problems, but none is suitable for all problems. How, then, does a software designer choose an architecture suitable for the problem at hand? ..."
Abstract
-
Cited by 116 (4 self)
- Add to MetaCart
Software architects use a number of commonly-recognized “styles” to guide their design of system structures. Each of these is appropriate for some classes of problems, but none is suitable for all problems. How, then, does a software designer choose an architecture suitable for the problem at hand? Two kinds of information are required: (1) careful discrimination among the candidate architectures and (2) design guidance on how to make appropriate choices. Here we support careful discrimination with a preliminary classification of styles. We use a two-dimensional classification strategy with control and data issues as the dominant organizing axes. We position the major styles within this space and use finer-grained discriminations to elaborate variations on the styles. This provides a framework for organizing design guidance, which we partially flesh out with rules of thumb.
Interaction Abstract Machines
- Trends in Object-Based Concurrent Computing
, 1993
"... Machines Jean-Marc Andreoli, Paolo Ciancarini and Remo Pareschi European Computer Industry Research Centre Abstract In this paper, we introduce the metaphor of Interaction Abstract Machines (IAMs), in the same vein of such metaphors as the Chemical Abstract Machine. The main point about IAMs is ..."
Abstract
-
Cited by 44 (16 self)
- Add to MetaCart
Machines Jean-Marc Andreoli, Paolo Ciancarini and Remo Pareschi European Computer Industry Research Centre Abstract In this paper, we introduce the metaphor of Interaction Abstract Machines (IAMs), in the same vein of such metaphors as the Chemical Abstract Machine. The main point about IAMs is in allowing interactions among independent, locally defined subsystems --- a crucial requirement for capturing the global behavior of open systems. IAMs amalgamate dual concepts in distributed problem solving, such as blackboards and broadcast communication, which are exploited to account for, respectively, the tight integration and the loose integration of system components. The formal counterpart for the IAM metaphor can be found in the computational model of Linear Objects (LO), whose aim is the abstract modeling of concurrent agent-oriented computations and whose operational semantics is given in terms of the proof theory of Linear Logic, a framework recently introduced to provide a theoretical account for the notion of (inter)action.
The Coming-of-Age of Software Architecture Research
, 2001
"... Over the past decade, software architecture research has emerged as the principled study of the overall structure of software systems, especially the relations among subsystems and components. From its roots in qualitative descriptions of useful system organizations, software architecture has mature ..."
Abstract
-
Cited by 37 (2 self)
- Add to MetaCart
Over the past decade, software architecture research has emerged as the principled study of the overall structure of software systems, especially the relations among subsystems and components. From its roots in qualitative descriptions of useful system organizations, software architecture has matured to encompass broad explorations of notations, tools, and analysis techniques. Whereas initially the research area interpreted software practice, it now offers concrete guidance for complex software design and development. We can understand the evolution and prospects of software architecture research by examining the research paradigms used to establish its results. These are, for the most part, the paradigms of software engineering. We advance our fundamental understanding by posing research questions of several kinds and applying appropriate research techniques, which differ from one type of problem to another, yield correspondingly different kinds of results, and require different methods of validation. Unfortunately, these paradigms are not recognized explicitly and are often not carried out correctly; indeed not all are consistently accepted as valid. This retrospective on a decade-plus of software architecture research examines the maturation of the software architecture research area by tracing the types of research questions and techniques used at various stages. We will see how early qualitative results set the stage for later precision, formality, and automation and how results build up over time. This generates advice to the field and projections about future impact. Keywords: Software architecture, research paradigms 1.
Natural Turn-Taking Needs No Manual: Computational Theory And Model, From Perception To Action
, 2002
"... Beth and Alan are sitting at a Fifth Avenue outdoors restaurant in Manhattan. Alan is telling Beth an exciting story about his vacation in Nice. Alan presents the story through gesture and speech. Then Beth's arm starts moving and her neck stiffens. We, the viewers, know that she's surprised to ..."
Abstract
-
Cited by 33 (10 self)
- Add to MetaCart
Beth and Alan are sitting at a Fifth Avenue outdoors restaurant in Manhattan. Alan is telling Beth an exciting story about his vacation in Nice. Alan presents the story through gesture and speech. Then Beth's arm starts moving and her neck stiffens. We, the viewers, know that she's surprised to see an elephant in the middle of Manhattan, and that in 460 milliseconds her arm and hand motion will turn into a welldefined deictic gesture, her eyebrows will rise, and her mouth will open with surprise, at which point Alan will most certainly recognize the signs and look over at the elephant. But right now, at t-minus-460 milliseconds, Beth's gesture is barely recognizable as a communicative action, so Alan doesn't know for sure. And thus, before that all happens, in the next 460 milliseconds, Alan has to decide what to do about Beth's behavior. Should he stop telling his story? Or should he go on, in case Beth is simply adjusting her jacket? Decisions like these a
Applications of Distributed Artificial Intelligence in Industry
, 1994
"... In many industrial applications, large centralized software systems are not as effective as distributed networks of relatively simpler computerized agents. For example, to compete effectively in today's markets, manufacturers must be able to design, implement, reconfigure, resize, and maintain manuf ..."
Abstract
-
Cited by 31 (1 self)
- Add to MetaCart
In many industrial applications, large centralized software systems are not as effective as distributed networks of relatively simpler computerized agents. For example, to compete effectively in today's markets, manufacturers must be able to design, implement, reconfigure, resize, and maintain manufacturing facilities rapidly and inexpensively. Because modern manufacturing depends heavily on computer systems, these same requirements apply to manufacturing control software, and are more easily satisfied by small modules than by large monolithic systems. This paper reviews industrial needs for Distributed Artificial Intelligence (DAI), giving special attention to systems for manufacturing scheduling and control. It describes a taxonomy of such systems, gives case studies of several advanced research applications and actual industrial installations, and identifies steps that need to be taken to deploy these technologies more broadly.

