Book 3566

Nowadays, developers have to face the proliferation of hardware and software environments, the increasing demands of the users, the growing number of p- grams and the sharing of information, competences and services thanks to the generalization ofdatabasesandcommunication networks. Aprogramisnomore a monolithic entity conceived, produced and ?nalized before being used. A p- gram is now seen as an open and adaptive frame, which, for example, can - namically incorporate services not foreseen by the initial designer. These new needs call for new control structures and program interactions. Unconventionalapproachestoprogramminghavelongbeendevelopedinv- iousnichesandconstituteareservoirofalternativewaystofacetheprogramming languages crisis. New models of programming (e. g. , bio-inspired computing, - ti?cialchemistry,amorphouscomputing,. . . )arealsocurrentlyexperiencinga renewed period of growth as they face speci?c needs and new application - mains. These approaches provide new abstractions and notations or develop new ways of interacting with programs. They are implemented by embedding new sophisticated data structures in a classical programming model (API), by extending an existing language with new constructs (to handle concurrency, - ceptions, open environments, . . . ), by conceiving new software life cycles and program executions (aspect weaving, run-time compilation) or by relying on an entire new paradigm to specify a computation. They are inspired by theoretical considerations (e. g. , topological, algebraic or logical foundations), driven by the domain at hand (domain-speci?c languages like PostScript, musical notation, animation, signal processing, etc. ) or by metaphors taken from various areas (quantum computing, computing with molecules, information processing in - ological tissues, problem solving from nature, ethological and social modeling).