Abstract
Alloy is a little language for describing structural properties. It offers a declaration syntax compatible with graphical object models, and a set-based formula syntax powerful enough to express complex constraints and yet amenable to a fully automatic semantic analysis. Its meaning is given by translation to an even smaller (formally defined) kernel. This paper presents the language in its entirety, and explains its motivation, contributions and deficiencies.
- ABITEBOUL, S. AND HULL, R. 1987. IFO: A Formal Semantic Database Model. ACM Trans. Data. Syst. 12, 4 (Dec.), 525-565. Google Scholar
- ABRIAL, J. R. 1974. Data Semantics. In J. W. Klimbie and K. L. Koffeman (eds.), Data Base Management. North Holland.Google Scholar
- ARTHAN, R. 1996. Undefinedness in Z: Issues for specification and proof. CADE-13 Workshop on Mechanization of Partial Functions, Rutgers University, New Brunswick, NJ (July).Google Scholar
- BOURDEAU, R. H. AND CHENG, B. H. C. 1995. A Formal Semantics for Object Model Diagrams. IEEE Trans. Softw. Eng. (Oct.). Google Scholar
- BICKFORD, M. AND GUASPARI, D. 1998. Lightweight Analysis of UML. TM-98-0036, Odyssey Research Associates, Ithaca, NY (Nov.).Google Scholar
- BOTTING, R. 1992. Maths in Ascii. Poster. Joint Meeting of Southern California Chapter of Mathematical Association of America and Society for Industrial and Applied Mathematics (SIAM, Spring). Text available at: http://www.csci.csusb.edu/dick/papers/rjb92b.discrete.Google Scholar
- BUNKENBURG, A. AND MORRIS, J. M. 2001. A Theory of Bunches, Acta Informatica, Vol. 37, 8 (May). Google Scholar
- COLEMAN, D., ARNOLD, P., BODOFF, S., DOLLIN, C., GILCHRIST, H., HAYES, F., AND JEREMAES, P. 1994. Object-Oriented Development: The Fusion Method, Prentice-Hall, Englewood Cliffs, NJ. Google Scholar
- COOK, S. AND DANIELS, J. 1994. Designing Object Systems: Object-Oriented Modelling with Syntropy. Prentice-Hall, Englewood Cliffs, NJ. Google Scholar
- CHEN, P. P. 1976. The Entity-Relationship Model-Toward a Unified View of Data. ACM Trans. Data. Sys. 1, 1, 9-36. Google Scholar
- CRAIGEN, D., MEISELS, I., AND SAALTINK, M. 1999. Analysing Z Specifications with Z/ EVES. In Industrial-Strength Formal Methods in Practice, J. P. Bowen and M. G. Hinchey (eds.), Springer- Verlag (Sept.).Google Scholar
- DAMON, C. A., MELTON, R., ALLEN, R. J., BIGELOW, E., IVERS, J. M., AND GARLAN, D. 1999. Formalizing a Specification for Analysis: The HLA Ownership Properties. Technical Report CMU-CS-99-126, School of Computer Science. Carnegie Mellon University, Pittsburgh, PA (Apr.).Google Scholar
- D'SOUZA, D. F. AND WILLS, A. C. 1998. Objects, Components and Frameworks With Uml: The Catalysis Approach. Addison-Wesley. Google Scholar
- EVANS, A. S. AND CLARK, A. N. 1998. Foundations of the unified modeling language. In 2nd Northern Formal Methods Workshop, Ilkley, Electronic Workshops in Computing. Springer-Verlag. Google Scholar
- FOWLER, M. 1997. Analysis Patterns: Reusable Object Models. Addison Wesley. Google Scholar
- FRANCE, R. B., BRUEL, J. M., AND L-PETRIE, M. M. 1997a. An Integrated Object-Oriented and Formal Modeling Environment. J. Obj. Orient. Prog. (JOOP) 10, 7 (Nov./ Dec.).Google Scholar
- FRANCE, R. B., BRUEL, J. M., L-PETRIE, M. M., AND SHROFF, M. 1997b. Exploring the Semantics of UML Type Structures with Z. Proceedings of the Formal Methods for Open Object-based Distributed Systems (FMOODS '97). Google Scholar
- GIL, J., HOWSE, J., AND KENT, S. 1999. Constraint Diagrams: A Step Beyond UML. In Proceedings of Tools USA '99. IEEE Computer Society Press (Dec.). Google Scholar
- GOGUEN, J. AND TARDO, J. 1979. An introduction to OBJ: A language for writing and testing software specifications. In M. Zelkowitz (ed.), Specification of Reliable Software 170-189. IEEE.Google Scholar
- GRIES, D. AND SCHNEIDER, F. B. 1995. Avoiding the Undefined by Underspecification. In Jan van Leeuwen (ed.), Computer Science Today: Recent Trends and Developments 1000, 366-373. Lecture Notes in Computer Science, Springer-Verlag, NY.Google Scholar
- GUTTAG, J. V., HORNING, J. J., AND MODET, A. 1990. Report on the Larch Shared Language: Version 2.3. Tech. Rep. 58, Compaq Systems Research Center, Palo Alto, CA.Google Scholar
- HALL, A. 1990. Using Z as a Specification Calculus for Object-Oriented Systems. In D. Bjorner, C. A. R. Hoare, and H. Langmaack (eds.), VDM and Z: Formal Methods in Software Development, 428, 290-381, Lecture Notes in Computer Science, Springer-Verlag, New York. Google Scholar
- HAMIE, A., HOWSE, J., AND KENT, S. 1998. Interpreting the Object Constraint Language. Proceedings of Asia Pacific Conference in Software Engineering, IEEE Press. Google Scholar
- HAMMER, E. M. 1995. Logic and Visual Information. Center for the Study of Language and Information, Stanford University, Stanford, CA. Google Scholar
- HAMMER, M. AND MCLEOD, D. 1981. Database Description with SDM: A Semantic Database Model. ACM Transactions on Database Systems 6, 2 (June), 351-386. Google Scholar
- HAREL, D. 1988. On visual formalisms. Commun. ACM 31, 5, 514-530. Google Scholar
- HAYES, I. 1993. Specification Case Studies. Prentice-Hall, Englewood Cliffs, NJ. Google Scholar
- HEHNER, E. C. R. 1981. Bunch Theory: A Simple Set Theory For Computer Science. Information Processing Letters 12, 1, February, pp. 26-30.Google Scholar
- HULL, R. AND KING, R. 1987. Semantic Data Models. ACM Comput. Surv. 20, 3, 153-189. Google Scholar
- JACKSON, D. 1996. Nitpick: A Checkable Specification language. Proceedings of the First ACM SIGSOFT Workshop on Formal Methods in Software Practice, San Diego, CA. (Jan.), 60- 69.Google Scholar
- JACKSON, D. 1997. Boolean Compilation of Relational Specifications. Tech. Rep. MIT-LCS-735, MIT Laboratory for Computer Science, Cambridge, MA (Dec.). Google Scholar
- JACKSON, D. 2000. Automating First-order Relational Logic. Proc. ACM SIGSOFT Conference on Foundations of Software Engineering. San Diego, CA (Nov.). Google Scholar
- JACKSON, D. AND DAMON, C. 1995. Semi-executable Specifications. Tech. rep. CMU-CS-95-216, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA. (Nov.).Google Scholar
- JACKSON, D. AND DAMON, C. A. 1996. Nitpick Reference Manual. Tech. Rep. CMU-CS-96-109. School of Computer Science, Carnegie Mellon University, Pittsburgh, PA (Jan.).Google Scholar
- JACKSON, D., JHA, S., AND DAMON, C. A. 1998. Isomorph-free Model Enumeration: A New Method for Checking Relational Specifications. ACM Trans. Prog. Lang. Syst. 20, 2 (March), 302-343. Google Scholar
- JACKSON, D., SHLYAKHTER, I., AND SRIDHARAN, M. 2001. A Micromodularity Mechanism. Proceedings of ACM SIGSOFT Conf. Foundations of Software Engineering=European Software Engineering Conference (FSE/ESEC '01), Vienna (Sept.). Google Scholar
- JACKSON, D. AND SULLIVAN, K. 2000. COM Revisited: Tool Assisted Modelling and Analysis of Software Structures. Proceedings of ACM SIGSOFT Conference Foundations of Software Engineering. San Diego (Nov.). Google Scholar
- JACKSON, D. AND VAZIRI, M. 2000. Finding Bugs with a Constraint Solver. International Symposium on Software Testing and Analysis (ISSTA '2000), Portland, OR (Aug.). Google Scholar
- JACKSON, D., NG, Y., AND WING, J. 1999. A Nitpick Analysis of IPv6. Formal Aspects of Computing.Google Scholar
- JACKSON, D., SCHECHTER, I., AND SHLYAKHTER, I. 2000. Alcoa: the Alloy Constraint Analyzer. Proceedings of the International Conference on Software Engineering, Limerick, Ireland (June). Google Scholar
- JACKSON, M. 1995. Software Requirements and Specifications: A Lexicon of Practice, Principles and Prejudices. Addison-Wesley. Google Scholar
- JONES, C. 1990. Systematic Software Development Using VDM. Second edition, Prentice-Hall. Google Scholar
- KHURSHID, S. AND JACKSON, D. 2000. Exploring the Design of an Intentional Naming Scheme with an Automatic Constraint Analyzer. Proc. Auto. Softw. Eng., Grenoble, France (Sept.). Google Scholar
- KOYMANS, C. P. J. AND DE LAVALETTE, G. R. R. 1989. The logic MPLw. Algebraic Methods: Theory, Tools and Applications, M. Wirsing and J. A. Bergstra (eds.), LNCS 394, Springer-Verlag, 247- 282. Google Scholar
- LAMPORT, L. 1986. LaTeX: a document preparation system. Addison-Wesley. Google Scholar
- LISKOV, B. AND GUTTAG, J. 2001. Program Development in Java. Addison-Wesley.Google Scholar
- PARNAS, D. 1995. A Logic for Describing, not Verifying, Software. Erkenntnis (Kluwer) 43, 3 (Nov.), 321-338.Google Scholar
- PECKHAM, J. AND MARYANSKI, F. 1998. Semantic Database Modeling: Survey, Applications, and Research Issues. ACM Computing Surveys 19, 3, 201-260. Google Scholar
- QUINE, W. V. O. 1937. New Foundations for Mathematical Logic. American Mathematical Monthly 44, 70-80.Google Scholar
- RICHTERS. M. AND GOGOLLA, M. 2001. OCL-Syntax, Semantics and Tools. In Tony Clark and Jos Warmer, editors, Advances in Object Modelling with the OCL, 38-63. Springer-Verlag, Berlin, LNCS. Google Scholar
- RUMBAUGH, J., BLAHA, M., PREMERLANI, W., EDDY, F., AND LORENSEN, W. 1991. Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, NJ. Google Scholar
- RUMBAUGH, J., JACOBSON, I., AND BOOCH, G. 1999. The Unified Modeling Language Reference Manual. Addison-Wesley. Google Scholar
- SAALTINK, M. 1997. Domain Checking Z Specifications. 4th NASA LaRC Formal Methods Workshop (Sept.).Google Scholar
- SCOTT, D. S. 1967. Existence and Description in Formal Logic. In Bertrand Russell, Philosopher of the Century, R. Schoenmann, ed., Allen and Unwin, pp. 181-200.Google Scholar
- SHIPMAN, D. W. 1981. The Functional Data Model and the Data Language DAPLEX. ACMTrans. Data. Syst. 6, 1, March, 140-173. Google Scholar
- SOWA, J. F. 1984. Conceptual Structures: Information Processing in Mind and Machine. Addison Wesley, Reading, MA. Google Scholar
- SPIVEY, J. M. 1992. The Z Notation: A Reference Manual. Second edition, Prentice-Hall, Englewood Cliffs, NJ. Google Scholar
- TARSKI, A. AND GIVANT, S. 1987. A Formalization of Set Theory Without Variables. American Mathematical Society Colloquium Publications 41, 1987.Google Scholar
- VALENTINE, S. H. 1998. Inconsistency and Undefinedness in Z-A Practical Guide. 11th International Conference of Z Users (ZUM '98), Berlin, Germany. Google Scholar
- VAZIRI, M. AND JACKSON, D. 1999. Some Shortcomings of OCL, the Object Constraint Language of UML. Response to Object Management Group's Request for Information on UML 2.0 (Dec.). Available at http://sdg.lcs.mit.edu/cdnj/publications.Google Scholar
- UML Partners. 1997. UML Semantics. Version 1.1, September. Available at http://www. rational.com.Google Scholar
- WARMER, J. AND KLEPPE, A. 1999. The Object Constraint Language: Precise Modeling with UML. Addison Wesley. Google Scholar
- JIA, X. 1998. ZTC: A Type Checker for Z Notation. User's Guide, Version 2.03. Division of Software Engineering School of Computer Science, Telecommunication, and Information Systems, DePaul University, Chicago, IL (Aug.).Google Scholar
- ZHANG, D. 2000. Design of the Collaborative Arrival Planner using Object Modeling. MEng. Thesis, Dept. of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, Cambridge, MA (May).Google Scholar
Index Terms
- Alloy: a lightweight object modelling notation
Recommendations
A micromodularity mechanism
ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineeringA simple mechanism for structuring specifications is described. By modelling structures as atoms, it remains entirely first-order and thus amenable to automatic analysis. And by interpreting fields of structures as relations, it allows the same ...
A micromodularity mechanism
A simple mechanism for structuring specifications is described. By modelling structures as atoms, it remains entirely first-order and thus amenable to automatic analysis. And by interpreting fields of structures as relations, it allows the same ...
Logical frameworks as a basis for verification tools: a case study
KBSE '95: Proceedings of The 10th Knowledge-Based Software Engineering ConferenceWide-spread acceptance and use of formal methods in software development hinges on the availability of powerful tools. Tools must be both reliable and offer real assistance to the user. Logical frameworks are a suitable medium to build such tools, since ...
Comments