Network


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

Hotspot


Dive into the research topics where Richard N. Taylor is active.

Publication


Featured researches published by Richard N. Taylor.


IEEE Transactions on Software Engineering | 2000

A classification and comparison framework for software architecture description languages

Nenad Medvidovic; Richard N. Taylor

Software architectures shift the focus of developers from lines-of-code to coarser-grained architectural elements and their overall interconnection structure. Architecture description languages (ADLs) have been proposed as modeling notations to support architecture-based development. There is, however, little consensus in the research community on what is an ADL, what aspects of an architecture should be modeled in an ADL, and which of several possible ADLs is best suited for a particular problem. Furthermore, the distinction is rarely made between ADLs on one hand and formal specification, module interconnection, simulation and programming languages on the other. This paper attempts to provide an answer to these questions. It motivates and presents a definition and a classification framework for ADLs. The utility of the definition is demonstrated by using it to differentiate ADLs from other modeling notations. The framework is used to classify and compare several existing ADLs, enabling us, in the process, to identify key properties of ADLs. The comparison highlights areas where existing ADLs provide extensive support and those in which they are deficient, suggesting a research agenda for the future.


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.


international conference on software engineering | 1998

Architecture-based runtime software evolution

Peyman Oreizy; Nenad Medvidovic; Richard N. Taylor

Continuous availability is a critical requirement for an important class of software systems. For these systems, runtime system evolution can mitigate the costs and risks associated with shutting down and restarting the system for an update. We present an architecture-based approach to runtime software evolution and highlight the role of software connectors in supporting runtime change. An initial implementation of a tool suite for supporting the runtime modification of software architectures, called ArchStudio, is presented.


Communications of The ACM | 1983

A general-purpose algorithm for analyzing concurrent programs

Richard N. Taylor

Developing and verifying concurrent programs presents several problems. A static analysis algorithm is presented here that addresses the following problems: how processes are synchronized, what determines when programs are run in parallel, and how errors are detected in the synchronization structure. Though the research focuses on Ada, the results can be applied to other concurrent programming languages such as CSP.


international conference on software engineering | 1999

A language and environment for architecture-based software development and evolution

Nenad Medvidovic; David S. Rosenblum; Richard N. Taylor

Software architectures have the potential to substantially improve the development and evolution of large, complex, multi-lingual, multi-platform, long-running systems. However, in order to achieve this potential, specific techniques for architecture-based modeling, analysis, and evolution must be provided. Furthermore, one cannot fully benefit from such techniques unless support for mapping an architecture to an implementation also exists. This paper motivates and presents one such approach, which is an outgrowth of our experience with systems developed and evolved according to the C2 architectural style. We describe an architecture description language (ADL) specifically designed to support architecture-based evolution and discuss the kinds of evolution the language supports. We then describe a component-based environment that enables modeling, analysis, and evolution of architectures expressed in the ADL, as well as mapping of architectural models to an implementation infrastructure. The architecture of the environment itself can be evolved easily to support multiple ADLs, kinds of analyses, architectural styles, and implementation platforms. Our approach is fully reflexive: the environment can be used to describe, analyze, evolve, and (partially) implement itself, using the very ADL it supports. An existing architecture is used throughout the paper to provide illustrations and examples.


Circulation | 2000

Treating Electrical Storm

Koonlawee Nademanee; Richard N. Taylor; William E. Bailey; Daniel E. Rieders; Erol M. Kosar

Background—Electrical storm (ES), defined as recurrent multiple ventricular fibrillation (VF) episodes, often occurs in patients with recent myocardial infarction. Because treating ES according to the Advanced Cardiac Life Support (ACLS) guidelines yields a poor outcome, we evaluated the efficacy of sympathetic blockade in treating ES patients and compared their outcome with that of patients treated according to the ACLS guidelines. Methods and Results—Forty-nine patients (36 men, 13 women, mean age 57±10 years) who had ES associated with a recent myocardial infarction were separated into 2 groups. Patients in group 1 (n=27) received sympathetic blockade treatment: 6 left stellate ganglionic blockade, 7 esmolol, and 14 propranolol. Patients in group 2 (n=22) received antiarrhythmic medication as recommended by the ACLS guidelines. Patient characteristics were similar in the 2 groups. The 1-week mortality rate was higher in group 2: 18 (82%) of the 22 patients died, all of refractory VF; 6 (22%) of the 27 ...


