Michael M. Gorlick’s research while affiliated with University of California, Irvine and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (22)


Peer-to-Peer_Architectures_and_the_Magi_Open-Sourc.pdf
  • Data
  • File available

November 2018

·

66 Reads

·

Michael Gorlick

·

Arthur S. Hitomi

·

[...]

·

Richard N. Taylor
Download

Reflections on the REST architectural style and "principled design of the modern web architecture" (impact paper award)

August 2017

·

265 Reads

·

68 Citations

Seventeen years after its initial publication at ICSE 2000, the Representational State Transfer (REST) architectural style continues to hold significance as both a guide for understanding how the World Wide Web is designed to work and an example of how principled design, through the application of architectural styles, can impact the development and understanding of large-scale software architecture. However, REST has also become an industry buzzword: frequently abused to suit a particular argument, confused with the general notion of using HTTP, and denigrated for not being more like a programming methodology or implementation framework. In this paper, we chart the history, evolution, and shortcomings of REST, as well as several related architectural styles that it inspired, from the perspective of a chain of doctoral dissertations produced by the University of California's Institute for Software Research at UC Irvine. These successive theses share a common theme: extending the insights of REST to new domains and, in their own way, exploring the boundary of software engineering as it applies to decentralized software architectures and architectural design. We conclude with discussion of the circumstances, environment, and organizational characteristics that gave rise to this body of work.


Communication and Capability URLs in COAST-based Decentralized Services

November 2014

·

13 Reads

·

1 Citation

Decentralized systems are systems-of-systems whose services are governed by two or more separate organizations under distinct spheres of authority. Coordinated evolution of the various elements of a decentralized system may be difficult, if not impossible, as individual organizations evolve their service offerings in response to organization- and service-specific pressures, including market demand, technology, competitive and cooperative interests, and funding. Consequently, decentralized services offer unique challenges for evolution and adaptation that reach well beyond any one single organizational boundary. Client-driven service customization and tailoring is a powerful tool for meeting conflicting, independent client demands in an environment where disorderly and uneven service evolution predominates. COmputAtional State Transfer (COAST) relies on capability security to minimize the risks of client-driven customization, for which fine-grain management of communication capability is critical. We introduce the Capability URL (CURL) as the unit of communication capability and show how two distinct mechanisms, communication capability and mobile code, can be combined to express and enforce constraints on the communications among decentralized computations.


COAST: An Architectural Style for Decentralized On-Demand Tailored Services

August 2012

·

22 Reads

·

7 Citations

Decentralized systems are systems-of-systems whose services are governed by two or more separate organizations under distinct spheres of authority. Coordinated evolution of the various elements of a decentralized system may be difficult, if not impossible, as individual organizations evolve their service offerings in response to organization- and service-specific pressures, including market demand, technology, competitive and cooperative interests, and funding. Consequently, decentralized services offer unique challenges for evolution and adaptation that reach well beyond any one single organizational boundary. However, client-driven service customization and tailoring is a powerful tool for meeting conflicting, independent client demands in an environment where disorderly and uneven service evolution predominates. To this end, we contribute an architectural style, COmputAtional State Transfer (COAST), designed to provide extensive, safe, and secure client-directed customization of decentralized services. COAST combines mechanisms from software architecture, cryptography, security, and programming languages, granting application architects flexible provisioning of their core services and assets while protecting those services and assets from attack and misuse.


CREST: Principled foundations for decentralized systems

October 2011

·

18 Reads

·

3 Citations

CREST is an architectural style for decentralized, flexible, and secure open and adaptive systems. Adopting the bilateral transfer of computation as the fundamental medium of exchange among peers, CREST reduces content to a side-effect of computational exchange. We discuss the style's constraints, its anticipated benefits, and the implementation mechanisms.


From representations to computations: The evolution of web architectures

September 2007

·

144 Reads

·

61 Citations

REpresentational State Transfer (REST) guided the creation and expansion of the modern web. What began as an internet-scale distributed hypermedia system is now a vast sea of shared and interdependent services. However, despite the expressive power of REST, not all of its benefits are consistently realized by working systems. To resolve the dissonance between the promise of REST and the reality of fielded systems, we critically examine numerous web architectures. Our investigation yields a set of extensions to REST, an architectural style called Computational REST (CREST), that not only offers additional design guidance, but pinpoints, in many cases, the root cause of the apparent dissonance between style and implementation. Furthermore, CREST explains emerging web architectures (such as mashups) and points to novel computational structures.


Flow Webs: Architecture and Mechanism for Sensor Webs

February 2007

·

18 Reads

Our vision of sensor webs—dynamic amalgama-tions of sensor webs each constructed within a flow web infrastructure—embraces sensors webs as "systems of systems" in which many sensor webs of many kinds—geophysical, routing, service, and computational—are interlinked on demand as needs and circumstances dictate. Flow webs, are by philosophy, de-sign, and implementation, a dynamic infrastructure that permits massive adaptation in real-time. Flows may be attached to and detached from services at will, even while information is in transit through the flow. This concept, flow mobility, permits on-the-fly integration of earth-science products and modeling resources in response to real-time demands. Flows themselves rely upon the periodic streaming exchange of computational state among peers. This exchange of computational state is informed by Computational REpresentational State Transfer (CREST), a generalization of web practices in which web requests for content and content-centric web responses are replaced by the symmetric exchanges of mobile code and computational continuations among peers.


