Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Encapsulation and inheritance in object-oriented programming languages
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Relations as semantic constructs in an object-oriented language
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Eiffel: the language
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Pattern languages of program design 3
The Unified Modeling Language user guide
The Unified Modeling Language user guide
The unified software development process
The unified software development process
The entity-relationship model—toward a unified view of data
ACM Transactions on Database Systems (TODS) - Special issue: papers from the international conference on very large data bases: September 22–24, 1975, Framingham, MA
On the criteria to be used in decomposing systems into modules
Communications of the ACM
A Relationship Mechanism for a Strongly Typed Object-Oriented Database Programming Language
VLDB '91 Proceedings of the 17th International Conference on Very Large Data Bases
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Abstracting Object Interactions Using Composition Filters
ECOOP '93 Proceedings of the Workshop on Object-Based Distributed Programming
Object Teams: Improving Modularity for Crosscutting Collaborations
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
An overview of JML tools and applications
International Journal on Software Tools for Technology Transfer (STTT) - Special section on formal methods for industrial critical systems
Proceedings of the 5th international conference on Aspect-oriented software development
Specification and verification challenges for sequential object-oriented programs
Formal Aspects of Computing
Modular verification of static class invariants
FM'05 Proceedings of the 2005 international conference on Formal Methods
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
First-class relationships in an object-oriented language
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Efficient object querying for java
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Relational aspects as tracematches
Proceedings of the 7th international conference on Aspect-oriented software development
Roles, an interdisciplinary perspective
Applied Ontology - Roles, an interdisciplinary perspective
Design of a class library for association relationships
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
Implementing relationships using Affinity
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages
Nested and specialized associations
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages
International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming
Checking Framework Interactions with Relationships
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
ER '09 Proceedings of the 28th International Conference on Conceptual Modeling
Modular reasoning about invariants over shared state with interposed data members
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology
Verifying multi-object invariants with relationships
Proceedings of the 25th European conference on Object-oriented programming
Roles, an interdisciplinary perspective
Applied Ontology - Roles, an interdisciplinary perspective
Hi-index | 0.00 |
Understanding the collaborations that arise between the instances of classes in object-oriented programs is important for the analysis, optimization, or modification of the program. Relationships have been proposed as a programming language construct to enable an explicit representation of these collaborations. This paper introduces a relational model that allows the specification of systems composed of classes and relationships. These specifications rely in particular on member interposition (facilitates the specification of relationship-dependent members of classes) and on relationship invariants (facilitate the specification of the consistency constraints imposed on object collaborations). The notion of a mathematical relation is the basis for the model. Employing relations as an abstraction of relationships, the specification of a system can be formalized using discrete mathematics. The relational model allows thus not only the specification of object collaborations but also provides a foundation to reason about these collaborations in a rigorous fashion.