Successful completion of CS414 or CS514 or permission of instructor.
Overview
"Software components are binary units of independent production, acquisition,
and deployment that interact to form a functioning system." Software
components play a critical role in many software systems. Quoting from
the proceedings of the 4th ICSE workshop on Component Based Software
Engineering, our ability to reason about the properties of assemblies of
components is of great consequence to modern system developers. In general,
a lack of information about component behavior, a lack of confidence in the
information available, and an inability to determine properties of components
based on black-box representations, creates roadblocks in our understanding
of functional and extra-functional properties of component-based software
systems.
Objectives
This course will explore the research issues in the areas of component
trust and certification, component technology and software architecture with
the aim to develop a shared understanding of certifiable component properties
and predictable assembly of components. Topics related to component and system
properties, compositional reasoning, abstraction, measurement, prediction,
modeling, specification, reliability and assurance of fault tolerance will be
covered.
Students will also understand the process of scientific research: how to frame
research problems, how to setup and execute scientific experiments, and how to
report results.
Course Materials
There is no required text. Course materials will be based entirely on
technical publications in software engineering journals and conferences.
This material may be obtained using WebCT
or from the instructor. You can get access to the ACM and IEEE digital libraries
through CSU's library.
You can also view relevant material in the following places:
- Introduction to components and componentware: IEEE Software,
September-October 1998 15(5)
- Introduction to component certification and research issues: IEEE Software, July August 1999, Volume 16(4)
- Papers
presented at the 4th ICSE Workshop on Component-Based Software
Engineering on Component Certification and System Prediction,
May 14-15, 2001, Toronto, Canada.
Requirements and Grading
There are no homework assignments or exams. Your grade will be based on
the following:
-
15%: Read and summarize each paper on the reading list.
The summaries are due at the beginning of the class in which
the paper will be discussed. Summaries not turned in at the designated
time will not be accepted (even if you are late). If you are going to
be absent, you need to turn in the summary before class. Summaries should
be typed and printouts should be submitted.
-
10-20%: Present a few papers (on 1-2 days, depending on the enrollment).
-
5-15%: Critically review a few papers. One of the papers will
be what you present in class. In addition, you will also review other
papers from the reading list. Only technical reports, conference and
journal papers can be reviewed (i.e. no workshop papers). These submissions
will be due within a week of the class in which the paper was presented.
-
50%: Research project -
Topics must be approved by the instructor. A research paper must be written
and results presented in class. If the paper is of publishable quality, you
get a higher grade. Topics may be selected as follows:
-
Literature-based and some extra independent work (Could lead to Master's project)
-
Analytical research, empirical studies, research tool development and evaluation (lead to Master's thesis or Ph.D. work)
-
10%: Peer review of classmates' presentations.
Final letter grades will be based on the relative distribution of total scores
and not on any preset numerical grade.
Important dates:
The following dates apply to every student. Specific dates for presentation
and paper critique submissions may vary.
- January 17: End of limited drop period
- January 21: Select papers for presentation
- February 28: Identify project area
- March 7: Submit one page proposal for project
- April 16 onwards (or later): Project presentations
- May 2: Project reports due
- May 6-10: Final's week: Project critiques due
Policies:
Late work will not be accepted without prior permission. Extensions
may be granted when permission is sought in advance for reasons that are
unexpected and beyond your control. You will need to submit paper summaries
at the beginning of class
All work needs to be your own. You are responsible for any
announcements made in class.
All written work must be typed on 8.5 by 11 paper, have at least 1 inch
margins and be printed in 10, 11 or 12 point type. Work should be single-spaced.
All work must be neat and legible.
Read the departmental policy on cheating, incompletes and class attendance.
Last modified: January 26, 2001.