Flow Webs: Mechanism and Architecture for the Implementation of Sensor Webs

December 2006

·

8 Reads

The sensor web is a distributed, federated infrastructure much like its predecessors, the internet and the world wide web. It will be a federation of many sensor webs, large and small, under many distinct spans of control, that loosely cooperates and share information for many purposes. Realistically, it will grow piecemeal as distinct, individual systems are developed and deployed, some expressly built for a sensor web while many others were created for other purposes. Therefore, the architecture of the sensor web is of fundamental import and architectural strictures that inhibit innovation, experimentation, sharing or scaling may prove fatal. Drawing upon the architectural lessons of the world wide web, we offer a novel system architecture, the flow web, that elevates flows, sequences of messages over a domain of interest and constrained in both time and space, to a position of primacy as a dynamic, real-time, medium of information exchange for computational services. The flow web captures; in a single, uniform architectural style; the conflicting demands of the sensor web including dynamic adaptations to changing conditions, ease of experimentation, rapid recovery from the failures of sensors and models, automated command and control, incremental development and deployment, and integration at multiple levels---in many cases, at different times. Our conception of sensor webs---dynamic amalgamations of sensor webs each constructed within a flow web infrastructure---holds substantial promise for earth science missions in general, and of weather, air quality, and disaster management in particular. Flow webs, are by philosophy, design and implementation a dynamic infrastructure that permits massive adaptation in real-time. Flows may be attached to and detached from services at will, even while information is in transit through the flow. This concept, flow mobility, permits dynamic integration of earth science products and modeling resources in response to real-time demands. Flows are the connective tissue of flow webs---massive computational engines organized as directed graphs whose nodes are semi-autonomous components and whose edges are flows. The individual components of a flow web may themselves be encapsulated flow webs. In other words, a flow web subgraph may be presented to a yet larger flow web as a single, seamless component. Flow webs, at all levels, may be edited and modified while still executing. Within a flow web individual components may be added, removed, started, paused, halted, reparameterized, or inspected. The topology of a flow web may be changed at will. Thus, flow webs exhibit an extraordinary degree of adaptivity and robustness as they are explicitly designed to be modified on the fly, an attribute well suited for dynamic model interactions in sensor webs. We describe our concept for a sensor web, implemented as a flow web, in the context of a wildfire disaster management system for the southern California region. Comprehensive wildfire management requires cooperation among multiple agencies. Flow webs allow agencies to share resources in exactly the manner they choose. We will explain how to employ flow webs and agents to integrate satellite remote sensing data, models, in-situ sensors, UAVs and other resources into a sensor web that interconnects organizations and their disaster management tools in a manner that simultaneously preserves their independence and builds upon the individual strengths of agency-specific models and data sources.


Harmonizing Architectural Dissonance in REST-based Architectures

January 2006

·

13 Reads

·

3 Citations

REpresentational State Transfer (REST) guided the creation and expansion of the modern web. What began as an internet-scale distributed hypermedia system is now a vast sea of shared and interdependent services. However, despite the expressive power of REST, not all of its benefits are consistently realized by working systems. To resolve the dissonance between the promise of REST and the difficulties experienced, we sought insights from numerous architectures in both web and non-web domains. Our investigation yields a set of extensions to REST, an architectural style called Computational REST (CREST), that not only offers additional design guidance, but pinpoints, in many cases, the root cause of the apparent dissonance between style and implemen- tation. Furthermore, CREST explains emerging web architectures, such as mashups, and points to novel computational structures in domains such as distributed computation and multimedia streaming.



Citations (12)


... The Django server acts as a queue requests producer for image inference and also processes the final results. The results are consumed from a separate process that receives results from a dedicated results queue and sends the data to the Django web server via REST application interface endpoint [7]. The web server then saves the results to a PostgreSQL database server [22]. ...

Reference:

Deployment of deep learning-based anomaly detection systems: challenges and solutions
Reflections on the REST architectural style and "principled design of the modern web architecture" (impact paper award)
  • Citing Conference Paper
  • August 2017

... Consider the alternative-if the key design decisions are not recorded and made analyzable, then how can an engineer determine whether there are system vulnerabilities? Given the enormous range of system designs, there is little in general that can be said about designing for security properties, but an emerging view is that no perimeter defense will ever be sufficiently protective for decentralized systems [7,8]. Rather, security must be considered at all levels of design, from the most abstract architecture to specific coding choices. ...

COAST: An Architectural Style for Decentralized On-Demand Tailored Services
  • Citing Conference Paper
  • August 2012

... The evolution of REST to CREST began in 2006-2007 when Erenkrantz and Gorlick, like Fielding before them, turned to the web as a living laboratory [12]. As described earlier by Erenkrantz (Section 3.2) the macro-level constraints of REST had seeped down into application architectures, a confirmation of the prior work of Oreizy [38]. ...

