In this tutorial, we first briefly survey current research on program
generation, so as to argue why schema-guided programming can overcome
the drawbacks of the more traditional approaches, such as proofs-as-programs
or transformation. Then we introduce the notion of specification framework,
as a possibly parametric formalisation of a problem domain, which serves
as background during all development steps. This allows us to give a semantic
definition of schemas, while covering their representation, correctness,
and reusability. Finally, we show how all this can be put to useful practice,
by actively guiding the generation of correct and reusable programs through
the (re)use of schemas. We address automation issues, compare with related
work, and outline future work.
Pierre Flener is
an associate professor in the Computer Science Division of the Department
of Information Science at Uppsala University in Sweden. His main research
interests lie in automating various tasks of software engineering, using
the concept of schema.
Kung-Kiu Lau is a senior lecturer in the Department of Computer Science at the University of Manchester in the UK. His current research is mainly about component-based software development (in computational logic).
Mario Ornaghi is an associate professor in the Department of
Information Science at the University of Milan in Italy. He is currently
interested in the theoretical foundations of component-based software development.
Julian
Richardson is a research fellow in the Mathematical Reasoning Group
of the Institute for Representation and Reasoning in the Division of
Informatics at the University of Edinburgh in the UK. He carries
out research in various aspects of automated theorem proving, including
proof planning.
Bernd
Kraemer is a professor at FernUniversitaet and head of the
distributed software engineering chair. He is an author and co-author
of two books, over 100 journal articles and conference publications
and an area editor of the Journal of Integrated Design & Process
Science. His long term research interests focus on engineering and
management problems of open distributed applications. Outline:
I. Before the beginning
John Penix is a
Research Scientist in the Automated Software Engineering Group at NASA
Ames Research Center. His research interests are in automated software design based on reusable components
and formal analysis of software systems.
Automated Reverse Engineering and Design Recovery
Dr. Gerald Gannod
Arizona State University, USA
Gerald Gannod is currently an Assistant Professor at
Arizona State University in Tempe, Arizona.
Dr. Gannod's research interests include software
engineering, formal methods for software development, reverse
engineering, software reuse, and aerospace-based software
systems.
Software Patterns, AntiPatterns, and Engineering Automation
Prof. Bernd Kraemer
FernUniversitaet, Germany
Introduction to Automated Software Engineering
Dr. John Penix
NASA Ames Research Center, USA
A. Automatic Programming
B. Software Engineering
II. In the Beginning
A. The KBSA paper
B. KBSA facets
III. Expading KBSA to KBSE
A. Other efforts
B. Continued development
IV. What worked, what didn't
V. Expanding KBSE to ASE
A. New problems, new solutions
B. What happened to the "K"
VI. The Horizon