University of Southern California
    
Home   Contact Us    
Center for Systems and Software Engineering

About us
News
History
People
Events
Upcoming
Highlights
Past
Publication
Tech. Report
TR by Author
Research
Projects
Tools
Courses
Education
Degrees
Admissions
Affiliates
List of Affiliates
Private Area
Other Resources

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
Agile COCOMO® II

 

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