Skip navigation.
New Mexico State University

An Informal Introduction to Software Architecture

Date 2009-02-04 Time 15:30:00  Room SH 107 
Speaker David Schmidt, Kansas State University (Host: Pontelli)
Abstract ``Software architecture'' refers to the premises, structure, and pragmatics that underlie a software system. This lecture introduces the topic from a historical perspective, presents standard terminology and approaches, and surveys the evolution of the field into new areas. Within the core topic of software architecture, we present the evolution of programming-in-the-large into connectors-and-components-style programming, approaches to architectural description, standard styles and patterns of software architecture, and examples of architecture design languages. From application and evolutionary areas, we cover domain-specific design and languages, product-line development, and feature-based specification.
Bio David Schmidt is a University Distinguished Professor of Computer Science at Kansas State University. He completed his PhD studies with Neil Jones in 1980 while at Aarhus University, Denmark, and worked as a postdoctoral researcher for Robin Milner at the University of Edinburgh, Scotland, in 1981-82. He returned home to Kansas in 1986. Since then, he has also been employed as a research professor at the Ecole Polytechnique, Paris, and the University of Rennes, France. Schmidt is best known for his work in programming-language semantics and static program analysis; his text, ``Denotational Semantics: A Methodology for Language Development'' (Allyn and Bacon, 1986), was widely used and referenced in the 1980s and 1990s, and he has also written a text on data typing (``The Structure of Typed Programming Languages,'' MIT Press, 1995). His research has been funded by a variety of government agencies. Schmidt has published a number of widely cited papers on the connections between program data-flow analysis, abstract interpretation, and model checking, and his primary interest is using precise notations to design software, build software, analyze software, and prove the software correct. Home page URL: www.cis.ksu.edu/~schmidt