Call for Papers
*** COP 2018: 10th International Workshop on Context-Oriented Programming ***
July 16th, 2018 Co-located with ECOOP/ISSTA 2018 in Amsterdam, Netherlands
=== Advanced Modularity for Run-time Composition ===
Contextual information is playing an ever-increasing role in our
information-centric world. Current-day software systems need to adapt
continuously to changing execution and usage contexts, even while
they are running. Unfortunately, mainstream programming languages and
development environments still do not support this level of dynamic
adaptivity very well, leading developers to implement complex designs
to anticipate various dimensions of variability.
Context-Oriented Programming directly supports variability at the
programming level, featuring dedicated programming abstractions
enabling programmers to write software applications that adapt
dynamically to a wide range of dynamic attributes. It enables
run-time behaviour to be dispatched directly on any detected
properties of the execution or user context. Since more than a decade,
several researchers have been working on a variety of notions
approaching that idea.
Implementations ranging from first prototypes to mature platform
extensions used in commercial deployments have illustrated how
multidimensional dispatch can be supported effectively to achieve
expressive run-time variation in behavior. Our series of International
Workshops on Context-Oriented Programming (COP) at ECOOP since 2009
have shown to be well-received, each attracting around 30 participants.
Also in 2018 we hope to advance this vibrant research domain at ECOOP
in the beautiful and lively city of Amsterdam.
=== Topics ===
Topics of interest to the workshop include, but are not limited to:
- Interesting application domains and scenarios for COP
- Programming language abstractions for COP (e.g. dynamic scoping,
roles, traits, prototype-based extensions)
- Implementation techniques and mechanisms for COP (e.g. different
kinds of dynamic, contextual, and multi-dimensional dispatch or
pre-dispatch)
- Implementation issues for COP such as optimization, VM support, JIT
compilation etc.
- Implemented use-cases, case studies, or prototypes of COP
- Theoretical foundations for COP (e.g., semantics, type systems)
- Configuration languages (e.g. feature description interpreters,
transformational approaches)
- Interaction between non-functional programming concerns and COP (e.g.
security, persistence, concurrency, distribution)
- Modularization approaches for COP (e.g. modules, aspects, features,
layers, plugins)
- Guidelines to apply COP (e.g. best practices, idioms, patterns)
- Run-time support for COP (e.g. reflection, dynamic binding)
- Tool support (e.g. design tools, IDEs, debuggers)
- Support for COP at the modeling level
- Beyond context-oriented behavior adaptation (e.g., UI adaptation, DB
adaptation).
=== Submission guidelines ===
COP invites submissions of high-quality papers reporting original
research, or describing innovative contributions to, or experience with
context-oriented programming, its implementation, and application.
Papers that depart significantly from established ideas and practices
are particularly welcome.
Submissions must not have been published previously and must not be
under review for any other refereed event or publication. The program
committee will evaluate each contributed paper based on its relevance,
significance, clarity, and originality.
Papers are to be submitted via EasyChair
(https://easychair.org/conferences/?conf=cop2018). They must be written
in English, provided as PDF documents, and follow the new ACM Master
Article Template with the sigconf option
(https://www.acm.org/publications/proceedings-template).
They should not exceed 8 pages. Accepted papers will be published in
the ACM Digital Library.
=== Important dates ===
Submission deadline: May 18th, 2018 (AoE)
Notifications: June 8th, 2018
Final version: June 29th, 2018
=== Program committee ===
Tomoyuki Aotani, Tokyo Institute of Technology, Japan
Nicolás Cardozo, Universidad de los Andes, Colombia
Coen De Roover, Vrije Universiteit Brussel, Belgium
Elisa Gonzalez Boix, Vrije Universiteit Brussel, Belgium
David H. Lorenz, Technion IIT, Israel
Gorel Hedin, Lund University, Sweden
Stefan Marr, University of Kent, UK
Kim Mens, Université Catholique de Louvain, Belgium
Stefan Ramson, Hasso Plattner Institute, Germany
Guido Salvaneschi, TU Darmstadt, Germany
Matthias Springer, Tokyo Institute of Technology, Japan
Mario Südholt, IMT Atlantique, France
Naoyasu Ubayashi, Kyushu University, Japan
Didier Verna, EPITA / LRDE, France
Harumi Watanabe, Tokai University, Japan
Tijs van der Storm, CWI, Netherlands
=== Organizing committee ===
Robert Hirschfeld, HPI, Germany
Atsushi Igarashi, Kyoto University, Japan
Tetsuo Kamina, Ritsumeikan University, Japan
Jens Lincke, Hasso Plattner Institute, Germany
Hidehiko Masuhara, Tokyo Institute of Technology, Japan
--
Resistance is futile. You will be jazzimilated.
Jazz site: http://www.didierverna.com
Other sites: http://www.didierverna.info
Hello,
I'm happy to announce the upcoming publication of my essay entitled
Lisp, Jazz, Aikido, to appear in Volume 2 Issue 3 of the Art, Science
and Engineering of Programming journal, in April 2018.
The abstract is given below.
The relation between Science (what we can explain) and Art (what we can't) has
long been acknowledged and while every science contains an artistic part,
every art form also needs a bit of science. Among all scientific disciplines,
programming holds a special place for two reasons. First, the artistic part is
not only undeniable but also essential. Second, and much like in a purely
artistic discipline, the act of programming is driven partly by the notion of
aesthetics: the pleasure we have in creating beautiful things.
Eventhough the importance of aesthetics in the act of programming is now
unquestioned, not much has been written on the subject. The field called
"psychology of programming" focuses on the cognitive aspects of the activity,
with the goal of improving the productivity of the programmers. Very few
programmers have written about their thought process while programming either,
and even fewer on their concern for aesthetics, and the impact it has on their
activity.
I can see three reasons for this. First, it may be frightening to do
so. Reflecting on our aesthetic sensitivities involves thinking about our own
emotions, and not everyone is ready or willing to perform that kind of
introspection. Second, this introspection needs to be very deep, as our
aesthetic sensitivities are extremely personal. Third, this introspection also
needs to be very broad, as our aesthetic sensitivities affect every part of
our lives.
The purpose of this essay is to shed some new light on the art of programming
by answering questions such as what makes us like or dislike such or such
language or paradigm, or why do we shape our programs the way we do, all of
this from the angle of aesthetics. Starting from the assumption that
aesthetics is an inherently transversal concern, it should be possible for
every programmer to find the same aesthetic driving force in every creative
activity they undertake, not just programming, and in doing so, get deeper
insight on why and how they do things the way they do.
On the other hand, because our aesthetic sensitivities are so personal, all we
can really do is relate our own experiences and share it with others, in the
hope that it will inspire them to do the same. It is certainly an important
purpose of this essay. My personal life has been revolving around three major
creative activities, of equal importance: programming in Lisp, playing Jazz
music and practicing Aikido. But why so many of them, why so different ones,
and why these specifically?
By introspecting my personal aesthetic sensitivities, I eventually realized
that my tastes in the scientific, artistic and physical domains are all
motivated by the same driving forces, hence unifying Lisp, Jazz and Aikido as
three expressions of a single essence, not so different after all. In doing
so, I gained considerable insight on my own psychology of programming, perhaps
common to most lispers, perhaps also common to other programming
communities. But that is for the reader to decide...
--
Resistance is futile. You will be jazzimilated.
Lisp, Jazz, Aïkido: http://www.didierverna.info
Greetings,
We are pleased to announce that the following chapter has been published in
Handbook of Parallel Constraint Reasoning (Springer). Please find the title and
abstract below.
Title and corresponding authors:
"Parallel Model Checking Algorithms for Linear-Time Temporal Logic"
Jiri Barnat (1), Vincent Bloemen (2), Alexandre Duret-Lutz (3), Alfons Laarman (4),
Laure Petrucci(5), Jaco van de Pol (2), and Etienne Renault (3)
(1) Masaryk University, Brno, Czech Republic
(2) University of Twente, Enschede, The Netherlands
(3) LRDE, Epita, Paris, France
(4) Leiden University, Leiden, The Netherlands
(5) LIPN, CNRS, Paris, France
Abstract:
Model checking is a fully automated, formal method for demonstrating absence of bugs in reactive systems. Herebugs are violations of properties in Linear-time Temporal Logic (LTL). A fundamental challenge to its application is the exponential explosion in the number of system states. The current chapter discusses the use of parallelism in order to overcome this challenge. We reiterate the textbook automata-theoretic approach, which reduces the model checking problem to the graph problem of finding cycles. We discuss several parallel algorithms that attack this problem in various ways, each with different characteristics: Depth-first search (DFS) based algorithms rely on heuristics for good parallelization, but exhibit a low complexity and good on-the-fly behavior. Breadth-first search (BFS) based approaches, on the other hand, offer good parallel scalability and support distributed parallelism. In addition, we present various simpler model checking tasks, which still solve a large and important subset of the LTL model checking problem, and show how these can be exploited to yield more efficient algorithms. In particular, we provide simplified DFS-based search algorithms and show that the BFS-based algorithms exhibit optimal runtimes in certain cases.
More information at :
https://www.lrde.epita.fr/wiki/Publications/barnat.18.hpcr <https://www.lrde.epita.fr/wiki/Publications/barnat.18.hpcr>
ELS'18 - 11th European Lisp Symposium
Centro Cultural Cortijo de Miraflores
Marbella, Málaga
Spain
April 16-17 2018
In cooperation with: ACM SIGPLAN
Sponsored by RavenPack, Brunner Software GmbH,
Franz Inc., LispWorks Ltd., and EPITA
http://www.european-lisp-symposium.org/
Recent news:
- ELS 2018 is in cooperation with ACM SIGPLAN
- Full program now available on the website
- Still one week to register!
The purpose of the European Lisp Symposium is to provide a forum for
the discussion and dissemination of all aspects of design,
implementation and application of any of the Lisp and Lisp-inspired
dialects, including Common Lisp, Scheme, Emacs Lisp, AutoLisp, ISLISP,
Dylan, Clojure, ACL2, ECMAScript, Racket, SKILL, Hop and so on. We
encourage everyone interested in Lisp to participate.
Keynote speakers:
- Vsevolod Domkin -- Lisp in a Startup: the Good, the Bad, and the Ugly
- R. Matthew Emerson -- This Old Lisp (a look at Clozure CL)
Important dates:
- 16-17 Apr 2018 Symposium
Programme chair:
David Cooper, Genworks Intl., USA
Local chairs:
Andrew Lawson, Ravenpack, Spain
Programme committee:
Andy Wingo, Igalia, Spain
Christophe Rhodes, Goldsmiths University, UK
Christopher Wellons Null Program USA
Ernst van Waning, Infometrics.nl, Netherlands
Irène Durand, LaBRI, Université de Bordeaux, France
Julian Padget, University of Bath, UK
Ludovic Courtès, Inria, France
Michael Sperber, DeinProgramm, Germany
Nicolas Neuss, FAU Erlangen-Nürnberg, Germany
Olin Shivers Northeastern University USA
Philipp Marek, Austria
Robert Strandh, Université de Bordeaux, France
Sacha Chua Living an Awesome Life Canada
Scott McKay, Future Fuel, USA
Search Keywords:
#els2018, ELS 2018, ELS '18, European Lisp Symposium 2018,
European Lisp Symposium '18, 10th ELS, 10th European Lisp Symposium,
European Lisp Conference 2018, European Lisp Conference '18
--
Resistance is futile. You will be jazzimilated.
Lisp, Jazz, Aïkido: http://www.didierverna.info
Greetings,
I am pleased to announce that our paper "Approaches in Typecase Optimization”
has been accepted to the next European Lisp Symposium, April 16-17,
Marbella, Spain. Please find the abstract below.
If anyone would like to take a look at the paper, your comments are welcome.
https://www.lrde.epita.fr/dload/papers/newton.18.els.pdf <https://www.lrde.epita.fr/dload/papers/newton.18.els.pdf>
Abstract
We contrast two approaches to optimizing the Common Lisp typecase macro expansion. The first approach is based on heuristics intended to estimate run time performance of certain type checks involving Common Lisp type specifiers. The technique may, depending on code size, exhaustively search the space of permutations of the type checks, intent on finding the optimal order. With the second technique, we represent a typecase form as a type specifier, encapsulating the side-effecting non-Boolean parts so as to appear compatible with the Common Lisp type algebra operators. The encapsulated expressions are specially handled so that the Common Lisp type algebra functions preserve them, and we can unwrap them after a process of Boolean reduction into efficient Common Lisp code, maintaining the appropriate side effects but eliminating unnecessary type checks. Both approaches allow us to identify unreachable code, test for exhaustiveness of the clauses and eliminate type checks which are calculated to be redundant.