Research interests: Unconventional models of computation, chemical programming, software architectures.
Talk title: Forward and Backward Steps in Ensemble Engineering (slidesGabriel.pdf)
Talk abstract: Considering intensive parallel systems composed of many synchronized components acting locally, we present a formal procedure to reverse the computation, change some local rules, and then try a new forward step such that the result evolves closer to the final purpose.
Research interests: Model-driven development, wide-area concurrent programming; programming languages, security authorization models.
Talk title: Strategic Programming (2008-Interlink-cook.ppt)
Talk abstract: The key challenge in software development is to raise the level of programming from a focus on “how” a system is implemented to a focus on “what” the system should achieve. The extremes of this spectrum are low-level assembly programming and high-level logical specifications of desired behaviour. We clearly have moved away from the low end, but synthesis from high-level specifications is still decades from full realization. In between are two practical ranges: the mid-level imperative languages (C#/Java/Scala/ML), and above them the domain-specific modeling languages, including SQL, BNF grammars, Orc, and Statecharts. The key point is that these higher-level languages describe “what” is to be computed while still being specific enough to admit efficient implementation strategies that define “how” to compute. To realize the potential of this approach, it must be expanded into a full-spectrum paradigm including user interface models, security models, concurrency models, deployment models and other aspects of software systems. Key challenges domain-specific languages include composition of languages and models, effective definition and specialization of implementation strategies, and evolution of models and strategies. Strategic Programming is a software development paradigm that addresses the challenges by combining model-driven development and domain-specific language engineering based on partial evaluation, supercompilation, generic programming, extensible interpreters and aspect/feature-oriented programming.
Research interests: Distributed systems, Mobile computing, Formal methods, Real-time systems
Talk title: Design and Deployment of Pervasive Computing Systems in Future Urban Life (InterLink200811-Higashino.pdf)
Talk abstract: Many people live in urban areas where affluent, safe and convenient life is expected. However, we face several risks, overpopulation, natural disaster, pollution, public nuisance, crime, traffic accident, and so on. Toward urban life with emotional trust, sensing objects/people in urban areas (“sensing urban”) is becoming much more important. Intellectual pervasive systems will be designed and deployed in urban areas. We have been descussing about ensembles for designing such large scale distributed systems using sensing information. Here, I will give a talk forcussing on (i) how we can use those techniques for developing societal systems in future urban life and (ii) how we can achieve future ubiquitous society using “sensing urban”.
Research interests: Software Engineering, Embedded Systems, Programming languages
Talk title: Programming the Grid (Invited Talk) (invited-talk_programming-the-grid.pdf)
Talk abstract: Grids are a reality. Computers are combined through the internet and mobile devices will make the power of computing available in any location, at any time, and in an easy accessible way for almost no cost. However, users are still not capable of using the offered power efficiently and security as well as privacy are a mess. One aspect is the poor adaptability to workflows in a user oriented manner. Workflows are a well understood paradigm and users are well trained to adapt their own behaviours in a systematic flow of their work items.
The talk describes challenges in using grid infrastructures shifting the focus of distributed computing to grid computing and computing clouds. It introduces notations to describe workflows and tackles aspects of fault tolerance as well as security issues. It exemplifies the usage of grids with three examples: the simulation of environmental processes, pharmaceutical drug design, and medical image processing.
A short vision on autonomous behaviour and swarm applications will be given as well.
Research interests: biologically inspired computation paradigms, rewriting calculus, strategic rewriting, property verification
Talk title: A Higher-Order Graph Calculus for Autonomic Computing (InterlinkWG1-kirchner.pdf)
Talk abstract: Autonomic computing refers to self-manageable systems initially provided with some high-level instructions from administrators. This is a biologically inspired computation model that gained much interest with the recent development of large scale distributed systems such as service infrastructures and grids. For such systems, there is a crucial need for theories and formal frameworks to model computations, to define languages for programming and to establish foundations for verifying important properties of these systems.
From our previous work on biochemical applications, the structure of port graph (or multigraph with ports) and a rewriting calculus have emerged to model interactions between molecules or proteins. In this talk, we propose port graphs as a formal model for distributed resources and grid infrastructures, where each resource is modeled by a node with ports. We model the lack of global information, the autonomous and distributed behavior of components by a multiset of port graphs and rewrite rules which are applied locally, concurrently, and non-deterministically. Some computations take place wherever it is possible and in parallel, while others may be controlled by strategies. We first introduce graphs with multiple edges and loops, with nodes having explicit connection points, called ports, and edges attaching, more specifically, to ports of nodes. We then define a rewrite calculus on these graphs where rules and strategies are themselves port graphs, i.e. first-class objects of the calculus. As a consequence, they can be rewritten as well, and rules can create new rules, providing a way of modeling emergence in a system. This approach also provides a formal framework to reason about computations and to verify desirable properties. We give some suggestions on expressing properties of a modeled system as strategies.
Research interests: Concurrent and Distributed Programming
Talk title: Application Level Concurrency (misra.pdf)
Talk abstract: Today, concurrency is ubiquitous, in desktop applications, client-server systems, workflow systems, transaction processing and web services. Concurrency will continue to permeate many areas, such as manufacturing and inventory control, medical applications, command and control systems, and embedded systems in automobiles and avionics. These trends will require all but the simplest applications to be structured as part of an interacting computation. In particular, such computations must coordinate multiple activities, manage communication and handle failures, time-outs and interrupts as they leverage concurrent services.
The internet has brought concurrency to the fore, promising a truly global computer where all services and data are available to all users at all time. In particular, an application ought to be able to call upon remote services, utilizing remote data, and have the results be piped to yet other remote services. The notions of data and service migration, application discovery, and downloading of services for local executions should be totally transparent to the users and other applications in a global computer. The hope is that, ultimately, the entire mankind is connected, not just in sharing common news, but in collaborating on various activities which span time scales from milliseconds to decades.
Research interests: Formal Methods and the construction of formalisms for the specification, derivation and design of information systems, including: system specification; refinement and derivation of algorithms; process algebra; formalisms to support: concurrency, probability, security, quantum computing, adaptability, hardware, hybrid systems and object orientation. He is also interested in systems of artificial agents and their ethical issues.
Talk title: Adaptability and Foundations (sanders.pdf)
Talk abstract: This talk provides feedback in two areas covered by the InterLink document: `adaptation' and `specification and design'. In the first, it is argued that care must be exercised not to require too much of a system of adapting agents: the limits of adaptability must be explored. Otherwise it is tempting to posit impossible behaviour. It is also argued that representative examples must be identified in order to guide the development of new principles. In the second area, Ensemble Engineering is considered, and the place of rigorous reasoning identified. The relationship between current designs and their specifications is discussed and a guess made at the part to be played by rigorous reasoning in the new field of Ensemble Engineering.
Research interests: formal methods, concurrency, real-time, refinement
Talk title: Engineering systems with emergent behaviour (smith.ppt)
Talk abstract: Engineering ensembles comprising massive numbers of interacting components is a formidable task. Approaches include the adaptation of ideas from biology, physics and human societies, and the use of genetic algorithms. Providing assurance for the resulting designs is also daunting, particularly the assurance that desired emergent behaviours will be exhibited. The current state of the art largely involves simulation-based experimentation. Given the enormous variety of behaviours of any given ensemble, however, the assurance that can be provided by such approaches may be quite limited.
Can formal methods, and the top-down strategies they employ, provide an alternative, more rigorous approach? That is, can we show mathematically that a given emergent behaviour arises from a system built to a given design. The literature is divided on this issue: some authors claim this is impossible, others that it is impracticable (theoretically possible, but not feasible in practice) and others, by proposing ways forward, that it is (merely) difficult. This talk examines the arguments, and outlines research challenges that need to be met to enable a formal top-down approach to the development and assurance of systems with emergent behaviour.
Research interests: My research ambition is to address both fundamental and practical questions related to computations and design with future and emerging, massive-scale, silicon or non-silicon information processing devices. I am interested in a systematic understanding of the design space and trade-offs of novel computing architectures, considering the device, algorithms, languages, and systems as a whole. I use nature-inspired and novel methods that draw on complex adaptive systems science, theory, simulations, and experiments to seek disruptive new paradigms for future and emerging computing machines and paradigms in a very cross-disciplinary way.
Talk title: Wanted: Developmental, adaptive, and self-organizing paradigms! (teuscher_cannes.pdf)
Talk abstract: A number of major factors is rapidly changing the computing landscape, which require us to rethink the way we build and program information processing devices and how we interact with them. Over the next 5-15 years, we can expect a slowdown in miniaturization because of fundamental physical limits, instead we will see the beginning of massive-scale systems, involving unseen numbers of basic building blocks. However, today's methods of designing, fabricating, and programming complex computing machines is clearly not suitable for such future peta-, exa-, zetta-, or even Avogadro-scale systems, which will (1) have to be built in a mainly bottom-up way to reach that scale and (2) where the human involvement in the design and programming procedures will have to be absolutely minimal because they simply cannot tackle such complex tasks. I will argue that a key ingredient we need for this “revolution” to happen are developmental paradigms, which are omnipresent in Nature, but not in computer science and engineering. The common assumption is that a system is given in size and functionality and doesn’t—or if it does, only slightly—change and evolve over time. I argue that radical departures from this paradigm are necessary, in particular for bottom-up self-assembled systems based on nano- and/or bio-components. We need novel architectural and organizational paradigms that allow to gradually build, use, and program a system as it grows more and more complex. I will outline some of the specific challenges and provide promising approaches for further exploration.