Email RSVP required to Nancy Myers at nmyers@ics.uci.edu by Monday, January 10.
No cost to attend.
Click here for directions and parking information.
In systems requiring ultra-high dependability, the majority of software defects that are found during testing or after deployment are the result of requirements errors. Of those requirements errors, a significant number occur because of misunderstandings about the system context. Essential details of the application domain are either unknown or misunderstood by developers because of poor communication of application domain knowledge. Current software development practices focus on the formal aspects of software. While formalisms are the only structures required to communicate with a machine, contextual information is required for developers to communicate with one another and establish software validity. The pervasive medium for this communication, natural language, is understood to be problematic for high-precision communication because of its characteristic ambiguity and informality. However, natural language possesses its own body of research results and is amenable to rigorous inspection. We have analyzed the domain knowledge communication problem as it arises in software engineering from the perspective of current cognitive linguistic theory, and this analysis has yielded a model that helps to explain sources of ambiguity and other problems with the use of natural language. Using this model we have developed a new artifact that combines software function and essential context information in a rigorous entity that we refer to as a situated formalism.
In this presentation, I briefly summarize the linguistic model and insights derived from it, e.g., that the considered use of natural language performs a function unachievable by formal means. I will explain how these insights are exploited to motivate the structure of the situated formalism and discuss a preliminary practical representation. Finally, I will present some details of our applications of the concepts discussed.
John C. Knight is a professor of computer science at the University of Virginia. He holds a B.Sc. (Hons) in Mathematics from the Imperial College of Science and Technology (London) and a Ph.D. in Computer Science from the University of Newcastle upon Tyne. Prior to joining the University of Virginia in 1981, he was with NASA's Langley Research Center. He is presently serving as Editor in Chief of the IEEE Transactions on Software Engineering. He is a member of the editorial board of the Empirical Software Engineering Journal. His research interests are in software dependability, and he is presently leading two research projects in that area. The first is in the area of formal methods. The goal is to develop industrial strength formal techniques by working closely with industry. Specific research topics include tools for the development of formal specifications, experimental assessment of formal techniques with industrial research partners, and the development of a comprehensive approach to the use of natural language in requirements analysis and formal specification. The second research project is developing techniques designed to enhance the survivability of critical networked infrastructure applications. Specific research topics include network architectures that facilitate survivability, the security of those architectures, and the modeling of very large networks.