Home Contact us Site Map
CSE Home Page
Center for Software Engineering USC Home Page

About us
News
History
People
Events
Upcoming
LA Spin
Past
Publications
Tech. Report
Research
Projects
Tools
Courses
Education
Degrees
Admissions
Affiliates
General
Private
Other Resources

USC-CSE 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, that help visualize and reason about where the software project should be going and is going (waterfall, incremental, spiral).

 

Product models, that help visualize and reason about what the product should be doing and how it should be and is constructed (requirements, architecture, design).

 

Property models, that help visualize and reason about how well the process and the product should be and is performing in various dimensions (cost, schedule, response time, dependability, usability).

 

Success models, that help visualize and reason about 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

 

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, Ricardo Valerdi
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

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