Objectives
Formal methods has made large progress in the last few years.
However, transition of these methods into the hands of
software practitioners is still slow. One obvious reason is
lack of education. Another, perhaps equally important
reason, is a lack of tools that fit in current software
engineering practice.
Techniques and tools developed in the formal methods community
continue to be stand-alone, applicable to specialized languages, and
targeted at specific properties. Each of these may have its use, but
none will actually be used in practice unless they can cooperate, be
integrated in the software engineering process, and be hidden under
the hood.
The challenge is to create a platform that brings together the
formal methods community and user community.
Research assumptions should be constrained to facilitate the
integration of such point solutions into a more complete and
coupled overall engineering capability.
This necessarily
requires standardization at some levels, like we see in the
hardware and middleware community, but can still allow a wide
variety of representations and differences in expressive power
at higher levels, thus catering to different application areas.
The platform can support a variety of proof techniques, static
and dynamic analyzers, type checkers, documentation tools, as
well as lower level tools that support these techniques, such
as decision procedures, constraint solvers, and SAT solvers.
The advantages of such a platform are many for both researchers and
users: it provides researchers with exposure to practical case studies
and the opportunity to have their methods and tools evaluated. It
provides users with access to state-of-the-art methods without the
added burden of extensive adaptation and training.
In this workshop we will bring together experienced
researchers who have been involved in tool development, with leaders
in industry who have used and pioneered other tools. The overall aim
is to exchange ideas for continued research in this area and to reduce
the gap between foundations and software practice.
Topics
Workshop topics include but are not limited to:
- Open tool integration frameworks / Repositories of interoperable tools;
- Systematic solutions for tools integration;
- Web-based tool integration;
- Tool integration patterns;
- Tool architectures;
- User perspectives on tool integration
- End-user programmability / customization;
- Model-driven architectures;
- Model transformation technologies;
- Domain-driven software development frameworks;
- Generic vs domain-specific solutions;
- Standardized modeling environments;
- Hierarchy of layers of abstractions;
- Software analysis and design tools;
- Component-based systems;
- Interface theories;
- Global information utilities/services;
Focus Questions
Some focus questions for the workshop are:
- What are possible approaches to make tools interoperate without
the need to impose rigid restrictions on individual developers?
- What levels of standardization are necessary/acceptable?
- How can standardization be achieved/enforced?
- How adequate are existing tool suites such as Matlab and UML tool suites?
- How can model-driven design help with tool integration?
|