Network


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

Hotspot


Dive into the research topics where Shang-Wen Cheng is active.

Publication


Featured researches published by Shang-Wen Cheng.


IEEE Computer | 2004

Rainbow: architecture-based self-adaptation with reusable infrastructure

David Garlan; Shang-Wen Cheng; An-Cheng Huang; Bradley R. Schmerl; Peter Steenkiste

While attractive in principle, architecture-based self-adaptation raises a number of research and engineering challenges. First, the ability to handle a wide variety of systems must be addressed. Second, the need to reduce costs in adding external control to a system must be addressed. Our rainbow framework attempts to address both problems. By adopting an architecture-based approach, it provides reusable infrastructure together with mechanisms for specializing that infrastructure to the needs of specific systems. The specialization mechanisms let the developer of self-adaptation capabilities choose what aspects of the system to model and monitor, what conditions should trigger adaptation, and how to adapt the system.


Proceedings of the 2006 international workshop on Self-adaptation and self-managing systems | 2006

Architecture-based self-adaptation in the presence of multiple objectives

Shang-Wen Cheng; David Garlan; Bradley R. Schmerl

In the world of autonomic computing, the ultimate aim is to automate human tasks in system management to achieve high-level stakeholder objectives. One common approach is to capture and represent human expertise in a form executable by a computer. Techniques to capture such expertise in programs, scripts, or rule sets are effective to an extent. However, they are often incapable of expressing the necessary adaptation expertise and emulating the subtleties of trade-offs in high-level decision making. In this paper, we propose a new language of adaptation that is sufficiently expressive to capture the subtleties of choice, deriving its ontology from system administration tasks and its underlying formalism from utility theory.


Science of Computer Programming | 2002

Reconciling the needs of architectural description with object-modeling notations

David Garlan; Shang-Wen Cheng; Andrew J. Kompanek

Complex software systems require expressive notations for representing their software architectures. Two competing paths have emerged. One is to use a specialized notation for architecture, an architecture description language (ADL). The other is to adapt a general-purpose modeling notation, such as UML. The latter has a number of benefits, including familiarity to developers, close mapping to implementations, and commercial tool support. However, it remains an open question as to how best to use object-oriented notations for architectural description, and, indeed, whether they are sufficiently expressive, as currently defined. In this paper, we take a systematic look at these questions, examining the space of possible mappings from ADLs into UML. Specifically, we describe (a) the principal strategies for representing architectural structure in UML; (b) the benefits and limitations of each strategy; and (c) aspects of architectural description that are intrinsically difficult to model in UML using the strategies.


Lecture Notes in Computer Science | 2003

Increasing system dependability through architecture-based self-repair

David Garlan; Shang-Wen Cheng; Bradley R. Schmerl

The invention relates to an article suitable for making an electrical connection between two electrical conductors, for example an earth conductor and the outer conductor of a coaxial cable. The article comprises a heat-shrinkable sleeve and a quantity of solder which is positioned eccentrically within the sleeve and is held by and/or on the sleeve. The sleeve also comprises or has guide means capable of locating a portion of the earth conductor in proximity to the quantity of solder. On shrinking of the sleeve and fusing of the solder, an electrical connection can be made between an earth conductor received in the guide means and the outer conductor of a coaxial cable received in the sleeve.


automation, robotics and control systems | 2002

Software Architecture-Based Adaptation for Pervasive Systems

Shang-Wen Cheng; David Garlan; Bradley R. Schmerl; João Pedro Sousa; Bridget Spitznagel; Peter Steenkiste; Ningning Hu

An important requirement for pervasive computing systems is the ability to adapt at runtime to handle varying resources, user mobility, changing user needs, and system faults. In this paper we describe an approach in which dynamic adaptation is supported by the use of software architectural models to monitor an application and guide dynamic changes to it. The use of externalized models permits one to make reconfiguration decisions based on a global perspective of the running system, apply analytic models to determine correct repair strategies, and gauge the effectiveness of repair through continuous system monitoring. We illustrate the application of this idea to pervasive computing systems, focusing on the need to adapt based on performance-related criteria and models.


Journal of Systems and Software | 2012

Stitch: A language for architecture-based self-adaptation

Shang-Wen Cheng; David Garlan

