Hide menu

SaS Seminars 2002

Software and Systems Research Seminar Series



Fall 2002

Content-based routing of XML data

Date: December 12 Place: Estraden, Time: 15.15

Pascal Felber Institute EURECOM, Sophia Antipolis, France

Abstract

Dramatic improvements in communications bandwidth and ubiquity have led to the emergence of a wide range of new dissemination-based applications. These applications involve selective distribution of data to large numbers of users according to their interests, defined in terms of subscriptions that are matched at runtime against the actual data. In this talk, I will present an efficient and scalable filtering engine for matching XML data against large numbers of subscriptions expressed in the XPath language. I will also describe algorithms for "lossy" aggregation of subscriptions, designed to increase system scalability. Finally, I will discuss the use of these techniques for content-based routing in overlay networks.


Modeling and verification of embedded systems in Masaccio
(joint work at UC Berkeley with Prof. Tom Henzinger and Vinayak Prabhu)

Date: November 28 Place: Estraden, Time: 15.15

Marius Minea Department of Computing, Technical University of Timisoara, Romania

Abstract

The development of embedded systems is a difficult task that combines elements of hardware design, software engineering and control theory. A major problem is bridging the gap between these different design aspects, in particular between the high-level design of a controller for a system and a suitable software realization.

Masaccio is a modeling language for hierarchical system design that addresses these problems. Masaccio can be viewed as a hierarchical and compositional extension of reactive modules and hybrid automata. It supports both discrete and continuous components, with arbitrary nesting of parallel and serial composition. Besides compositionality, it allows the use of circular assume-guarantee reasoning to prove refinement between system descriptions at different levels of detail, which we illustrate in a system of communicating robots.

Towards the implementation level, Masaccio interfaces with Giotto, a language for time-triggered software processes. A formal correspondence between Masaccio components and Giotto processes makes it possible to check a software implementation against a high-level description. We are currently working on applying this methodology to the modeling of an automated vehicle control system.

Speaker's profile

Marius Minea received his Diploma-Engineer degree in Computer Science and Engineering from the Technical University of Timisoara in 1993, and his Ph.D. in Computer Science from Carnegie Mellon in 1999. He did his thesis work on partial order reduction for verification of timed systems. For the last two years he has been a postdoctoral researcher at UC Berkeley, working on modeling and verification of embedded systems. Currently, he is associate professor at the "Politehnica" University of Timisoara, Romania. In 1991 and 1993 he visited Linköping University/IDA for six months, working with CADLAB.


Uniform Composition of Active Documents

Date: October 17 Place: Estraden, Time: 15.15

Uwe Aßmann, IDA

Abstract

Experts predict that every entity found on the web (XML data, software such as applets or 3-tier applications) will be coalesced to active (shippable places). Active documents are structured documents in the spirit of OpenDoc and XML but have a life of their own. They will be able to migrate, they will be shipped everywhere on the web, they will be embedded into other active documents, and combined with others visually via drag-and-drop clients, 3-tier architectures, and complete applications: everything will be an active document.

As such, active documents are software entities and should be engineered with sound software enginering methods, but none exists. This talk gives an overview on several classes of active documents and introduces a uniform composition technology for them, based on invasive software composition. The technology is developed in the European Basic Research project EASYCOMP. Its task is to investigate technology for easy component composition in the future information society.


Tree Automata with Constraints for Program Analysis

Date: September 23 Place: Estraden, Time: 15.15

John Gallagher, University of Bristol

Abstract

Our starting point is set-based program analysis. In logic or functional programs, this analysis produces a recursive description of the set of terms corresponding to each variable in the program. This has many potential applications, including compiler optimisations, type-checking, debugging, verification and planning. We present a new practical algorithm for computing precise set-based descriptions, obtained by an abstract interpretation over non-deterministic tree grammars, and show examples of the results obtained. Then we consider the extension of the abstract domain with constraints, and discuss the precision and practicality of this extension.


Perspectives for Electronic Books in the World Wide Web Age

Date: August 22 Place: Estraden, Time: 15.15

Francois Bry, University of Munich

Abstract

While the World Wide Web (WWW or Web) is steadily expanding, electronic books (eBooks) remain a niche market. It is first postulated that (1) specialized contents and device independence can make Web based eBooks compete with paper prints, and that (2) adaptive features that can be implemented by client-side computing are relevant for eBooks, while more complex forms of adaptation requiring server-side computations are not. Then, enhancements of the WWW standards (specifically of XML, XHTML, of the style-sheet languages CSS and XSL, and of the linking language XLink) are proposed for a better support of client-side adaptation and device independent content modeling are proposed. Finally, advanced browsing functionalities desirable for eBooks as well as their implementation in the WWW context are described.



Spring 2002

