Overview of Systematic Software Engineering for Embedded Systems

Presenter: Manfred Broy, Professor, Department of Informatics, Technical University of Munich, Germany

Host: Ingolf Krueger, Assistant Research Scientist, California Institute for Telecommunications and Information Technology, San Diego Division - contact Ingolf Krueger through Leah Bellacera at lbellace@soe.ucsd.edu

Date: Friday, June 7, 2002

Times:
Seminar 1 : 10:30am – 11:30am (Download Presentation)
Seminar 2 : 1:00pm – 2:00pm (Download Presentation)

Location: Price Center - Gallery "B", UCSD (directions and parking information)

Live Webcast: http://earth.ucsd.edu:8080/ramgen/encoder/broy.rm
Archived Webcasts available at: http://www.calit2.net/multimedia/archive.html
Courtesy: California Institute for Telecommunications and Information Technology [Calit²]

Seminar I
Component-Based Software and Systems Engineering

Abstract: Today software is embedded, distributed onto networks and structured into logical components that interact asynchronously. We present an approach for the engineering of software intensive systems with a firm scientific foundation. It consists of the following elements: a fundamental detailed model family of distributed software systems, their mathematical and logical theory, basic views, and abstraction, refinement and implementation relations,

  • extensions of these models for capturing specific notions of time, performance, quality of service and deployment,
  • description techniques using graphics, tables, diagrams or formulas as well as text to document the results of the development steps and their relationships,
  • development process, its variations, results, activities, and structures,
  • advanced tool support, addressing system description, decomposition, validation, code generation, test generation and verification,
  • application-specific extensions in the areas of automotive and avionics applications, telecommunications, wireless ad hoc systems and business applications with an emphasis on web services .

We concentrate, in particular, on the models of distributed systems, on description techniques, their integration and on tool support.

Video of Seminar I

Seminar II
Focus: A Logical and Mathematical Basis for Component-Based Software and Systems Engineering

Abstract: Focus is a mathematical and logical theory for the modeling and logical description of distributed interactive software intensive systems in a systematic development. In Focus we work with a basic system model and description techniques providing specific views and abstractions of systems such as

  • the data view,
  • the interface view,
  • the process view,
  • the distribution view, and
  • the state transition view.

Each of these views is helpful and has its place in the systems development process. We show how to formalize these views by mathematical and logical means. The core of Focus is a concept of a behavioral model of an open system called a component that can be freely combined and refined.

For Focus a comprehensive logical theory is available for the specification of systems, reasoning about Focus designs and computer supported verification.

The development of systems consists in working out these views that lead step by step to an implementation, which in our approach is given by a set of distributed, concurrent, interacting state machines. For large systems, the development is carried through several levels of abstraction. We demonstrate how to formalize the typical steps of the development process and how to express and justify them directly in logic. In particular, we treat three steps of development by refinement:

  • property refinement: refinement within one level of abstraction,
  • interaction granularity refinement: transition from one level of abstraction to the other,
  • implementation refinement by glass box refinement.

We introduce refinement relations to capture these three dimensions of the development space. We derive verification rules for the refinement steps. This way, a comprehensive logical basis for the development of systems is provided.

Video of Seminar II

Bio: Manfred Broy is a professor at the Department of Informatics of the Technical University of Munich, Germany. He studied Mathematics and Computer Science at the Technical University of Munich, and graduated in 1976 with the Diploma in Mathematics and Computer Science. Manfred Broy received his Ph. D. (Doktor der Naturwissenschaften) in 1980 at the Department of Mathematics at TU Munich. Building on his subsequent work on formal foundation of distributed, reactive real time systems and their specification and verification, he completed his Habilitation Thesis: "A Theory for Nondeterminism, Parallelism, Communication and Concurrency" at the Faculty for Mathematics and Computer Science at the Technical University of Munich in 1982.

In April 1983 he became a full professor for computer science and the founding dean at the Department of Mathematics and Computer Science at the University of Passau, Germany. In October 1989 he became a full professor for computer science at the Department of Informatics at TU Munich (former chair of Professor F.L. Bauer).

His research interests are software and systems engineering comprising both theoretical and practical aspects. This includes system models, specification and refinement of system com­ponents, specification techniques, development methods and verification. He is leading a research group working in a number of industrial projects that try to apply mathematically based techniques and to combine practical approaches to software engineering with mathematical rigor. There, the main topics are ad hoc networks, software architectures, componentware, software development processes and graphical description techniques. In his group the CASE tool AutoFocus was developed.

Professor Broy is the organizer of the Marktoberdorf Summer Schools in foundations of programming. He published over 250 papers, and a four volume introductory course to computing science (in German) which was also translated into Russian. He is a main editor of Acta Informatica and editor of Information and Software Technology, IEEE Transaction on Software Engineering, Science of Computer Programming, Journal of Universal Computer Science, and Formal Aspects in Computer Science.

Professor Broy is a member of the European Academy of Sciences. In 1994 he received the Leibniz Award by the Deutsche Forschungsgemeinschaft and in 1996 the Bundesverdienstkreuz. Currently he is a member of the IEEE Board of Governors.