![]()
Technical Reports
![]()
|
USC-CSE-2004-519PDF
In this article, we show how you can use the MBASE process framework to generate a family of acquisition process models for delivering user-satisfactory systems under schedule, cost, and quality constraints. We present the six major steps of the Schedule/Cost/Schedule-Cost-Quality as Independent Variable (SAIV/CAIV/SCQAIV) process using SAIV and a representative Department of Defense (DoD) Command, Control, and Communications Interoperability application as context. We then summarize our experience in using SAIV on 26 University of Southern California electronic services projects, followed by discussions of SAIV/CAIV/SCQAIV application in the commercial and defense sectors, of model application within the DoD acquisition framework, and of the resulting conclusions. Proceedings, INCOSE 2004, July 2004 Added: Nov. 14, 2005 USC-CSE-2004-518PDF Using empirical testbeds to accelerate technology maturity and transition: the SCRover experience
This paper is an experience report on a first attempt to develop and apply a new form of software: a full-service empirical testbed designed to evaluate alternative software dependability technologies, and to accelerate their maturation and transition into project use. The SCRover testbed includes not only the specifications, code, and hardware of a public safety robot, but also the package of instrumentation, scenario drivers, seeded defects, experimentation guidelines, and comparative effort and defect data needed to facilitate technology evaluation experiments. The SCRover testbed's initial operational capability has been recently applied to empirically evaluate two architecture definition languages (ADLs) and toolsets, Mae and AcmeStudio. The testbed evaluation showed (1) that the ADL-based toolsets were complementary and cost-effective to apply to mission-critical systems; (2) that the testbed was cost-effective to use by researchers; and (3) that collaboration in testbed use by researchers and the Jet Propulsion Laboratory (JPL) project users resulted in actions to accelerate technology maturity and transition into project use. The evaluation also identified a number of lessons learned for improving the SCRover testbed, and for development and application of future technology evaluation testbeds. Empirical Software Engineering, 2004. ISESE '04. Proceedings. 2004 International Symposium on Added: Nov. 14, 2005 USC-CSE-2004-517PDF A software product line life cycle cost estimation model
Most software product line cost estimation models are calibrated only to local product line data rather than to a broad range of product lines. They also underestimate the return on investment for product lines by focusing only on development vs. life-cycle savings, and by applying writing-for-reuse surcharges to the entire product rather that to the portions of the product being reused. This paper offers some insights based on the exploratory development and collaborative refinement of a software product line life cycle economics model, the Constructive Product Line Investment Model (COPLIMO) that addresses these shortfalls. COPLIMO consists of two components: a product line development cost model and an annualized post-development life cycle extension. It focuses on modeling the portions of the software that involve product-specific newly-built software, fully reused black-box product line components, and product line components that are reused with adaptation. This model is an extension built upon USC-CSE's well-calibrated, multi-parameter Constructive Cost Model (COCOMO) II, tailored down to cover the essentials of strategic software product line decision issues and available supporting data from industries. Empirical Software Engineering, 2004. ISESE '04. Proceedings. 2004 International Symposium on Added: Nov. 14, 2005
USC-CSE-2004-516PDF COTS-Based Systems – Twelve Lessons Learned about Maintenance
Donald J. Reifer, Victor R. Basili, Brry W. Boehm, and Betsy Clark This paper presents the twelve most significant lessons the CeBASE community has learned across a wide variety of projects, domains, and organizations about COTS-Based Systems (CBS) maintenance. Because many of the lessons identified are not intuitive, the source and implications of the lesson are discussed as well within the context of maintenance model for CBS. ICCBSS 2004 Added: Nov. 14, 2005
USC-CSE-2004-515PDF Spiral Acquisition of Software-Intensive Systems of Systems Dr. Barry Boehm, A. Winsor Brown, Dr. Victor Basili, Dr. Richard Turner The Department of Defense and other organizations are finding that the acquisition and evolution of complex systems of systems is both software-intensive and fraught with old and new sources of risk. This article summarizes both old and new sources of risk encountered in acquiring and developing complex software-intensive systems of systems. It shows how these risks can be addressed via risk analysis, risk management planning and control, and application of the risk-driven Win-Win Spiral Model. It will also discuss techniques for handling complicating factors such as compound risks, incremental development, and rapid change, and illustrates the use of principles and practices with experience in applying the model to the U.S. Army Future Combat Systems program and similar programs. CrossTalk May 2004 Added: Nov. 14, 2005 USC-CSE-2004-514 PDF The ROI of software dependability: The iDAVE model Boehm, B. Huang, L. Jain, A. Madachy, R. In most organizations, proposed investments in software dependability compete for limited resources with proposed investments in software and system functionality, response time, adaptability, speed of development, ease of use, and other system capabilities. The lack of good return-on-investment models for software dependability makes determining the overall business case for dependability investments difficult. So, with a weak business case, investments in software dependability and the resulting system dependability are frequently inadequate. Dependability models will need to support stakeholders in determining their desired levels for each dependability attribute and estimating the cost, value, and ROI for achieving those. At the University of Southern California, researchers have developed software cost- and quality-estimation models and value-based software engineering processes, methods, and tools. We used these models and the value-based approach to develop an Information Dependability Attribute Value Estimation model (iDAVE) for reasoning about software dependability's ROI. Software, IEEE Added: Nov. 14, 2005
USC-CSE-2004-513
PDF ARTISAn:
An Approach and Tool for Improving Software System Understanding via
Interactive, Tailorable Source Code Analysis Vladimir Jakobac, Alexander Egyed, and Nenad Medvidovic In
situations in which developers are not familiar with a system or its
documentation is inadequate, the system's source code becomes the only
reliable source of information. Unfortunately, source code has much more
detail than is needed to understand the system, and it disperses or obscures
high-level constructs that would ease the system’s understanding.
Automated tools can aid system
understanding by identifying recurring program features, classifying
the system modules based on their purpose and usage patterns, and analyzing
dependencies across the modules. This paper presents an iterative,
user-guided approach to program understanding based on a framework for
analyzing and visualizing software systems. The framework is built around a
pluggable and extensible set of clues about a given problem domain, execution
environment, and/or programming language. We evaluate our approach by
providing the analysis of our tool’s results obtained from several case
studies. USC-CSE-2004-512 PDF Unlocking the Grid Chris
A. Mattmann, Nenad Medvidovic, Paul Ramirez, and Vladimir Jakobac The grid has emerged as a novel paradigm
that supports seamless cooperation of distributed, heterogeneous computing
resources in addressing highly complex computing and data management tasks. A
number of software technologies have emerged to enable “grid computing”.
However, their exact nature, underlying principles, requirements, and
architecture are still not fully understood and remain under-specified. In
this paper, we present the results of a study whose goal was to try to
identify the key underlying requirements and shared architectural traits of
grid technologies. We then used these requirements and architecture in
assessing five existing, representative grid technologies. Our studies show a
fair amount of deviation by the individual technologies from the widely cited
baseline grid architecture. Our studies also suggest a core set of critical
requirements that must be satisfied by grid technologies, and highlight a key
distinction between “computational” and “data” grids
in terms of the identified requirements. Document characteristics: added: December 11, 2004 USC-CSE-2004-511 PDF An Empirical Study of eServices Product UML Sizing Metrics Yue
Chen, Barry W. Boehm, Ray Madachy, Ricardo Valerdi Size is one of the most fundamental
measurements of software. For the past two decades, the source line of code
(SLOC) and function point (FP) metrics have been dominating software sizing
approaches. However both approaches have significant defects. For example,
SLOCcan only be counted when the software construction is complete, while the
FP counting is time consuming, expensive, and subjective. In the late 1990s
researchers have been exploring faster, cheaper, and more effective sizing
methods, such as Unified Modeling Language (UML) based software sizing. In
this paper we present an empirical 14-project-study of three different sizing
metrics which cover different software life-cycle activities: requirement
metrics (requirement), UML metrics (architecture), and SLOC metrics
(implementation). Our results show that the software size in terms of SLOC
was moderately well correlated with the number of external use cases and the
number of classes. We also demonstrate that the number of sequence diagram
steps per external use case is a possible complexity indicator of software
size. However, we conclude that at least for this 14-project eServices
applications sample, the UML-based metrics were insufficiently well-defined
and codified to serve as precise sizing metrics. Document characteristics: ACM-IEEE International Symposium
on Empirical Software Engineering (ISESE), August, 2004 added: November 15, 2004 USC-CSE-2004-510 PDF SMART: A Small
World based Reputation System for MANETs Vishal Sankhla We propose SMART, a novel reputation
system that aggregates and distributes current reputation of nodes in the
network. Trust is evaluated in terms of number of successful interactions an
entity performs with other entities; once initial trust is established an
entity can trust its neighbors with certain degree of confidence. These
neighbors help to establish a short chain of mutually trusted entities in the
network known as “trusted contacts”. Each node has to be consistent
in providing good service else it is penalized. We aim at providing inherent
incentive for nodes to cooperate. The nodes are rewarded by benefiting in
terms of packet forwarding and receiving quality service from this trusted
community. A node can evaluate trust based on its own direct observation of
peer nodes behavior or based on Neighbor observations. Document characteristics: A Thesis In Partial Fulfillment
of the Requirements for the Master of Science Degree in Electrical
Engineering, USC. added: November 6, 2004 USC-CSE-2004-509 PDF GLIDE: A Grid-based Lightweight
Infrastructure for Data-intensive Environments Chris Mattmann, Sam Malek, Nels Beckman,
Marija Mikic-Rakic, Neno Medvidovic, Dan Crichton The promise of the grid is that it will
enable public access and sharing of immense amounts of computational and data
resources among a large number of individuals and institutions. However, the
current grid solutions make several limiting assumptions that curtail their
widespread adoption in the emerging decentralized, resource constrained,
embedded, autonomic, and mobile (DREAM) environments: they are designed
primarily for highly complex scientific problems, and therefore require
powerful hardware and reliable network connectivity; additionally, they
provide no application design support to grid users (e.g., scientists). To
address these limitations, we present GLIDE, a prototype light-weight,
data-intensive middleware infrastructure that enables access to the robust
data and computational power of the grid on DREAM platforms. GLIDE embodies a
number of features of an existing data grid solution within the framework of
an existing DREAM middleware solution with extensive application design
capabilities. We illustrate GLIDE on an example mp3 file sharing application.
We discuss our early experience with GLIDE and present a set of open research
questions.
added: August 2, 2004 USC-CSE-2004-508 PDF A Style-Aware Architectural Middleware
for Resource-Constrained, Distributed Systems
Marija
Mikic-Rakic, Sam Malek, Nenad Medvidovic A recent emergence of small,
resource-constrained, and highly-mobile computing platforms presents numerous
new challenges for software developers. We refer to development in this new
setting as programming-inthe-small-and-many (Prism). This paper provides a
description and evaluation of Prism-MW, a middleware platform intended to
support software architecture-based development in the Prism setting.
Prism-MW provides highly efficient and scalable implementation-level support
for the key aspects of Prism application architectures, including their
architectural styles. Additionally, Prism-MW is easily extensible to support
different application requirements suitable for the Prism setting. Prism-MW
has been applied in a number of applications and used as an educational tool
in graduatelevel software architecture and embedded systems courses.
Recently, Prism-MW has been successfully evaluated by a major industrial
organization for use in one of their key distributed embedded systems. Our
experience with the middleware indicates that the principles of
architecture-based software development can be successfully, and flexibly,
applied in the Prism setting.
added: June 24, 2004 USC-CSE-2004-507 PDF A Comparison and Evaluation of Architecture Recovery in Data-Intensive Systems using Focus Chris
Mattmann and Paul Ramirez Architecture recovery is an emerging practice in which the architecture of a software system is extracted from relevant available information including source code, documentation and observations of system’s runtime behavior. Typically architecture recovery has been performed on statically linked software systems which have well-defined architectural configurations (arrangements of software components and software connectors). Recently, dynamically linked software applications which rely on middleware implementation facilities have become critical to facilitate source code reuse, dynamic binding and system heterogeneity. Data-Intensive software systems rely heavily on middleware implementation facilities for the aforementioned properties. These systems are becoming an important research area as data-volumes approach the near petabyte scale and little or no reuse of architecture, design or code exists at this point in time. Our study centers on the architectural recovery of two such data-intensive software systems, OODT and the Globus Toolkit using the Focus architecture recovery approach. We present our recovered architectures, provide insight with regards to architecture recovery of middleware systems and finally we conclude by evaluating the architecture recovery method itself. Further, our work can be used to drive architecture recovery in the data-intensive system domain.
added: May 13, 2004 USC-CSE-2004-506 PDF A Decentralized Redeployment Algorithm for Improving the Availability of Distributed Systems Sam Malek, Marija Mikic-Rakic, Nenad Medvidovic In distributed and mobile environments, the
connections among the hosts on which a software system is running are often
unstable. As a result of connectivity losses, the overall availability of the
system decreases. The distribution of software components onto hardware nodes
(i.e., the system’s deployment architecture) may be ill-suited for the
given target hardware environment and may need to be altered to improve the
software system’s availability. Determining a software system’s
deployment that will maximize its availability is an exponentially complex
problem. Although several polynomial-time approximative techniques have been
developed recently, these techniques rely on the assumption that the
system’s deployment architecture and its properties are accessible from
a central location. For these reasons, the existing techniques are not
applicable to an emerging class of decentralized systems marked by the
limited system wide knowledge and lack of centralized control. In this paper
we present an approximative solution for the redeployment problem that is
suitable for decentralized systems and asses its performance.
added: March 8, 2004 USC-CSE-2004-505 PDF Style-Based Software
Architectural Compositions as Domain-Specific Models Nikunj R. Mehta, Soma R., and Nenad Medvidovic
Architectural styles represent
composition patterns and constraints at the software architectural level and
are targeted at families of systems with shared characteristics. While both
style-specific and style-neutral modeling environments for software
architectures exist, creation of such environments is expensive and
frequently involves reinventing the wheel. This paper describes the rapid
design of a style-neutral architectural modeling environment, ViSAC. ViSAC is
a domain-specific modeling environment obtained by configuring Modeling Environment (GME) for
Alfa, a framework for constructing style-based software architectures from
architectural primitives. Users can define their own styles in ViSAC and, in
turn, use them to design software architectures. Moreover, ViSAC supports the
hierarchical design of heterogeneous software architectures, i.e., using
multiple styles. The rich user interface of GME and support for
domain-specific semantics enable interactive design of well-formed styles and
architectures.
added: March 9, 2004 USC-CSE-2004-504 PDF Checking Style
Conform Nikunj R. Mehta, and
|
![]()
|
|
![]()
Copyright 1995, 1996, 1997, 1998, 1999 The University of Southern California
The written material, text, graphics, and software available on this page and all related pages may be copied, used, and distributed freely as long as the University of Southern California as the source of the material, text, graphics or software is always clearly indicated and such acknowledgement always accompanies any reuse or redistribution of the material, text, graphics or software; also permission to use the material, text, graphics or software on these pages does not include the right to repackage the material, text, graphics or software in any form or manner and then claim exclusive proprietary ownership of it as part of a commercial offering of services or as part of a commercially offered product.