Application of Generative Programming to Commercially Practical Software Engineering and Maintenance Tasks

Date: June 11 Place: Estraden, Time: 13.15

Dr. Ira Baxter, Chief Technology Officer, Semantics Design, Inc., Austin, Texas

Abstract

Remarkly, much of software engineering today is still carried out by manual methods. Significant productivity enhancements require automation, which in turn require tools that deeply understand programs. Generative programming is a class of tool technology that captures knowledge about how to generate code, enabling automation. While generative programming is normally considered to enhance forward engineering of software, the bulk of software engineering goes into software enhancement and maintenance.

This talk will briefly sketch generative programming, place program transformations in the generative programming space, and then show how a practical, commercial program transformation tool ("DMS") can carry out a surprisingly wide variety of software enhancment tasks, including installation of test probes, duplicate code detection and removal, and automated translation from one programming language to another.

Speakers profile

Ira Baxter has been building system software since 1969, and ran a software house in the late 70s offering operating systems and development tools for microprocesors. He obtained his doctorate at the University of California at Irvine in 1990, studying transformational methods for capturing and reusing design knowledge to enhance software maintenance. At Schlumberger, he was part of the Sinapse team, building a PDE-solver code generator for supercomputers.

Since 1996, Dr.Baxter has been the CTO of Semantic Designs, where he is the architect of the DMS Software Reengineering Toolkit, recently used to construct a domain-specific language compiler for controlling factories. Ira is also active in software engineering research and is presently CoProgram Chair for the 2002 International Conference on Software Maintenance (Nov'02).


MathModelica - An Extensible Modeling and Simulation Environment with Integrated Graphics and Literate Programming

Date: May 23 Place: Estraden, Time: 15.15

Johan Gunnarsson MathCore AB, Linköping

Abstract

MathModelica is an integrated interactive development environment for advanced system modeling and simulation. The environment integrates Modelica-based modeling and simulation with graphic design, advanced scripting facilities, integration of program code, test cases, graphics, documentation, mathematical type setting, and symbolic formula manipulation provided via Mathematica. The user interface consists of a graphical Model Editor and Notebooks. The Model Editor is a graphical user interface in which models can be assembled using components from a number of standard libraries representing different physical domains or disciplines, such as electrical, mechanics, block-diagram and multi-body systems. Notebooks are interactive documents that combine technical computations with text, graphics, tables, code, and other elements. The accessible MathModelica internal form allows the user to extend the system with new functionality, as well as performing queries on the model representation and write scripts for automatic model generation. Furthermore, extensibility of syntax and semantics provides additional flexibility in adapting to unforeseen user needs.

Speakers profile Dr. Johan Gunnarsson, is VP Product Development at MathCore, and is a member of Modelica association, and one of the designers of the Modelica modeling language. He received his Ph.D. degree in automatic control 1997 at Linköping University, where he made research on formal methods to verify control system algorithms, resulting in a thesis called "Symbolic methods and tools for Discrete Event Systems", which describes methods to test the correctness of Control Systems. This resulted in a verification system based on Mathematica and C. The research, which was part of the NUTEK complex systems project, has been conducted in cooperation with SAAB where Johans methods were applied on a control system for part of the JAS 39 Gripen. Johan has also been a research associate both at the Electrical Engineering and Computer Science departments at Linköping University. This work was made within the research school ECSEL also at Linköping University, where he coordinated interdisciplinary research between the departments. Experience from this collaboration is used in the MathModelica product. Johan was also a guest researcher at Kestrel Institute, Palo Alto, USA where he conducted research on the Modelica language.


QoS Management in Real-Time Data Services

Date: April 18 Place: Estraden, Time: 15.15

Sang Hyuk Song, University of Virginia at Charlottesville

Abstract Many real-time systems are now being used in safety-critical applications, in which human lives or expensive machinery may be at stake. Examples include aerospace and defense systems, industrial automation, traffic control, web-based information services, etc. The unpredictable demands from the operating environments of such systems often pose rigid requirements on their timely performance. These requirements are defined as real-time constraints on their temporal behavior. As real-time systems continue to evolve, their applications become more complex, and often require timely access to temporal data, possibly from sensor devices. This need for advanced data services in real-time applications poses intellectual and engineering challenges to researchers and practitioners. The trade-offs faced by the designers of real-time data services are different from those faced by the designers of general-purpose database systems. In this talk, we first discuss characteristics of real-time systems and some of the research issues of real-time data services. We then present research work being performed at the University of Virginia, especially on supporting QoS in real-time data services.


HiPE: A High Performance Erlang System

Date: March 21 Place: Estraden, Time: 15.15

Kostis Sagonas, Uppsala University

Abstract: Erlang is a concurrent functional programming language designed to ease the development of large-scale distributed soft real-time control applications. It has so far been quite successful in this application domain, despite the fact that its currently available implementations are emulators of virtual machines.

This talk will briefly present the architecture and performance characteristics of HiPE, an efficient native code compiler for the Erlang language. HiPE is a complete implementation of Erlang, offers flexible integration between emulated and native code, and efficiently supports features crucial for Erlang's application domain such as concurrency. HiPE is currently available on SPARC and Intel/x86 architectures and has recently been included in the Open Source Erlang/OTP system from Ericsson. As our performance evaluations show, HiPE is currently the fastest among all Erlang implementations and significantly lowers the performance gap between Erlang/OTP and high-performance implementations of other functional languages.

More details at the homepages of HiPE and Erlang.


Management of Software Engineering Knowledge

Date: February 28 Place: Estraden, Time: 15.15

Kristian Sandahl, Professor installation seminar

Abstract:Since the mid-90ies we have made contributions by documenting and improving industrial practices to increase quality and productivity in large-scale software engineering. We have been active in the areas of change impact analysis, prediction of software reliability, inspections, requirements engineering and software understanding. By working with empirical methods together with industry we are quite certain that our results are both relevant and valid, and as researchers we are satisfied with the publications and PhD exams obtained.

However, we have spent only marginal effort in the problem of how to feed back the knowledge to the development organization, and the goal of the seminar is to review some of these with an emphasis on our own ideas for RiSE (Research center for integrational software engineering), a sub-set of PELAB. The standard way is to improve the processes of the organization, but this takes time, increases the mental work-load of developers and processes are rarely as detailed as is needed. The alternate approach is to provide some kind of information system where the knowledge can be found implicitly or explicitly. Experience Factories are built to store and retrieve measurement data but the results are sometimes hard to analyze and transfer to new projects. Design patterns help in experience feed-forward about structure, but not so much on quality. Non-technical solutions comprise software professional development, work-shops, open-source etc.

Carlshamre suggests in his recent PhD that knowledge about requirements can be stored in predefined attributes and that the amount of knowledge can be used to measure the maturity of each requirement. In RiSE we have suggested that requirements management systems can be extended to a knowledge management system by updating the requirements with aspects of the implementation realizing the requirements.


How to Analyze Real World Multi-threaded C Programs

Date: February 14 Place: Estraden, Time: 15.15

Helmut Seidl, Trier University

Abstract: The main topic of our research is to explore in how far program analyzer technology can help to find programming errors in real-world multi-threaded C programs. Thus, the goal is not to get analyzers which run in a few seconds -- but produce thousands of unnecessary warnings which even are expensive, as they later-on have to be checked manually by highly paid software engineers. Instead, we aim at a better balance between precision and analysis time. We are clearly willing to spend even some minutes analysis time on larger programs - given only that the number of spurious errors is dramatically decreased.

In the talk, I present the background concepts and implementation tricks which we have employed in our generator for inter-procedural analyses of multi-threaded C in order to arrive at sufficiently precise analyzes, e.g., of mutual exclusion properties which still have decent runtimes.


RuleML: Data Model, Language Hierarchy, and Transformations

Date: January 17 Place: Estraden, Time: 15.15

Harold Boley, DFKI Kaiserslautern.

Abstract: This work is motivated by the Web exchange of business rules. First, commonalities of Logic Programming and XML are examined. An XML version of pure Prolog is then shown to be at the center of the Rule Markup Language.

The RuleML Data Model uses Order-Labeled trees, combining the RDF and XML models of W3C. As part of RuleML's hierarchy of sublanguages, the RuleML-Prolog DTD is developed into an XML Schema. Finally, XSLT (XSL Transformations) is employed for practical XML-to-XML and XML-to-XHTML transformations of rules on the Web.

Speaker's bio: Harold Boley is a senior researcher at the German Research Center for Artificial Intelligence (DFKI), where he acts as the W3C Advisory Committee Representative, and leads the EU project Clockwork on Web-based knowledge management for collaborative engineering. He is also a senior lecturer of computer science and mathematics at the University of Kaiserslautern, where he conceived AI-oriented XML and RDF courses. Dr. Boley's present focus is XML-based knowledge markup and RDF-based Semantic Web techniques. He was a visiting researcher in the Knowledge Modeling Group at Stanford University in 1999. Before that, he led several government and industrial projects in knowledge representation, compilation, and evolution. He received his PhD and Habilitation degrees in computer science from the Universities of Hamburg and Kaiserslautern, respectively. He developed the Relational- Functional Markup Language (RFML) and, together with Dr. Said Tabet, launched the Rule Markup Initiative (RuleML).




Page responsible: Christoph Kessler
Last updated: 2012-08-17