|
|
Program
Abstracts
Dave Thomas:
Modeling Languages are Dead, Long Live Modeling!
Models are from Venus, Programs are from Mars
Modeling is a critically important activity in every
discipline. It is common outside of CS to use many different
perspectives to explore, explain and realize models. In CS we
are stuck believing in single modeling or programming languages
to model and realize software. Model Languages and Programming
Languages must be round and beautiful as well as acutely over or
under featured. What can we learn from our successes and
failures and those of other disciplines?
Thomas Weigert:
The use of Models in the Development of Large-scale
Industrial Software Systems
Software systems can, of course, be produced by coding
alone. However, we found that models can dramatically improve
the productivity of the software engineer and the quality of the
resultant systems. Requirements models describe system
functionality. Design models can realize the desired system
behavior. Architecture models can describe the software
architecture that will realize the non-functional properties of
the system. Platform models describe how an application is
mapped onto the target environment. By themselves, these models
would be just pictures and documentation. However, when paired
with model analysis and model transformation tools, models can
become the key elements of system development: Requirements
models can be formally validated and verified for
correctness. High-level design models can be synthesized from
requirements models. Architecture models, design models, and
platform models can be woven and transformed into highly
efficient code. And finally, test suites can be derived from the
requirements models. We have deployed a work flow characterized
by these models and the necessary supporting tools in the
development of embedded telecommunication and data communication
software. We offer these experiences as an existence proof that
model-driven engineering works, when modeling skills are
augmented with powerful tools.
Ed Seidewitz:
Models, Programs and Executable UML
All programs are models – they model the computation that is
required on execution. Well designed object-oriented programs,
however, do double duty, both as models of the required
computation and as models of the problem domain that provides
the context for this computation. But mainstream programming
languages, even object-oriented ones, just are not good enough
as problem domain modeling languages. UML, on the other hand,
provides a rich set of features for modeling both problem
domains and solutions, which complements the features of
programming languages for specifying detailed computations. But
this means that UML models have often been “just pictures” –
they are not precise or complete enough to be programs in their
own right. However, with the recent standardization of both UML
execution semantics and a surface action language notation,
there is now an interesting convergence of modeling and
programming in UML. And not only is this a useful way to
program, it may be the beginning of a new step in the evolution
of our programming paradigm itself.
James Noble, Andrew Black, Kim Bruce:
Modeling with Grace
We are designing Grace, a new programming language aimed at
education. While purely object-oriented, Grace aims to support
a range of pedagogies, including procedures-first, functional
first, objects first, and modeling first. In this talk, we'll
outline the main features of Grace, and present our ideas for
supporting modeling, as well as programming, with Grace.
Jean Bezivin:
Why Did MDE Miss the Boat?
Models have failed, at least temporarily. Model Driven
Engineering (MDE) is a specific branch of software modeling that
has been experimented for less than two decades. One of its best
known instantiation is the MDA™ initiative launched in November
2000 by the OMG. The deployment of MDE seems today to have
reached a standstill. In spite of the immense hopes that greeted
the MDA initial proposal as a possible way to regenerate the
entire software engineering practices, we must recognize today
that its impact is rather limited and its perspectives quite
confined. We consequently propose the view that the current
iteration may not be the last one. This piece of technology may
need an additional cycle to mature and produce maximum
impact. This report will summarize the important lessons learnt
in the current iteration and examine some of the difficulties
that may have hampered a wider adoption. Among these
difficulties some loose or contradictory goals will be discussed
as well as the ambiguous relation between programming languages
and modeling languages. At a time when software engineering is
being much questioned - not only in its operation but also in
its essence - we may consider the necessary adaptation of MDE as
a chance for the future. To this purpose we need to reflect on
the past and select the good set of properties and practices
that will tomorrow allow MDE to play a central role to produce,
maintain and operate software based systems.
Klaus Ostermann:
Down with Modeling!
The prevalent notion of modeling in software construction has
been adopted from engineering and the natural sciences. I argue
that "modeling", as known from these other disciplines, does not
fit to the specific nature and ontological status of software. A
model in engineering or the natural sciences describes
a phenomenon of reality from the perspective of a
single stakeholder. A program, on the other hand,
creates a phenomenon of reality, and must fit to the
requirements of all involved stakeholders
simultaneously. This difference may sound metaphysical, but I
argue that it has profound implications for the epistemology and
merits (or rather, lack thereof) of modeling in practical
software construction.
|
Important Dates
* Deadline extended *
- Initial submission: August 29, 2011
- Final version: October 3, 2011
- Workshop: October 23, 2011
|