Walt Scacchi's Publications Page (Home Page)
What is the
ATRIUM Laboratory?
Selected Research Papers (in Postscript, HTML, or PDF
format) and Interactive Presentations (in HTML format)
Need a Postscript viewer and printing utility? Get a Postscript
viewer and print utility for MS-Windows and OS/2 systems called GSview
.
-
Understanding the Social, Technological, and Policy Implications of Open
Source Software Development. Interest in open source software
development has emerged in many different research communities. Much of
this interest has focused attention primarily onto the products of
open software development (source code), and secondarily onto the
processes and productive units that facilitatre such development. This
position paper identifies what I believe are areas, topics, or basic
questions requiring further research in the arena of open source
software development. Position paper presented at the NSF Workshop on Advancing the
Research Agenda on Open Source, 28 January 2002, Revised August
2002.
-
Understanding the Requirements for Developing Open Source Software
Systems. This study presents an initial set of findings from an
empirical study of social processes, technical system configurations,
organizational contexts, and interrelationships that give rise to
open software. The focus is directed at understanding the
requirements for open software development efforts, and how the
development of these requirements differs from those traditional to
software engineering and requirements engineering. Four open software
development communities are described, examined, and compared to help
discover what these differences may be. Eight kinds of software
informalisms are found to play a critical role in the elicitation,
analysis, specification, validation, and management of requirements
for developing open software systems. Subsequently, understanding
the roles these software informalisms take in a new formulation of
the requirements development process for open source software is the
focus of this study. (IEE Proceedings--Software, 149(1), 24-39,
February 2002).
-
Hypertext for Software Engineering. This chapter provides a survey
of tools, techniques, and concepts for how hypertext capabilities can be
employed to support large team-oriented software development projects.
(appears in J. Marciniak (ed.), Encyclopedia of Software
Engineering, 2nd. Edition , Wiley, 612-621, 2002).
-
Process Models in Software Engineering. This chapter provides a
survey of tools, techniques, and concepts for how alternative softwre
process models and modeling capabilities can be employed to support
large team-oriented software development projects. (revised version
appears in J. Marciniak (ed.), Encyclopedia of Software Engineering,
2nd. Edition, 993-1005, Wiley, 2002).
- Software
Development Practices in Open Software Development Communities. This
study presents an initial set of findings from an empirical study of
social processes, technical system configurations, organizational
contexts, and interrelationships that give rise to open software. "Open
software", or more narrowly, open source software, represents an
approach for communities of like-minded participants to develop software
system representations that are intended to be shared freely, rather
than offered as closed commercial products. While there is a growing
popular literature attesting to open software, there are very few
systematic empirical studies that informs how these communities
produce software. Similarly, little is known about how people in these
communities coordinate software development across different settings,
or about what software processes, work practices, and organizational
contexts are necessary to their success. To the extent that academic
research communities and commercial enterprises seek the supposed
efficacy of open software, they will need grounded models of the
processes and practices of open software development to allow
effective investment of their resources. This study investigates four
communities engaged in open software development. Case study methods are
used to compare practices across communities. (Position paper
presented at the
1st Workshop on Open Source Software Engineering, Toronto, Ontario,
May 2001).
-
Modeling and Simulating Software Acquisition Process Architectures. (with S. James Choi),
In this paper, we describe our efforts to support the modeling and
simulation of processes associated with software system acquisition
activities. Software acquisition is generally a multi-organization
endeavor concerned with the funding, management, engineering, system
integration, deployment and long-term support of large software
systems. We first describe a language for modeling software
acquisition processes at the architectural level. We then describe
our approach supporting the simulation of software acquisition processes
within a process architecture. Along the way, we introduce how we
employ the High-Level Architecture (HLA) and Run-Time Infrastructure
(RTI) to support the distribution, concurrent execution and
interoperation of multiple software process simulations to address
the complexity of software acquisition process architectures. In
addition, we also introduce the design and prototyping of a Web-based
environment which supports the modeling and simulation of acquisition
process architectures. (appears in Journal of Systems and Software
, 59(3), 343-354, 15 December 2001).
-
Specifying Process-Oriented Hypertext for Organizational Computing. (with John Noll),
Organizations deploy intranets to provide access to documents for those
who use them. But the web of computing comprises more than just
documents: people, tools, and processes are critical to organizational
function. In particular, people may need guidance on how to perform
tasks, as well as access to information necessary to carry out those
tasks. In this paper, we present a language for describing
process-oriented hypertexts. A process-oriented hypertext links
information, tools, and activities into a seamless organizational web.
Using such a hypertext, and process performer can enact a process by
browsing, and receive guidance on how to perform the process
activities, where to and relevant information, and what tools to use.
The PML process modeling language provides a way for process engineers
to specify process models in terms of activities, and the sequence in
which they should be performed. The specifcation can be elaborated with
descriptions of resources and tools required and provided by activities,
and the skills necessary to carry out an activity. The resulting models
are then translated into one or more process-oriented hypertexts that
represent instances of the process currently being performed. PML
includes features that allow the modeler to specify how the process
activities should be dynamically linked to information and resource
nodes at the time the process is performed. This enables processes to
be described as abstract models that can be instantiated as
process-oriented hypertexts in different organizational settings. We
used PML to model processes in a case study of the grants management
process at the US Office of Naval Research. We describe some of our
experiences applying PML to this study, and conclude with lessons
learned and directions for future study. (appears in Journal of
Network Computing and Applications , 24(1):39-61, 2001).
-
Redesigning Contracted Service Procurement for Internet-based Electronic
Commerce: A Case Study. This paper describes a case study focused
on redesigning procurement processes for research grants at the Office
of Naval Research. These processes focus on the procurement of research
(R&D) services and how they can be redesigned and supported using
Web-based capabilities. By examining these processes, we gain insight
into issues and challenges to be addressed in
redesigning service procurement with Internet-based Electronic
Commerce capabilities. In collaboration with other participants in
this effort, we found that we could contribute to a substantial
reduction in process cycle time and operational costs associated with
the funding of thousands of research grant procurement actions.
Accordingly, this investigation will focus on topics that underlie
these results. This includes defining an approach to redesign
procurement processes for Internet-based EC, a case study applying
this approach and technology at ONR, and a discussion of lessons
learned. Along the way, challenges, issues, and possible solutions are
identified that foreshadow the development of a new
generation of Internet-based procurement processes and supporting
Web-based environments. (Revised version appears in J.
Information Technology and Management , 2(3), 313-334, 2001).
-
An Environment for Research in Software Systems Acquisition. (with A. Valente, J. Noll, and J.S. Choi), In this
paper, we present initial results from basic research and exploratory
studies in the area of software systems acquisition. This research
sought to design a web-based, computer-supported work environment
that facilitates research and development in the area of software
systems acquisition. This environment supports the capture,
representation, and operationalization of various forms of knowledge
associated with a new vision for virtual system acquisition, called
VISTA. The schemes for organizing and managing knowledge rooted in
software feasibility heuristics and informal/formal models of software
acquisition and systems engineering processes are called knowledge webs.
Accordingly, the environment that provides the mechanisms for capturing,
representing, interlinking and operationalizing access to these
knowledge webs is called a knowledge web management system (KWMS).
Thus, the environment that is the focus of this research effort is
designed to provide a KWMS capability that provides access to an
incrementally evolving knowledge web for software acquisition research
and practice in line with the VISTA vision. This environment for
software acquisition web management is called SAWMAN (submitted for
publication, June 2001).
-
Experience with Software Architectures and Configured Software
Descriptions. (with S. J. Choi), In this position paper, we highlight some of the
things we have learned over the past 15 years in our experience with
software architectures. Much of what we have learned results from our
experience in the specification, design, implementation and
evolution of software engineering environments and process-driven
software environments. Along the way, we have developed or used a
variety of alternative architectural notations to support these
efforts. We also have employed architectural design concepts and
notations to specify, "code" and evolve a variety of configured software
descriptions, including software life cycle documents, software
hypertexts, software processes, and others. In this regard, we have
found it useful to explore alternative schemes for combining software
architecture concepts, techniques, notations and tools with those for
software configuration management. Accordingly, we will highlight
some of our experiences in these areas or topics. (Position paper
presented at the
Workshop on Evaluating Software Architectural Solutions -
2000, Irvine, CA May 2000).
-
Understanding Software Process Redesign using Modeling, Analysis and
Simulation. This paper introduces the problem of understanding what
software process redesign (SPR) is, and how software process modeling,
analysis and simulation may be used to support it. It provides an
overview of research results from business process redesign to help
draw attention to the importance of treating process redesign as a
process of organizational and process transformation. This in turn
requires examining and practicing SPR through an approach that
combines organizational change management together with process
management technologies. A discussion follows which then identifies a
number of topic areas that require further study in order to make SPR a
subject of software process research and practice. (Presented at ProSim'99
, Silver Falls, OR, June 1999. Revised version appears in Software
Process --Improvement and Practice 5(2/3):183-195, 2000).
-
Developing a Knowledge Web for Business Process Redesign. (with Andre Valente), We
describe our effort at developing and demonstrating a prototype
knowledge-based Web environment for modeling, diagnosing and
redesigning complex business processes. Our goal was to investigate how
a modern knowledge representation system, Loom [MB95], can favorably
leverage the development and evolution of a knowledge web that links
narrative, informal and formal descriptions of cases on business
process redesign found on the Web. In so doing, we demonstrate
concepts, techniques and tools that facilitate the development of a
knowledge web management system (KWMS) in an application domain of
interest to enterprises throughout the world. (Presented at the 1999
Knowledge Acquisition Workshop, Banff, Canada, October 1999).
-
Supporting Software Development in Virtual Enterprises. (with John Noll), This paper
presents recent developments in a distributed semantic hypertext
framework called DHT that supports software development projects
within virtual enterprises. We show how hypertext functionality
embodied in DHT solves the practical problems of project coordination
including, collaborative sharing data in a virtual enterprise of
distributed teams, integrating existing tools and environments, and
enacting software processes to coordinate development activities for
teams across wide-area networks. In particular, we describe how software
process enactment can be achieved within a virtual enterprise without
centralized mechanisms. This is when the process description is
represented as a user navigable hypertext graph whose nodes
associate process steps, staff roles, and associated tools with
designated software products. Overall, these capabilities provide
support for coordinating software development projects across a virtual
enterprise of teams connected via the Internet. (appears in Journal of Digital
Information, 1(4), February 1999). The
original version of this paper was presented at The
Second International Workshop on Incorporating Hypertext Functionality
Into Software Systems, Washington, DC, March 1996.
-
Virtual System Acquisition: Approach and Transitions. (with Barry Boehm), In this
paper, we describe a radically new approach for the acquisition of
software-intensive systems. We start be reviewing problems and
opportunities for improving the acquisition of these systems. We put
forward a statement of objective on the need to make the software
system acquisition more agile and adaptive, through the evolutionary
modeling, simulation, and development of the system being acquired. We
describe a new vision for the re-tooling and re-engineering software
system acquisition into a form we call, VISTA, denoting an approach
to the virtual acquisition of these systems. We then outline the VISTA
approach to software acquisition. This is followed by a discussion of
the technical and organizational transitions that must be investigated
and managed to ensure the eventual success of such a radical change to
software system acquisition. (appears in Acquisition Review
Quarterly, 5(2):185-216, Spring 1998).
-
Experience with Software Process Simulation and Modeling . This paper
describes an approach taken and experiences encountered in developing
and applying simulation and modeling technologies to software processes.
Processes for both software development and use have been
investigated. As such, the focus of this paper is aimed at addressing
three aspects of software process simulation and modeling. First, I
describe an approach and examples of software simulation and modeling
as investigated with the Articulator environment developed at USC.
Second, I describe how by focusing on process modeling, analysis, and
simulation, we are led to expand the scope of work with software
processes toward a more comprehensive software process life cycle
engineering. Third, I describe some of the lessons learned from
applying modeling and simulation concepts, techniques, and tools to
software processes in a variety of organizational settings.
Conclusions then stress the complementary value arising from the use of
both qualitative and quantitative technologies for software process
simulation and modeling. ( Journal of Systems and Software ,
46(2/3):183-192,1999. The original
version of this paper presented at ProSim'98, Silver
Falls, OR, 22-24 June 1998).
-
Computational Business Process Components for Electronic Commerce.
In this position paper, I focus on addressing computational business
processes as software components for Electronic Commerce. These
components can be configured into an organizational process
architecture that serves as a reusable framework for developing an EC
information infrastructure. Process-driven Intranets then serve as a
distributed development and run-time support environment for the
framework. Since PDIs can span organizational boundaries, and since
PDIs in different organizations may be interconnected, then
process-driven extranets can be created and deployed. PDIs and PDEs
enable the design, integration, and enactment of virtual enterprises.
When a community of virtual enterprises emerges and begins to support
business transactions among these enterprises, then virtual markets can
appear, as can different kinds of computational economies. With the
exception of this last item, I have experience in developing and
applying these capabilities in different organizational settings. My
experience leads me to believe that CBPs are viable components for EC.
Furthermore, such components address an orthogonal set of issues
compared to those addressed by other potential EC technologies such as
CORBA/DCOM, EDI X12 transaction standards, Java/ActiveX, UML, and
others. Subsequently, the potential value of CBPs can be assessed
independent of choices made in using or evolving other EC technologies.
Thus, CBPs merit consideration as a foundational software technology
for EC. (Presented at the 1998
Intern. Workshop on Component-Based Electronic Commerce,
Berkeley, CA, July 1998).
-
Comparative Case Analysis for Understanding Software Processes. This
paper provides an exploration of the analysis and use of comparative
case studies as an approach to understanding software processes in
complex organizational settings. Case studies are well suited to
capture and describe how software processes occur in real-world
settings, what kinds of problems emerge, how they are addressed, and
how software engineering tools, techniques, or concepts are employed.
The overall purpose of comparative case analysis is to discover and
highlight second- or higher-order phenomena or patterns that transcend
the analysis of an individual case. Comparative case analysis provides a
strategy that enables the development of more generalizable results and
testable theories than individual or disjoint case studies alone can
provide. This study incorporates an examination and review of four
empirical studies of processes involved in developing, using, or
evolving software systems that employ comparative case analyses.
Finally, a meta analysis of these four studies then highlights the
strengths and weaknesses of comparative case analyses when used to
empirically examine and understand software processes. (Draft for
review, 1998).
-
Modeling, Integrating, and Enacting Complex Organizational Processes,
or an html presentation version can be found here.
We describe our approach and mechanisms to support the engineering of
organizational processes throughout their life cycle. We describe our
current understanding of what activities are included in the process
life cycle. We then go on to describe our approach, computational
mechanisms, and experiences in supporting many of these life cycle
activities, as well as compare it to other related efforts. Along the
way, we present examples drawn from a current study aimed at modeling,
analyzing, and integrating an order fulfillment process in a product
development organization. (appears in K. Carley, L. Gasser, and M.
Prietula (eds.), Simulating Organizations: Computational Models of
Institutions and Groups, 153-168, MIT Press, 1998).
-
Process Life Cycle Engineering: A Knowledge-Based Approach and
Environment. (with P. Mi), We describe our approach and mechanisms to support
the engineering of organizational processes throughout their life
cycle. We describe our current understanding of what activities are
included in the process life cycle. We then go on to describe our
approach, computational mechanisms, and experiences in supporting many
of these life cycle activities, as well as compare it to other related
efforts. Along the way, we present examples drawn from a recent study
that uses the approach and the mechanisms of our knowledge-based
process engineering environment to support the (re)engineering of
corporate financial operations in a mid-size consumer products
organization. (NB : Contains 12 image files).(appears in Intelligent
Systems in Accounting, Finance, and Management , 6(1):83-107,
1997). In addition, an interactive presentation on this subject can be
found
here .
- Process-Driven
Intranets: Life Cycle Support for Process Reengineering. (with John Noll), In this
paper, we describe our approach and experience in a case study
focused on redesigning processes for research grant funds management at
the Office of Naval Research. We found that we could contribute to a
substantial reduction in process cycle time and operational costs
associated with the funding of thousands of research grant
procurement actions. Accordingly, we focus our discussion on topics
that underlie these results. This includes defining our approach
process design, the technology of process-driven intranets for
electronic commerce, our case study applying this approach and
technology at ONR, and a discussion of lessons learned. Along the way,
we identify challenges, issues, and possible solutions that
foreshadow the development of a new generation of intranet-based
networked information systems. (appears in IEEE Internet Computing,
1(5):42-49, 1997).
- Supporting
Distributed Configuration Management in Virtual Enterprises. (with John Noll), This
paper presents a semantic hypertext-based framework called DHT that
supports distributed software configuration management, provides
transparent access to heterogeneous, autonomous software repositories,
and enables an implementation strategy with low cost and effort. We
show how DHT solves the practical problems of sharing and updating
heterogenous multi-version software in a virtual enterprise of
distributed teams, integrating existing CM tools and environments,
executing CM processes to coordinate development activities across
wide-area networks. This is when the process model is represented as a
user navigable hypertext graph whose nodes associate process steps,
user roles, and associated tools with designated software product
versions and configurations. Furthermore, we show that this can
require the support for alternative policy models for the commitment of
software updates into local CM repositories. Overall, these
capabilities provide support for product-centered enactment of CM
policies and processes across a virtual enterprise of teams connected
via the Internet. (appears in R. Conradi (ed.), Software
Configuration Management , Lecture Notes in Computer Science, Vol.
1235, Springer-Verlag, New York, 142-160, 1997) .
-
(Re)Engineering Research Grants Management: From Acquisition Reform to
Knowledge Brokering at ONR. (with John Noll, Cedric Knight, Capt. J. F. Miller), In this paper, we briefly describe our
approach and experience in a research effort focused on (re)engineering
the activity of research grants management at the Office of Naval
Research. We found that we could contribute to a substantial reduction
in process cycle time and operational costs associated with the funding
of thousands of research grant procurement actions. Accordingly, we
focus our discussion on topics that underlie these results. We also
observe that knowledge brokering is an area where a new R&D
initiative could lead to more effective and efficient research funding
and research program management, as well as serve the mutual
self-interests of the Federal research funding agency and researcher
communities. (presented at NSF Workshop on Research and Development
Opportunities for Federal Information Services, Arlington, VA, http://www.isi.edu/nsf, May 1997).
-
Simulation and Modeling for Software Acquisition (SAMSA). (with Barry Boehm), In this
extended final report, we describe the results from a series of
workshops and contributions from a Blue Ribbon Panel of government,
industry, and academic experts addressing alternative approaches to the
acquisition of large software systems. The results focus attention on
redesigning the process of software acquisition around the use of (a)
a knowledge-based Feasibility Analysis Modeling system to assist
assessing the costs, risks, and technical feasibility of a new software
system to be acquired; (b) research on software architectures to help
better characterize whether proposed system requirements can be
satisfied by a given system architecture; and (c) the overall
integration of simulation and modeling technologies to support a new
approach to the "virtual information systems acquisition" (VISTA). Other
reports from the workshops can be accessed through links within this
report. (Final Report, March 1996).
-
A knowledge-based environment for modeling and simulating software
engineering processes. (with P. Mi), In this paper, we describe the design and
representation schemes used in constructing a prototype computational
environment for modeling and simulating multi-agent software
engineering processes. We refer to this environment as the
Articulator. We provide an overview of the Articulator's architecture
which identifies five principal components. Three of these components,
the knowledge meta-model, the software process behavior simulator, and a
knowledge base querying mechanism are detailed and examples are
included. The conclusion reiterates what is novel to this approach in
applying knowledge engineering techniques to the problems of
understanding the statics and dynamics of complex software engineering
processes. (appears in IEEE Trans. Data and Knowledge Engineering,
2(3):283-294, September 1990. Reprinted in Nikkei Artificial
Intelligence, 20(1):176-191, January 1991, (in Japanese). Reprinted
in Process-Centered Software Engineering Environments, P.K.
Garg and M. Jazayeri (eds.), IEEE Computer Society, 119-130, 1996).
-
A Meta-Model for Formulating Knowledge-Based Models of Software
Development.(with P. Mi), In this paper, we introduce a knowledge-based
meta-model which serves as a unified resource model for
integrating characteristics of major types of objects appearing in
software development models (SDMs). The URM consists of a taxonomy of resource
classes and a web of relations that link different types of
resources found in different kinds of models of software development.
The URM includes specialized models for software systems, documents,
agents, tools, and development processes. The URM has served as the
basis for integrating and interoperating a number of process-centered
CASE environments. The major benefit of the URM is twofold: First, it
forms a higher level of abstraction supporting SDM formulation that
subsumes many typical models of software development objects. Hence,
it enables a higher level of reusability for existing support
mechanisms of these models. Second, it provides a basis to support
complex reasoning mechanisms that address issues across different
types of software objects. To explore these features, we describe the
URM both formally and with a detailed example, followed by a
characterization of the process of SDM composition, and then by a
characterization of the life cycle of activities involved in an overall
model formulation process. (appears in Decision Support Systems,
17(4):313-330, 1996).
-
The SMART Approach to Software Process Engineering. (with P. Garg, P. Mi, and G. Thunquest), In this paper,
we describe a methodology for software process engineering and an
environment, SMART, that supports it. SMART supports a process
life-cycle that includes the modeling, analysis, and execution of
software processes. SMART's process monitoring capabilities can be
used to provide feedback from process execution to the process model.
SMART represents the integration of three separately developed process
mechanisms, and it uses two modeling formalisms (object-oriented
data representation and imperative-style programming language) to
bridge the gap between process modeling, analysis, and execution.
SMART demonstrates the meta-environment concept, using a process
modeling formalism as input specification to a generator that
produces Process-Centered Software Engineering Environments (PSEEs).
Furthermore, SMART supports a team-oriented approach for process
modeling, analysis, and execution. (appears in, Proc. 16th. Intern. Conf. Software Engineering, IEEE Computer
Society, Sorrento, Italy, pp. 341-350, May 1994. Reprinted in Process-Centered
Software Engineering Environments, P.K. Garg and M. Jazayeri
(eds.), IEEE Computer Society, pp. 131-140, 1996).
-
Understanding the Requirements for Information System Documentation: An
Empirical Investigation.(with A. Jazzar), Software and Information Systems (IS)
documents are a common product of large IS development efforts. These
documents are produced and consumed through a variety of documentation
processes. These processes involve developers and users working
within complex organizational settings, as well as with the focal
system under development. These organizational settings facilitate
and constrain IS documentation and development efforts in complicated
ways. Accordingly, we present, analyze, and compare cases from field
studies of three different IS development efforts in a large industrial
corporation. Based on these studies, we identify a new set of variables
and hypotheses that we believe represent a more plausible set of
requirements for IS documentation products and processes in different
organizational settings. In this regard, we utilize the concept of
viewing IS documentation requirements as hypotheses to be tested,
refined, or refuted. (appears in Proc. 1995 ACM Conf.
Organizational Computing Systems, San Jose, CA, 268-279, August
1995).
-
Understanding Software Productivity. What affects software
productivity and how do we improve it? This report examines the current
state of the art in software productivity measurement. In turn, it
describes a framework for understanding software productivity, some
fundamentals of measurement, surveys empirical studies of software
productivity, and identifies challenges involved in measuring software
productivity. A radical alternative to current approaches is suggested:
to construct, evaluate, deploy, and evolve a knowledge-based
"software productivity modeling and simulation system" using tools and
techniques from the domain of software process engineering. (appears
in Intern. J. Software Engineering and Knowledge Engineering,
1(3):293-321, 1991. Revised and reprinted in Advances in
Software Engineering and Knowledge Engineering , D. Hurley
(ed.), Volume 4, 37-70, 1995).
- Meta-Environments
for Software Production. (with A. Karrer), Researchers who create software production
environments face considerable problems. Software production
environments are large systems that are costly to develop. Furthermore,
software production environments which support particular software
engineering methods may not be applicable to a large number of
software production projects. These conditions have formed a trend
towards research into ways which will lessen the cost of developing
software production environments. In particular, the trend has been
towards the construction of meta-environments from which specific
software production environments can be created. In this paper, we
attempt to categorize more than 60 meta-environment efforts. For each of
the categories, we review research efforts which illustrate different
approaches within that category. We conclude by presenting an emerging
common thread of requirements which links this field together. (appears
in Intern. J. Soft. Engr. and Know. Engr. , 3(2):139-162, May
1993. Revised and reprinted in Advances in Software Engineering
and Knowledge Engineering , D. Hurley (ed.), Volume 4, 37-70,
1995).
-
The Emergence of Electronic Commerce on the Internet, also available
in HTML
here, or for an interactive presentation version with some
interesting WWW links, try here
.). In this article, three questions are addressed. First, what is the
Internet and what are its implications for modern businesses or
strategic planners? Second, what are the current opportunities for
using the Internet in different business activities? Third, what
research is being persued in the USC School of Business Administration
that can help better answer the preceding two questions? (appears in USC
Business, 5:32-36, Fall 1994).
-
A Hypertext System for Integrating Heterogeneous Autonomous Software
Repositories. (with J. Noll), Hypertext is a simple concept for organizing
information into a graph structure of linked container objects. This
paper examines issues involved in applying hypertext concepts to the
integration of heterogeneous, autonomous software repositories, and
presents a solution called the Distributed Hypertext System (DHT). Based
on a hypertext data model and client-server architecture, DHT
features powerful modeling capabilities, integration of heterogeneous,
pre-existing repositories, update with concurrency control, and full
local autonomy. (appears in Proc. 4th. Irvine Software Symposium,
University of California, Irvine, CA, 49-60, April, 1994)
-
Process Integration in CASE Environments.(with P. Mi), Integrated CASE
Environments (CASEEs) have been focused on tool and object integration.
In this paper, we present a new type of integration called process
integration as a strategy for creating process-centered CASEEs. We
argue that the major benefits of process integration to software
development include explicit process guidance and improved project
management. We also present a few key components to implement process
integration which form the backbone of a process-centered CASEE. These
components include software process models, a process enactment
mechanism, a developer's interface and a process manager's interface.
Furthermore, our strategy implements process integration by merging
these key components with existing CASEEs and creates
process-centered CASEEs with reasonable effort. To exemplify this
strategy, we have migrated an operational CASEE, the SOFTMAN
environment, into a process-centered CASEE. (appears in IEEE
Software,9(2):45-53, 1992. Reprinted in E. Chikoski (ed.), Computer-Aided
Software Engineering (2nd. Edition), IEEE Computer Society Press,
1993).
-
Articulation: An Integrated Approach to the Diagnosis, Replanning, and
Rescheduling of Software Process Failures. (with P. Mi), This paper presents an
integrated approach for how to articulate software engineering
process plans that fail. The approach, called articulation, repairs a
plan when a diagnosed failure occurs and reschedules changes that
ensure the plan's continuation. In implementing articulation, we
combine knowledge-based diagnosis, replanning, and rescheduling into a
powerful mechanism supporting process-based software development. Use of
articulation in plan execution supports recovery and repair of
unanticipated failures, as well as revising and improving process plans
to become more effective. In this paper, we also describe how a
prototype knowledge-based system we developed implements this approach
to articulation. (appears in Proc. 8th. Knowledge-Based Software
Engineering Conference , Chicago, IL, IEEE Computer Society, 77-85,
September 1993).
-
A Knowledge-Based Software Process Library for Process-Driven Software
Development. (with P. Mi and S. Li), Process-driven software development represents a
technique for software production, in which a conceptual knowledge
representation. called a software process, is used to represent and
guide development activities. Management and reuse of software
processes therefore becomes a requirement for process-driven software
development. In this paper, we present a knowledge-based process
library (SPLib) that supports the organization, access and reuse of
software processes. SPLib consists of a knowledge base of software
process representations. It also provides a set of process operations
that support browsing, searching composition and abstraction. These
operations reason about the content of software processes as well as
maintain proper interdependency relationships among the software
processes. To demonstrate the use of SPLib in process-driven software
development, we provide a usage scenario where SPLib facilitates the
access and reuse of software processes in real applications. (appears
in Proc. 7th. Knowledge-Based Software Engineering Conf. ,
Washington, DC, IEEE Computer Society, 122-131, September 1992).
-
Integrating Diverse Information Repositories: A Distributed Hypertext
Approach. (with J. Noll), Today's networked information systems and software
engineering environment is characterized by a multitude of
autonomous, heterogeneous information repositories, a variety of
incompatible user interfaces, diverse, unconventional data types,
including text, graphics, and possibly video and sound, rapid change,
both in structure and content, and multiple ways of viewing
relationships among the same information items. Existing information
storage mechanisms fail to combine diverse data types/models, complex
objects and storage structures, personal views and organizations of
shared objects, access to distributed, heterogeneous repositories, and
ease of evolution. This paper examines these issues and describes a
Distributed Hypertext (DHT) architecture that provides transparent
access to autonomous, heterogeneous software object repositories,
resulting in both a powerful organizational tool and a simple yet
effective integration mechanism. (appears in Computer,
24(12):38-45, December 1991).
-
Modeling Articulation Work in Software Engineering Processes.(with P. Mi),
Current software process modeling techniques do not generally support
articulation work. Articulation work includes the diagnosis, recovery,
and resumption of development activities unexpectedly fail. It is an
integral part of software process enactment since software processes
can sometimes fail or breakdown. This paper presents a
knowledge-based model of articulation work in software engineering
processes. It uses empirically grounded heuristics to address three
problems in articulation work: diagnosing failed development activities,
determining appropriate recovery, and resuming software process
enactment, We first investigate the role and importance of
articulation work with respect to planned software development
activities. We then outline a knowledge-based model of articulation
work. The model has been implemented in a knowledge-based software
process modeling environment called the Articulator. Combining
available software process modeling techniques and the model for
articulation leads to a better foundation for process improvement and
evolution. appears in Proc. 1st. Intern. Conf. Soft. Processes,
IEEE Computer Society, Redondo Beach, CA, pp. 188-201, October
1991.
-
The Software Infrastructure for a Distributed Software Factory.
This paper
presents an innovative approach to the construction, application and
deployment of software factories. Based on experience in creating and
evolving the System Factory project at USC, the authors present a new
experimental project called Distributed System Factory (DSF) project.
The DSF project is intended to provide a software infrastructure
suitable for engineering large-scale software systems with dispersed
teams working over wide-area networks. This software infrastructure is
the central focus of the author. As such, he describes the information
structures that can be used to model and create the infrastructure, as
well as target software applications. He also describes an electronic
market-place of logically centralised software services which populate
and execute within this infrastructure. A brief view of how the DSF
project can grow to accommodate academic and industrial research groups
is also given. (appears in the Software
Engineering Journal, 6(5), 355-369, September 1991).
- A
Hypertext System to Manage Software Life-Cycle Documents. (with P. Garg),
The
Documents Integration Facility, an environment based on objects and
relationships between objects that was constructed for the
development, use, and maintenance of large-scale systems and their
life-cycle documents, is presented. DIF helps integrate and manage the
documents produced and used throughout the life cycle: requirements
specifications, functional specifications, architectural designs
(structural specifications), detailed designs, source code, testing
information, and user and maintenance manuals. DIF supports
information management in large systems where there is much
natural-language text. The documentation method used by DIF and DIF's
structure are described. How DIF is used is discussed, and the DIF
environment is examined. Issues that were encountered in the design of
DIF are considered. (appears in IEEE Software , 7(3), 90-89,
May 1990).
-
ISHYS: Designing and Intelligent Software Hypertext System. (with P. Garg), This
paper
describes the design of ISHYS, an intelligent software
hypertext system, and discuss novel applications that such a system
can support. In designing ISHYS, they sought to support the software
life cycle from a 'web of computing' framework, which necessarily
requires the consideration of sociotechnical factors influencing and
influenced by the software life cycle. ISHYS supports functionalities
that include influencing work interactions on the basis of social
interactions and determining tools and their options on the basis of
project status information. Implementation of required enhancements to
DIF (documents integration facility), the authors' current software
hypertext system, has been completed using Prolog, C, and X Windows.
(appears in IEEE Intelligent Systems, 4(3), 52-63, Fall 1989).
-
On the Power of Domain-Specific Hypertext Environments. What is the
potential power of hypertext technology? This article examines this
question and outlines the answer by focussing attention to a
domaim-specific view of hypertext environments. I first define what
domain-specific hypertext environments (DSHE) represent. Next, I examine
DSHE for the domains of encyclopedic and classical studies, creative
writing and interactive fiction, journal and book publishing, insurance
policy management, and computer-aided software engineering. Then I
describe in more detail the structure of information to evolve within
a DSHE for software engineering in terms of document products,
processing tasks and mechanisms, and workplace attributes. In turn,
this examination provides the basis for identifying seven dimensions
along which the power of DSHE can be defined, experienced, and
accumulated. I also address the organizational costs that may be borne
to realize this power. I conclude with observations as to the source
of DSHE power as well as identifying topics for further
investigation. (appears in Journal American Society Information
Science, 40(3):183-191, May, 1989).
-
Work Structures and Shifts: An Empirical Analysis of Software
Specification Teamwork.(with S. Bendifallah),
The study and support of teamwork in
upstream software development activities (e.g., specification,
design) have been approached from a variety of perspectives. Those
which address aspects of the division of labor typically focus on
authority or communication structures. In this paper, we examine how
teams of engineers develop software specifications, from a perspective
emphasizing the division of labor in terms of the work structures
themselves. We present a new typology of work structures and report on
an empirical investigation of these work structures. We examine the
teamwork process followed by each of five comparable teams of
specification developers. The teams worked over a ten-day period with
state-of-the- art specification resources to deliver functional
specification documents meeting prescribed quality standards. Our data
and analysis show the recurrence of various kinds of shifts in the
teams' work structures. We discuss the resulting patterns of work
structures and shifts and their implications. In particular, separative
work structures were associated with improved specification teamwork
efficiency, whereas integrative work structures were associated with
improved specification product quality. (appears in Proc.
11th. Intern. Conf. Software Engineering , Pittsburgh, PA, ACM and
IEEE Computer Society, 260-270, May 1989).
- Understanding Software Maintenance Work. (with S. Bendifallah), Software maintenance can be successfully accomplished if the computing
arrangements of the people doing the maintenance are compatible with
their established patterns of work in the setting. To foster and
achieve such compatibility requires an understanding of the reasons and
the circumstances in which participants carry out maintenance
activities. In particular, it requires an understanding of how software
users and maintainers act toward the changing circumstances and
unexpected events in their work situation that give rise to software
system alterations. To contribute to such an understanding, we describe
a comparative analysis of the work involved in maintaining and evolving
text-processing systems in two academic computer science organizations.
This analysis shows that how and why software systems are maintained
depends on occupational and workplace contingencies, and vice versa. IEEE Trans. Software Engineering, SE-13(3), 311-323, 1987.
- Maintaining Configurations of Evolving Software Systems. (with K. Narayanaswamy), Software configuration management ( SCM) is an emerging discipline. An
important aspect of realizing SCM is the task of maintaining the
configurations of evolving software systems. In this paper, we provide
an approach to resolving some of the conceptual and technical problems
in maintaining configurations of evolving software systems. The
approach provides a formal basis for existing notions of system
architecture. The formal properties of this view of configurations
provide the underpinnings for a rigorous notion of system integrity,
and mechanisms to control the evolution of configurations. This
approach is embodied in a language, NuMIL, to describe software system
configurations, and a prototype environment to maintain software system
configurations. We believe that the approach and the prototype
environment offer a firm base to maintain software system
configurations and, therefore, to implement SCM. IEEE Trans. Software Engineering, SE-13(3), 324-334, 1987.
Contact Information
- Walt Scacchi
(previously Director of the USC ATRIUM lab )
- Institute for Software Research
- Information and Computer Science Dept.
- University of California, Irvine, CA 92697-3455 USA
- PHONE: +1-949-824-4130
- FAX: +1-949-824-1715
- EMAIL: wscacchi <<@>> ics (.) uci [.] edu