Mozart-Oz Multi-paradigm Programming Systempvr/mozart-oz.pdf · Mozart-Oz I Mozart is an...

26
Mozart-Oz Multi-paradigm Programming System Boris Mejías and the Mozart community www.mozart-oz.org [email protected] Boriss Mejías Mozart-Oz

Transcript of Mozart-Oz Multi-paradigm Programming Systempvr/mozart-oz.pdf · Mozart-Oz I Mozart is an...

  • Mozart-OzMulti-paradigm Programming System

    Boris Mejías and the Mozart community

    www.mozart-oz.org

    [email protected]

    Boriss Mejías Mozart-Oz

  • Mozart-Oz

    I Mozart is an implementation of Oz, a multi-paradigmprogramming language supporting

    I declarativeI functional (lazy and eager)I object-orientedI concurrentI distributedI logicI constraint programming

    as part of a coherent whole

    Boriss Mejías Mozart-Oz

  • Mozart-Oz

    I Mostly used in academia but also in industryI It runs on GNU/Linux, Solaris, MacOSX and other

    operating systemsI From Mozart Consortium (Belgium, Germany, Sweden) to

    an open Mozart community organized by a Boardgovernance model with MEPs

    I It provides the Oz Programming Interface (OPI)I Strengths:

    I Concurrency: ultra lightweight threads, dataflowsynchronization

    I Inferencing: constraint and logic programmingI Distribution: network transparent, open, fault tolerantI Flexibility: dynamically typed, incremental compilation

    Boriss Mejías Mozart-Oz

  • A bit of Oz code

    Boriss Mejías Mozart-Oz

  • A bit of Oz code

    Boriss Mejías Mozart-Oz

  • Teaching programming using Oz

    “Concepts, Techniques, andModels of ComputerProgramming” by Peter Van Royand Seif Haridi, published by MITPress in 2004. (900 pages)

    I One language to teach manyconcepts involved in all majorprogramming paradigms

    I Used for teaching in more than20 universities worldwide

    I The book is available in English,Polish, and soon in Spanish,Japanese and French

    Boriss Mejías Mozart-Oz

  • Strasheelaby Torsten Anders

    I A constraint-based music composition systemI Users declaratively state a music theory model (as Oz

    code) – computer generates music which complies withthis theory

    I A theory model is implemented by a set of compositionalrules (constraints) applied to a music representation inwhich some aspects are expressed by variables

    I Results are output into various formats, e.g. music notationand sound synthesis

    I Strasheela is highly programmable and extendable, e.g.users control what information is stored in the musicrepresentation

    Boriss Mejías Mozart-Oz

  • Strasheela

    Boriss Mejías Mozart-Oz

  • SCOLL Safe Collaboration Languageby Fred Spiessens and Yves Jaradin

    Boriss Mejías Mozart-Oz

  • SCOLL Safe Collaboration Languageby Fred Spiessens and Yves Jaradin

    Boriss Mejías Mozart-Oz

  • LOGIS Caster Schedulerby Filip Konvička and LOGIS, s.r.o.

    I It is a commercial planning/scheduling tool for continuousingot steel casting plants

    I Client/server application (Oz-based server, Java-basedGUI clients)

    I Users provides business and technological constraintsfrom metal industry, and the application produce aschedule for the plant

    I Able to produce a month’s schedule for a medium-sizedsteel plant (about 200,000 tons/month) within 20 minutes.Previous methodologies never allowed plants to producemonth’s schedule.

    I Developed and used in Czech Republic

    Boriss Mejías Mozart-Oz

  • LOGIS Caster Schedulerby Filip Konvička and LOGIS, s.r.o.

    Boriss Mejías Mozart-Oz

  • LOGIS Caster Schedulerby Filip Konvička and LOGIS, s.r.o.

    Boriss Mejías Mozart-Oz

  • Peer-to-peer libraries P2PS/P2PKitby Valentin Mesaros, Bruno Carton and Kevin Glynn

    I Self optimized Chord-alike structured overlay networkorganized by successor, predecessor and finger-table

    I Tolerant to link and processes failures

    Boriss Mejías Mozart-Oz

  • Peer-to-peer libraries P2PS/P2PKitby Valentin Mesaros, Bruno Carton and Kevin Glynn

    P2PS/P2PKit running on PlanetLab

    Boriss Mejías Mozart-Oz

  • Enhanced Binding Library EBL/tkby Donatien Grolaux

    I State-of-the-art toolkit for graphical interfacesI It mixes declarative and object-oriented approachesI 1/3 lines of code compare to standard toolkits (Swing,

    AWT, GTk, etc.)I Each window component is freely detachable from its

    original place, and can be dynamically attached to anyother EBL/tk window

    I This dynamic migration process is completely transparentto the running application itself

    I Migration of UI can be done to a different machineI Seamlessly integrated in Mozart

    Boriss Mejías Mozart-Oz

  • Enhanced Binding Library EBL/tkby Donatien Grolaux

    Boriss Mejías Mozart-Oz

  • Enhanced Binding Library EBL/tkby Donatien Grolaux

    Boriss Mejías Mozart-Oz

  • Enhanced Binding Library EBL/tkby Donatien Grolaux

    Boriss Mejías Mozart-Oz

  • Enhanced Binding Library EBL/tkby Donatien Grolaux

    Boriss Mejías Mozart-Oz

  • Enhanced Binding Library EBL/tkby Donatien Grolaux

    Boriss Mejías Mozart-Oz

  • Enhanced Binding Library EBL/tkby Donatien Grolaux

    Boriss Mejías Mozart-Oz

  • Solving package installation problemsby Sébastien Mouthuy

    I Check that any package proposed in a distribution couldbe installed with respect to its dependencies requirements(same as aptitude, yum, etc)

    I NP-Hard problem solved with constraint programmingI New search heuristics giving solutions for any package in

    less than 2 secondsI It can find an installation solution to all packages of the

    entire Debian distribution (33200 different packages) inless than 1h50. Much faster than SAT solvers

    I Simple implementation using cheap threads and data-flowsynchronization

    Boriss Mejías Mozart-Oz

  • Current Projects

    I MozDSS: Integration with middleware for transparentdistribution support called Distribution SubSystem (ErikKlintskog, Raphaël Collet, Boriss Mejías)

    I GeOz: Integration with Gecode, a state-of-the-artconstraint programming library (Gustavo Gutierrez et al. inColombia)

    I EVERGROW: European Project supporting ourpeer-to-peer development

    I SELFMAN: European Project to study large self-managingdistributed applications based on structured overlaynetworks

    Boriss Mejías Mozart-Oz

  • Final Message

    I Mozart-Oz is a powerful and mature programming systemI Since 1995I Around 106 lines of code

    I It supports all major programming paradigms giving youthe possibility of choosing the right one for every problem

    I Widely used for constraint programmingI It supports cheap concurrency and distributed

    programming transparentlyI Not only for academia. Also professional software

    development.

    Boriss Mejías Mozart-Oz

  • Useful links

    I Mozart-Oz: www.mozart-oz.orgI Strasheela: strasheela.sourceforge.netI SCOLL:www.info.ucl.ac.be/~fsp/scollardocmain.html

    I LOGIS Caster Scheduler: www.logis.czI P2PS: gforge.info.ucl.ac.be/projects/p2psI P2PKit: p2pkit.info.ucl.ac.beI EVERGROW: www.evergrow.orgI SELFMAN: www.ist-selfman.org

    Boriss Mejías Mozart-Oz