Kurt Wallnau: Predictable assembly of software components
Foundations of software component technology:
What are the principle theoretical and technological aspects of software component technology, and how are these distinguished from other conventional approaches to software development (for example, object-oriented development)?
Foundations of predictable software quality:
What are the various dimensions of software quality, what is a predictable quality, and what is needed to predict these qualities from design specifications? What is software architecture, and how is architecture related to predictable design quality?
Foundations of prediction-enabled component technology:
How are architectural abstractions related the abstractions of software component technology? How can architectural design constraints--those leading to predictable design quality--be embedded in software component technology?
Developing prediction-enabled component technology:
How are well-formedness constraints on component-based systems specified, and how can these be adjusted to accommodate the "property theories" that are used to evaluate, and predict, the runtime properties of these systems? Specific emphasis is placed on safety and timing properties, but students will be presented with the opportunity to develop decision procedures for simple property theories.
Applying prediction-enabled component technology:
How does this technology manifest itself to different roles in the software development process--component developer, designer, quality assurance specialist, end-user, certifier, etc.? Students will be presented with the opportunity to develop applications using a base prediction-enabled component technology provided by Mr. Wallnau, and possibly extended by students.