Harmonizing Architectural Dissonance in REST-based Architectures
  • Citing Article
  • January 2006

... In our model, such applications are implemented as a separate subsystem using special image processing hardware, and interfaced to the port-based objects using a reconfigurable device driver. For a vision subsystem, configurable inter-object communication can be implemented using high-volume data streams and synchronized tasks [13], instead of states and asynchronous tasks as described in this paper. Synchronous systems are more limiting because all tasks must execute at the same frequency and dynamic reconfigurability of more than one task at a time is usually not possible. ...

A visual platform for the synthesis of complex systems
  • Citing Article
  • January 1994

... P2P systems have evolved across time and have wide range of applications and provide a good platform for many data and compute intensive applications [19], [20]. In order to adapt the Mobile Host to the P2P network, many of the current P2P technologies like Gnutella [19], Napster and Magi [21] are studied in detail. Most of these technologies are proprietary and are generally targeting specific applications. ...

Peer-to-Peer Architectures and the Magi™ Open-Source Infrastructure

... Besides requiring the developer to predefine the part or parts of the application that is to be moved, they still require significant networking resources. More recently, computational REST (CREST) 18,19 has been proposed, but not demonstrated. CREST extends REST 8 with the notion of computational resources (e.g. ...

Rethinking Web Services from First Principles Extended Abstract
  • Citing Article

... a) Adaptability consists of allowing end users the explicit capacity to modify some aspects of the UI to make it suitable for their needs, which also refers to manual system in our review [3,31]. b) Adaptivity is the automatic adaptation of the UI in response to the changes of the context, which also refers to automatic system in our review [22,39]. c) Note that the existing technologies mix both adaptability and adaptivity where the end-user and the system collaborate to achieve adaptation [4]. ...

An Architecture-Based Approach to Self-Adaptive
  • Citing Article

... While no actual formal definition exists, one can define the REST architectural style as a set of constraints and/or guidelines that should be met when developing distributed applications that could run within the Web. Erenkrantz et al. note in [8] that these constraints address the communication between the various components of a REST-compliant system rather than focusing on the semantics of these components. ...

From representations to computations: The evolution of web architectures
  • Citing Conference Paper
  • September 2007

... When greater complexity is required, electronic-circuit design becomes relevant. Our survey found 15 sources putting focus primarily on electrical signalling [13,23,24,38,44,45,65,67,69,85,86,92,93,114,132] and 15 other sources in which the signalling or wiring plays a major role [3,6,37,70,72,73,82,83,94,95,97,111,115,133,134]. F-photodetector [16] F-temperature [16] Temperature and humidity [70] EL wire [56,121] LEDs [16] Capacitive yarn [16,50] PCB [132,133] F-biosensor [16] Optical fbre [42,98,105] Plate capacitor [129] Pressure sensor [16,26,77,87,89,90] Touch pad [89] Pressure sensor [28] Artifcial muscle [71] Optical fbre [9,42,49] Thermochromic heat [116,120] Thermochromic yarn [28] Electrode [2,131] Inverter [11] Memory wire [68] Piezoelectric generator [66] Simple weave and supple-Shape-memory Capacitive grid [95] Thermochromic Antenna [62] mentary sets of yarn [44,45,69,95,114] alloy [14] Capacitive touch function [125] Moisture sensor [5] Stroke sensor [89] Touch potentiometer [124] yarn [21,28] Coil [128] Electrode [43] Double-faced weave [85,86] -Capacitive touch function [96] Moisture sensor [84] Tilt switch [89] Optical fbre [30] Thermochromic heat [91] Electrodes [89] Double weave [37,82,97,115] Soft potentiometer [18] Strain sensor [64] EL wire [56] LED(s) [5,96,105,115] Shape-memory alloy [105] Capacitive yarn [50] PCB [63] Solar cell [118] LED yarn [57] PCB [19,28,57] Capacitive touch [105,108] Optical fbre [37,82] Pressure sensor [34,96,105] Switch [20,89,97,115] Thermocouple [54] Touch sensor [79] Optical fbre [8,31,32,99,108,110] Thermochromic heat [78,80,105] Thermochromic yarn [20,60] Battery-holder [115] Electrode [43] Resistor [115] Triboelectric generator [39] Electrode [19] Double cloth [3,83] System [72] LED yarn [41] Hall-efect sensor [72] LEDs [72] Plate capacitor [129] Optical fbre [31,32,99,108,109] Electrode [103,130] Multi-layer double weave -Solar cell [118] Switch [4,89] -Electrode [43] Plate capacitor [27] Multi-layer double cloth [22,92] System [73] Strain sensor [46] Battery [73] LEDs [73] Processor-yarn [73] --RFID antenna [33] Unspecifed woven structure [6,13,38] LEDs [61] Optical fbre [51] RFID [113] Thermocouple [107] EL wire [33] Thermochromic heat [7] Electrode [6] Since the yarn components are tailored specifcally for weaving, their use is distinct from others in the relevant category; PCB woven-in components include both rigid and fexible printed circuit boards. ...

Electric suspenders: a fabric power bus and data network for wearable digital devices
  • Citing Conference Paper
  • February 1999