software engineering symposium on practical software development environments | 1989

Foundations for the Arcadia environment architecture

Richard N. Taylor; Frank C. Belz; Lori A. Clarke; Leon J. Osterweil; Richard W. Selby; Jack C. Wileden; Alexander L. Wolf; Michal Young

Early software environments have supported a narrow range of activities (programming environments) or else been restricted to a single “hard-wired” software development process. The Arcadia research project is investigating the construction of software environments that are tightly integrated, yet flexible and extensible enough to support experimentation with alternative software processes and tools. This has led us to view an environment as being composed of two distinct, cooperating parts. One is the variant part, consisting of process programs and the tools and objects used and defined by those programs. The other is the fixed part, or infrastructure, supporting creation, execution, and change to the constituents of the variant part. The major components of the infrastructure are a process programming language and interpreter, object management system, and user interface management system. Process programming facilitates precise definition and automated support of software development and maintenance activities. The object management system provides typing, relationships, persistence, distribution and concurrency control capabilities. The user interface management system mediates communication between human users and executing processes, providing pleasant and uniform access to all facilities of the environment. Research in each of these areas and the interaction among them is described.


international conference on software engineering | 2010

Software traceability with topic modeling

Hazeline U. Asuncion; Arthur U. Asuncion; Richard N. Taylor

Software traceability is a fundamentally important task in software engineering. The need for automated traceability increases as projects become more complex and as the number of artifacts increases. We propose an automated technique that combines traceability with a machine learning technique known as topic modeling. Our approach automatically records traceability links during the software development process and learns a probabilistic topic model over artifacts. The learned model allows for the semantic categorization of artifacts and the topical visualization of the software system. To test our approach, we have implemented several tools: an artifact search tool combining keyword-based search and topic modeling, a recording tool that performs prospective traceability, and a visualization tool that allows one to navigate the software architecture and view semantic topics associated with relevant artifacts and architectural components. We apply our approach to several data sets and discuss how topic modeling enhances software traceability, and vice versa.


IEEE Transactions on Software Engineering | 1992

Structural testing of concurrent programs

Richard N. Taylor; David L. Levine; Cheryl D. Kelly

Although structural testing techniques are among the weakest available with regard to developing confidence in sequential programs, they are not without merit. The authors extend the notion of structural testing criteria to concurrent programs and propose a hierarchy of supporting structural testing techniques. Coverage criteria described include concurrency state coverage, state transition coverage and synchronization coverage. Requisite support tools include a static concurrency analyzer and either a program transformation system or a powerful run-time monitor. Also helpful is a controllable run-time scheduler. The techniques proposed are suitable for Ada or CSP-like languages. Best results are obtained for programs having only static naming of tasking objects. >


international conference on software engineering | 2002

An infrastructure for the rapid development of XML-based architecture description languages

Eric M. Dashofy; André van der Hoek; Richard N. Taylor

Research and experimentation in software architectures over the past decade have yielded a plethora of software architecture description languages (ADLs). Continuing innovation indicates that it is reasonable to expect more new ADLs, or at least ADL features. This research process is impeded by the difficulty and cost associated with developing new notations. An architect in need of a unique set of modeling features must either develop a new architecture description language from scratch or undertake the daunting task of modifying an existing language. In either case, it is unavoidable that a significant effort will be expended in building or adapting tools to support the language. To remedy this situation, we have developed an infrastructure for the rapid development of new architecture description languages. Key aspects of the infrastructure are its XML-based modular extension mechanism, its base set of reusable and customizable architectural modeling constructs, and its equally important set of flexible support tools. This paper introduces the infrastructure and demonstrates its value in the context of several real-world applications.

Collaboration


Dive into the Richard N. Taylor's collaboration.

Top Co-Authors

Avatar

Nenad Medvidovic

University of Southern California

View shared research outputs
Top Co-Authors

Avatar

Peyman Oreizy

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Leon J. Osterweil

University of Massachusetts Amherst

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Kenneth M. Anderson

University of Colorado Boulder

View shared research outputs
Researchain Logo
Decentralizing Knowledge