|
|
|
USC-CSSE
Research Areas:
Models, Model Integration, and Empirical Methods
|
|
Models and Model Integration |
|
Software is an invisible product. This is one of the main reasons that it is hard to design, develop,
and integrate.
To help ourselves visualize software and the process of developing it, we frequently use models. The most frequently used models
are: |
| |
Process models:
where the software
project should be going and is going (waterfall, incremental,
spiral). |
| |
Product models: what the product should
be doing and how it should be and is constructed (requirements,
architecture, design). |
| |
Property models:
how well the process
and the product should be and is performing in various dimensions
(cost, schedule, response time, dependability, usability). |
| |
Success models: what will distinguish
a successful project from a failed project. Success models
vary by project stakeholder. They may manifest themselves
as process, product, or property models, or as more general
models (balanced scorecard, stakeholder win-win, business
case). |
Models help us focus, visualize, and reason
by abstracting away parts of the overall software situation
and by making simplifying assumptions. These assumptions
are often unstated or hidden. They are also often in conflict
with each other. We call such situations model clashes.
They are a major source of project frustrations, rework,
overruns, and rejected products.
Below we identify our major research activities in developing,
experimenting with, refining, and integrating these software
models. Each activity has a key person or persons, and
a title that you can click on to find out more about it.
The description will summarize the activity's objectives,
approach, results to date, and future plans, with links
to more detailed information.
|
|
Process Models |
| |
ICM - Barry Boehm, Jo Ann Lane
LeanMBASE - Suppanika Koolmanojwong
Value Based
processes: VBSE -Apurva Jain
Processes for COTS-based systems - Ye Yang, Jesal
Bhuta
Agile methods - Monvorath Phongpaibul, Dan Ingold
Continuous process models - Ray Madachy
|
|
Product Models |
| |
Requirements:formalizing
informal rqts. - Hasan Kitapci
Architecture:
Alfa,
DRADEL,
Focus , Mae, Prism
- Nikunj Mehta, Vladimir Jakobac, Roshanak Roshandel, Marija
Mikic-Rakic
|
|
Property Models |
| |
Software
cost and schedule: COCOMO
II , COCOTS
, CORADMO
, COPROMO
, COPLIMO, COSYSMO
- Ricardo Valerdi, Ye Yang
COSOSIMO - Jo Ann Lane
Software dependability - LiGuo Huang
Costing Software security - Ed Colbert, Danni Wu, Yue Chen
Value, ROI models - LiGuo Huang
System Engineering cost and schedule - Ricardo Valerdi
Software sizing - Yue Chen
Security Economics, COTS Security - Yue Chen |
|
Success Models |
| |
Stakeholder win-win - Hasan Kitapci
Stakeholder value modeling - Apurva Jain, LiGuo Huang
|
|
Model Integration |
| |
Model
clash identification and analysis - Mohammed Al-Said
MBASE and CeBASE methods - Apurva Jain |
|
Empirical Methods |
| |
While we perform research to improve the classes of models
above and their integration, we also perform research to
improve the empirical methods we use in our modeling research.
For example, we have developed a seven-step parametric
modeling methodology that we apply to all of our predictive
parametric property models.
We have been performing this research in collaboration
with the Center for Empirically-Based Software Engineering
(CeBASE), which we co-lead with Prof. Victor Basili and
the University of Maryland's Fraunhofer Center-Maryland.
For further CeBASE information and results, see http://www.cebase.org.
We apply and extend the empirical methods across
a wide variety of applications, from our extensively-instrumented
annual series of over 20 USC campus and other e-services
applications; through our commercial and industrial Affiliates'
applications; to major government systems such as the US
Army/DARPA Future Combat Systems, JPL's interplanetary missions,
and the FAA's air traffic control systems.
Two particular areas besides modeling that
we have been emphasizing are "testbeds" for experimentation
and experience bases. Testbeds are organized collections
of artifacts that support comparative evaluation of alternative
technologies. They include not just code and specifications,
but also instrumentation; usage scenario drivers; seeded
defects; experimental guidelines; and comparative data on
development effort, schedule, defect introduction and defect
removal. Our current testbeds include the USC campus e-services
projects and the SCRover public safety robot, representative
of NASA planetary exploration robots. Experience bases
capture data, metadata, and best practices for performing
software engineering functions in ways that can be used
for empirical research, project decision-making, and project
support. |
|
Testbeds |
| |
SCRover robot - Alex Lam, Steve Meyers, Eric Gradman,
LiGuo Huang
e-Services projects - Scott Chen |
|
Experience Bases |
| |
High Dependability Computing - Gustavo Perez, Keun
Lee
e-Services artifacts and data - Scott Chen, Gustavo
Perez |
|
|
|