Requirements for high availability in computing systems today demand that systems be self-adaptive to maintain expected qualities-of-service in the presence of system faults, variable environmental conditions, and changing user requirements. Autonomic computing tackles the challenge of automating tasks that humans would otherwise have to perform to achieve this goal. However, existing approaches to autonomic computing lack the ability to capture routine human repair tasks in a way that takes into account the business context humans use in selecting an appropriate form of adaptation, while dealing with timing delays and uncertainties in outcome of repair actions. In this article, we present Stitch, a language for representing repair strategies within the context of an architecture-based self-adaptation framework. Stitch supports the explicit representation of repair decision trees together with the ability to express business objectives, allowing a self-adaptive system to select a strategy that has optimal utility in a given context, even in the presence of potential timing delays and outcome uncertainty.


software engineering for adaptive and self managing systems | 2009

Evaluating the effectiveness of the Rainbow self-adaptive system

Shang-Wen Cheng; David Garlan; Bradley R. Schmerl

Rainbow is a framework for engineering a system with run-time, self-adaptive capabilities to monitor, detect, decide, and act on opportunities for system improvement. We applied Rainbow to a system, Znn.com, and evaluated its effectiveness to self-adapt on three levels: its effectiveness to maintain quality attribute in the face of changing conditions, run-time overheads of adaptation, and the engineering effort to use it to add self-adaptive capabilities to Znn.com. We make Znn.com and the associated evaluation tools available to the community so that other researchers can use it to evaluate their own systems and the community can compare different systems. In this paper, we report on our evaluation experience, reflect on some principles for benchmarking self-adaptive systems, and discuss the suitability of our evaluation tools for this purpose.


working ieee/ifip conference on software architecture | 2002

Using Architectural Style as a Basis for System Self-repair

Shang-Wen Cheng; David Garlan; Bradley R. Schmerl; João Pedro Sousa; Bridget Spitnagel; Peter Steenkiste

An increasingly important requirement for software systems is the capability to adapt at run time in order to accommodate varying resources, system errors, and changing requirements. For such self-repairing systems, one of the hard problems is determining when a change is needed, and knowing what kind of adaptation is required. Recently several researchers have explored the possibility of using architectural models as a basis for run time monitoring, error detection, and repair. Each of these efforts, however, has demonstrated the feasibility of using architectural models in the context of a specific style. In this paper we show how to generalize these solutions by making architectural style a parameter in the monitoring/repair framework and its supporting infrastructure. The value of this generalization is that it allows one to tailor monitoring/repair mechanisms to match both the properties of interest (such as performance or security), and the available operators for run time adaptation.


high performance distributed computing | 2002

Software architecture-based adaptation for Grid computing

Shang-Wen Cheng; David Garlan; Bradley R. Schmerl; Peter Steenkiste; Ningning Hu

Grid applications must increasingly self-adapt dynamically to changing environments. In most cases, adaptation has been implemented in an ad hoc fashion, on a per-application basis. This paper describes work which generalizes adaptation so that it can be used across applications by providing an adaptation framework. This framework uses a software architectural model of the system to analyze whether the application requires adaptation, and allows repairs to be written in the context of the architectural model and propagated to the running system. In this paper, we exemplify our framework by applying it to the domain of load-balancing a client-server system. We report on an experiment conducted using our framework, which illustrates that this approach maintains architectural requirements.


Autonomic Computing and Networking | 2009

Software Architecture-Based Self-Adaptation

David Garlan; Bradley R. Schmerl; Shang-Wen Cheng

Increasingly, systems must have the ability to self-adapt to meet changes in their execution environment. Unfortunately, existing solutions require human oversight, or are limited in the kinds of systems and the set of quality-of-service concerns they address. Our approach, embodied in a system called Rainbow, uses software architecture models and architectural styles to overcome existing limitations. It provides an engineering approach and a framework of mechanisms to monitor a target system and its environment, reflect observations into a system’s architecture model, detect opportunities for improvement, select a course of action, and effect changes in a closed loop. The framework provides general and reusable infrastructures with well-defined customization points, allowing engineers to systematically customize Rainbow to particular systems and concerns.

Collaboration


Dive into the Shang-Wen Cheng's collaboration.

Top Co-Authors

Avatar

David Garlan

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Peter Steenkiste

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

An-Cheng Huang

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ningning Hu

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Ajinkya Bhave

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Akshay Rajhans

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge