Extending Alloy with Partial Instances

  • Vajih Montaghami
  • Derek Rayside
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7316)


Kodkod, the backend of Alloy4, incorporates new features for solving models where part of the solution, that is, a partial instance, is already known. Although Kodkod has had this functionality for some time, it is not explicitly available to the modeller through the Alloy language syntax. We propose an extension to the Alloy language to make partial instances explicitly available to the Alloy user. Explicit partial instances are helpful for the Alloy user in a number of capacities, including test-driven development, regression testing, modelling by example, and combined modelling and meta-modelling. The proposed syntax also gives the modeller explicit access to the performance benefits of Kodkod’s partial instance features.


Design Space Combine Modelling Alloy Model Partial Instance Relational Style 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bąk, K., Czarnecki, K., Wąsowski, A.: Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 102–122. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  2. 2.
    Beck, K.: Test-Driven Development. Addison-Wesley, Reading (2003)Google Scholar
  3. 3.
    Cai, Y.: Modularity in Design: Formal Modeling and Automated Analysis. Ph.D. thesis, University of Virginia (August 2006)Google Scholar
  4. 4.
    Cai, Y., Huynh, S., Xie, T.: A framework and tool supports for testing modularity of software design. In: Egyed, A., Fischer, B. (eds.) Proc. 22nd ASE, Atlanta, GA, pp. 441–444 (November 2007)Google Scholar
  5. 5.
    Cai, Y., Sullivan, K.: Modularity analysis of logical design models. In: Easterbrook, S., Uchitel, S. (eds.) Proc. 21st ASE, Tokyo, Japan (September 2006)Google Scholar
  6. 6.
    Irwin, J., Loingtier, J.M., Gilbert, J.R., Kiczales, G., Lamping, J., Mendhekar, A., Shpeisman, T.: Aspect-Oriented Programming of Sparse Matrix Code. In: Sun, Z., Reynders, J.V.W., Tholburn, M. (eds.) ISCOPE 1997. LNCS, vol. 1343, pp. 249–256. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  7. 7.
    Mendel, L.: Modeling by Example. Master’s thesis, MIT (September 2007)Google Scholar
  8. 8.
    Sullivan, K.J., Griswold, W.G., Cai, Y., Hallen, B.: The structure and value of modularity in software design. In: Proc. 9th FSE, Vienna, Austria, pp. 99–108 (September 2001)Google Scholar
  9. 9.
    Torlak, E.: A Constraint Solver for Software Engineering: Finding Models and Cores of Large Relational Specifications. Ph.D. thesis, MIT (2009)Google Scholar
  10. 10.
    Torlak, E., Jackson, D.: Kodkod: A Relational Model Finder. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 632–647. Springer, Heidelberg (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Vajih Montaghami
    • 1
  • Derek Rayside
    • 1
  1. 1.University of WaterlooCanada

Personalised recommendations