, Volume 6, Issue 1, pp 21–52 | Cite as

Integrating Constraints and Concurrent Objects in Musical Applications: A Calculus and its Visual Language

  • Camilo Rueda
  • Gloria Alvarez
  • Luis O. Quesada
  • Gabriel Tamura
  • Frank Valencia
  • Juan Francisco Díaz
  • Gerard Assayag


We propose PiCO, a calculus integrating concurrent objects and constraints, as a base for music composition tools. In contrast with calculi such as NiehrenMueller:Free, milner.parrow.ea:calculus-mobile or TyCO vasconcelos:typed-concurrent, both constraints and objects are primitive notions in PiCO. In PiCO a base object model is extended with constraints by orthogonally adding the notion of constraint system found in the ρ-calculus OzCalculus. Concurrent processes make use of a constraint store to synchronize communications either via the ask and tell operations of the constraint model or the standard message-passing mechanism of the object model. A message delegation mechanism built into the calculus allows encoding of general forms of inheritance. This paper includes encodings in PiCO of the concepts of class and sub-class. These allow us to represent complex partially defined objects such as musical structures in a compact way. We illustrate the transparent interaction of constraints and objects by a musical example involving harmonic and temporal relations. The relationship between Cordial, a visual language for music composition applications, and its underlying model PiCO is described.

concurrent programming constraint programming concurrent constraint objects TyCO PiCO formal calculi mobile processes visual language computer aided music composition 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    M. Abadi and L. Cardelli (1994). “A Theory of Primitive Objects: Untyped and First-order Systems. ” Proceedings of Theoretical Aspects of Computer Software.Google Scholar
  2. 2.
    G. Assayag and C. Agon (1996). “OpenMusic Architecture. ” Proceedings of ICMC' 96. Hong Kong, China.Google Scholar
  3. 3.
    A. Bonnet and C. Rueda (1998). Situation: Un Langage Visuel Basee sur les Contraintes pour la Composition Musicale. Recherches et Applications en Informatique Musicale. M. Chemillier and F. Pachet, editors, HERMES, Paris, France.Google Scholar
  4. 4.
    P. Codognet and D. Diaz (1996). “Compiling Constraints in clp(FD). ” J. Logic Programming, 27(1): 1–199.Google Scholar
  5. 5.
    N. Joachim and M. Müller (1995). “Constraints for Free in Concurrent Computation. ” Asian Computing Science Conference. K. Kanchanasut and J.-J. Lévy, editors, pages 171–186, Pathumthani, Thailand.Google Scholar
  6. 6.
    R. Milner (1991). “The Polyadic π-Calculus: A Tutorial. ” Technical Report ECS-LFCS-91-180, Laboratory for Foundations of Computer Science. Also in Logic and Algebra of Specification, F. L. Bauer, W. Brauer and H. Schwichtenberg, editors, Springer Verlag, (1993).Google Scholar
  7. 7.
    F. Pachet and P. Roy (1995). “Mixing Constraints and Objects: A Case Study in Automatic Harmonization. ” Proceedings of TOOLS Europe'95. pages 119–126, Versailles, France.Google Scholar
  8. 8.
    L. Quesada, C. Rueda, and G. Tamura (1997). “The Visual Model of Cordial. ” Proceedings of the CLEI97. Valparaiso, Chile.Google Scholar
  9. 9.
    J. P. R. Milner and D. Walker (1992). “A Calculus of Mobile Processes, Parts I and II. ” Journal of Information and Computation, 100: 1–77.Google Scholar
  10. 10.
    J. Réty (1997). “Un Langage Distribué Concurrent Avec Contraintes. ” JFPLC-97.Google Scholar
  11. 11.
    V. A. Saraswat (1993). Concurrent Constraint Programming. The MIT Press, Cambridge, MA.Google Scholar
  12. 12.
    G. Smolka (1994a). “A Calculus for Higher-Order Concurrent Constraint Programming with Deep Guards. ” Research Report RR-94-03, Deutsches Forschungszentrum für Künstliche Intelligenz, Stuhlsatzenhausweg 3, D-66123 Saarbrücken, Germany.Google Scholar
  13. 13.
    G. Smolka (1994b). “A Foundation for Higher-order Concurrent Constraint Programming. ” 1st International Conference on Constraints in Computational Logics. J.-P. Jouannaud, editor, pages 50–72, München, Germany.Google Scholar
  14. 14.
    D. N. Turner (1995). “The Polymorphic Pi-Calculus: Theory and Implementation. ” Ph.D. Thesis, Laboratory for Foundations of Computer Science.Google Scholar
  15. 15.
    F. Valencia, J. F. Diaz, and C. Rueda (1997). “The π+-Calculus. ” Proceedings of the CLEI97. Valparaiso, Chile.Google Scholar
  16. 16.
    V. T. Vasconcelos (1994). “Typed Concurrent Objects. ” Proc. of 8th European Conference on Object-Oriented Programming (ECOOP'94), M. Tokoro and R. Pareschi, editors, volume 821 of Lecture Notes in Computer Science, pages 100–117.Google Scholar
  17. 17.
    D. Walker (1995). “Objects in the π-Calculus. ” Journal of Information and Computation, 116(2): 253–271.Google Scholar

Copyright information

© Kluwer Academic Publishers 2001

Authors and Affiliations

  • Camilo Rueda
    • 1
  • Gloria Alvarez
    • 1
  • Luis O. Quesada
    • 1
  • Gabriel Tamura
    • 1
  • Frank Valencia
    • 1
  • Juan Francisco Díaz
    • 2
  • Gerard Assayag
    • 3
  1. 1.Department of Computer SciencePontificia Universidad JaverianaCaliColombia
  2. 2.Department of Computer ScienceUniversidad del ValleCaliColombia
  3. 3.IRCAMParisFrance

Personalised recommendations