IEEE Transactions on Software Engineering
Script: a communication abstraction mechanism and its verification
Science of Computer Programming
A cookbook for using the model-view controller user interface paradigm in Smalltalk-80
Journal of Object-Oriented Programming
Demeter: a case study of software growth through parameterized classes
ICSE '88 Proceedings of the 10th international conference on Software engineering
An object-oriented structured design method for code generation
ACM SIGSOFT Software Engineering Notes
Unidraw: a framework for building domain-specific
UIST '89 Proceedings of the 2nd annual ACM SIGGRAPH symposium on User interface software and technology
A laboratory for teaching object oriented thinking
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented design: a responsibility-driven approach
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
DSM: an object-relationship modeling language
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Design reuse and frameworks in the smalltalk-80 system
Software reusability
Multiparty Interactions for Interprocess Communication and Synchronization
IEEE Transactions on Software Engineering
Object oriented design with applications
Object oriented design with applications
Surveying current research in object-oriented design
Communications of the ACM
Object-oriented specification of reactive systems
ICSE '90 Proceedings of the 12th international conference on Software engineering
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Assuring Good Style for Object-Oriented Programs
IEEE Software
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Reconciling environment integration and software evolution
ACM Transactions on Software Engineering and Methodology (TOSEM)
Documenting frameworks using patterns
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
ET++SwapsManager: using object technology in the financial engineering domain
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Ensuring semantic integrity of reusable objects (panel)
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Connecting software components with declarative glue
ICSE '92 Proceedings of the 14th international conference on Software engineering
Maintenance Support for Object-Oriented Programs
IEEE Transactions on Software Engineering - Special issue on software maintenance
On the purpose of object-oriented analysis
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Adaptive object-oriented programming using graph-based customization
Communications of the ACM
Integrated object-oriented testing and development processes
Communications of the ACM
Complex associations: abstractions in object-oriented modeling
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Timethread-role maps for object-oriented design of real-time-and-distributed systems
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
User interface system based on active objects
SETA2 Proceedings of the second international symposium on Environments and tools for Ada
Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse
IEEE Transactions on Software Engineering
How and why to encapsulate class trees
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
A reflective model for first class dependencies
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Towards a methodology for explicit composition of metaobjects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
ACM Transactions on Database Systems (TODS)
Evaluating The Mediator Method: Prism as a Case Study
IEEE Transactions on Software Engineering
Reuse contracts: managing the evolution of reusable assets
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using role components in implement collaboration-based designs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Evolution of object behavior using context relations
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Hooking into object-oriented application frameworks
ICSE '97 Proceedings of the 19th international conference on Software engineering
Program and interface slicing for reverse engineering
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Representing and querying reusable object frameworks
Proceedings of the 1997 symposium on Software reusability
Frameworks = (components + patterns)
Communications of the ACM
From custom applications to domain-specific frameworks
Communications of the ACM
Maintaining the consistency of class libraries during their evolution
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Modeling dynamic collections of interdependent objects using path-based rules
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Executable connectors: towards reusable design elements
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Evolution of Object Behavior Using Context Relations
IEEE Transactions on Software Engineering
Adaptive plug-and-play components for evolutionary software development
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Role model based framework design and integration
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Comparing architectural styles: broker specializes mediator
ISAW '98 Proceedings of the third international workshop on Software architecture
The impact of object-orientation on application development
IBM Systems Journal
Constructing distributed groupware systems: a walk on the Wilde side
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
Subject-oriented design: towards improved alignment of requirements, design, and code
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Role model designs and implementations with aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Modeling personnel and roles for electronic commerce retail
SIGCPR '00 Proceedings of the 2000 ACM SIGCPR conference on Computer personnel research
Mechanisms for specifying communication behavior in object oriented database systems
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 1
Software evolution in componentware using requirements/assurances contracts
Proceedings of the 22nd international conference on Software engineering
Documenting framework behavior
ACM Computing Surveys (CSUR)
Consistent framework documentation with computed links and framework contracts
ACM Computing Surveys (CSUR)
Towards agent-oriented assistance for framework instantiation
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
TACCLE: a methodology for object-oriented software testing at the class and cluster levels
ACM Transactions on Software Engineering and Methodology (TOSEM)
eLeLePUS - a language for specification of software design patterns
Proceedings of the 2001 ACM symposium on Applied computing
Supporting the deployment of object oriented frameworks
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
ACM Transactions on Software Engineering and Methodology (TOSEM)
Towards a standard design language for AOSD
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Evolvable programming based on collaboration-field and role model
Proceedings of the International Workshop on Principles of Software Evolution
Reasoning about the correctness of software development process
Proceedings of the 24th International Conference on Software Engineering
An analyzable annotation language
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Views and Patterns in E-Commerce Application Design
Annals of Software Engineering
Automating Support for Software Evolution in UML
Automated Software Engineering
Role Models — Patterns of Agent System Analysis and Design
BT Technology Journal
A Theory of Object-Oriented Design
Information Systems Frontiers
Towards Specifying Constraints for Object-Oriented Frameworks
Information Systems Frontiers
Embedding built-in tests in hot spots of an object-oriented framework
ACM SIGPLAN Notices
The Role of Polymorphic Reuse Mechanisms in Schema Evolution in an Object-Oriented Database
IEEE Transactions on Knowledge and Data Engineering
Object-Oriented Software Evolution
IEEE Transactions on Software Engineering
Reusing Software: Issues and Research Directions
IEEE Transactions on Software Engineering
Information Systems - The 13th international conference on advanced information systems engineering (CAiSE*01)
Expressing Structural Properties as Language Constructs
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
Mixin-Based Programming in C++
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
Modeling Engineering Structures with Constrained Objects
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Lightweight Analysis of Object Interactions
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
VLDB '92 Proceedings of the 18th International Conference on Very Large Data Bases
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
Integration in Component-Based Software Development Using Design Patterns
COMPSAC '00 24th International Computer Software and Applications Conference
Logic for Component-Based Software Development
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part I
Structured Document Framework for Design Patterns Based on SGML
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
A Language Framework for Multi-Object Coordination
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
ObjChart: Tangible Specification of Reactive Object Behavior
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Interface-Based Protocol Specification of Open Systems using PSL
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
UML-F: A Modeling Language for Object-Oriented Frameworks
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Dynamically Composable Collaborations with Delegation Layers
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Difference-Based Modules: A Class-Independent Module Mechanism
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Supporting the Deployment of Object-Oriented Frameworks
CAiSE '02 Proceedings of the 14th International Conference on Advanced Information Systems Engineering
Abstracting Services in a Heterogeneous Environment
Middleware '01 Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg
Adding Design by Contract to the Ada Language
Ada-Europe '02 Proceedings of the 7th Ada-Europe International Conference on Reliable Software Technologies
Formal Methods for Component Software: The Refinement Calculus Perspective
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
Adapting Object-Oriented Components
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
OOD Frameworks in Component-Based Software - Development in Computational Logic
LOPSTR '98 Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation
Wilde: Supporting Change in Groupware
COORDINATION '00 Proceedings of the 4th International Conference on Coordination Languages and Models
On the Integration of Configuration and Meta-level Programming Approaches
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
A Specification Model for Interface Suites
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Towards a Compositional Approach to the Design and Verification of Distributed Systems
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume I - Volume I
Compositional Symmetric Sharing in B
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume I - Volume I
Developing Components in the Presence of Re-entrance
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume II
Increasing the Testability of Object-Oriented Frameworks with Built-in Tests
AISA '02 Proceedings of the First International Workshop on Advanced Internet Services and Applications
Separating computation, coordination and configuration
Journal of Software Maintenance: Research and Practice - Special issue: Separation of concerns for software evolution
An enhanced role model for alleviating the role-binding anomaly
Software—Practice & Experience
Architecture, design, implementation
Proceedings of the 25th International Conference on Software Engineering
Principles in formal specification of object oriented design and architecture
CASCON '01 Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research
Towards specifying constraints for object-oriented frameworks
CASCON '01 Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research
The contract approach illustrated with a distributed routing protocol
CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
Connector Modeling Method for Component Extraction
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Specifying Lifecycles of Object Interactions within Distributed Systems
SMW '96 Proceedings of the 2nd IEEE International Workshop on Systems Management (SMW'96)
Specifying Java Frameworks Using Abstract Programs
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Implementing Collaboration-Based Designs Using Aspect-Oriented Programming
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Object-Oriented Behaviour Modelling or Real-Time Design
WORDS '97 Proceedings of the 3rd Workshop on Object-Oriented Real-Time Dependable Systems - (WORDS '97)
Frameworks in Catalysis: pictorial notation and formal semantics
ICFEM '97 Proceedings of the 1st International Conference on Formal Engineering Methods
Implementing Reusable Object-Oriented Components
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Reusable Interactions for Animation
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Designing reliable systems from reliable components using the context-dependent constraint concept
ISSRE '96 Proceedings of the The Seventh International Symposium on Software Reliability Engineering
Runtime verification of .NET contracts
Journal of Systems and Software - Special issue on: Component-based software engineering
Responsibilities and Rewards: Specifying Design Patterns
Proceedings of the 26th International Conference on Software Engineering
The impact of object-orientation on application development
IBM Systems Journal
Method driven model: a unified model for an object composition language
ACM SIGPLAN Notices
A framework instantiation approach based on the features model
Journal of Systems and Software - Special issue: Applications of statistics in software engineering
"Computer, please, tell me what i have to do...": an approach to agent-aided application composition
Journal of Systems and Software - Special issue: Automated component-based software engineering
Remote method invocation as a first-class citizen
Distributed Computing
An adaptive object model with dynamic role binding
Proceedings of the 27th international conference on Software engineering
Abstract behavior types: a foundation model for components and their composition
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Formal specification and analysis of JAAS framework
Proceedings of the 2006 international workshop on Software engineering for secure systems
Automated generation of monitors for pattern contracts
Proceedings of the 2006 ACM symposium on Applied computing
Pattern categories: a mathematical approach for organizing design patterns
CRPIT '02 Proceedings of the 2002 conference on Pattern languages of programs - Volume 13
Design fragments make using frameworks easier
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
An empirical comparison between direct and indirect test result checking approaches
Proceedings of the 3rd international workshop on Software quality assurance
A high-level requirements engineering methodology for electronic system-level design
Computers and Electrical Engineering
Approximate Structural Context Matching: An Approach to Recommend Relevant Examples
IEEE Transactions on Software Engineering
Identifying and addressing problems in object-oriented framework reuse
Empirical Software Engineering
SCS '06 Proceedings of the eleventh Australian workshop on Safety critical systems and software - Volume 69
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Generative hierarchical contracts for conformance testing of sequential containers
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
Enforcing object protocols by combining static and runtime analysis
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Runtime Monitoring of Object Invariants with Guarantee
Runtime Verification
Checking semantic usage of frameworks
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
Reusing Patterns through Design Refinement
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Checking Framework Interactions with Relationships
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
A layered structure for uniform version management in component based systems
ACM SIGSOFT Software Engineering Notes
Tracing correct usage of design patterns
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
A Rewriting Semantics for a Software Architecture Description Language
Electronic Notes in Theoretical Computer Science (ENTCS)
Initiating a design pattern catalog for embedded network systems
EMSOFT '10 Proceedings of the tenth ACM international conference on Embedded software
Collaborative approach for modeling and performing mobile software process components
CTS'05 Proceedings of the 2005 international conference on Collaborative technologies and systems
An approach for class testing from class contracts
ATVA'10 Proceedings of the 8th international conference on Automated technology for verification and analysis
Nested and dynamic contract boundaries
IFL'09 Proceedings of the 21st international conference on Implementation and application of functional languages
Ambient contracts: verifying and enforcing ambient object compositions à la carte
Personal and Ubiquitous Computing
A graph-based aspect interference detection approach for UML-based aspect-oriented models
Transactions on aspect-oriented software development VII
JavaGI: The Interaction of Type Classes with Interfaces and Inheritance
ACM Transactions on Programming Languages and Systems (TOPLAS)
A graph-based aspect interference detection approach for UML-based aspect-oriented models
Transactions on aspect-oriented software development VII
Proceedings of the 5th ACM international conference on Distributed event-based system
A model for versioning control mechanism in component-based systems
ACM SIGSOFT Software Engineering Notes
Using shared arrays in message-driven parallel programs
Parallel Computing
From components to autonomic elements using negotiable contracts
ATC'06 Proceedings of the Third international conference on Autonomic and Trusted Computing
Applying component-based meta-service in liquid operating system for pervasive computing
ICESS'04 Proceedings of the First international conference on Embedded Software and Systems
ISSEP'05 Proceedings of the 2005 Informatics in Secondary Schools - Evolution and Perspectives international conference on From Computer Literacy to Informatics Fundamentals
A contracting system for hierarchical components
CBSE'05 Proceedings of the 8th international conference on Component-Based Software Engineering
Precise specification of design pattern structure and behaviour
ECMFA'10 Proceedings of the 6th European conference on Modelling Foundations and Applications
General composition of software artifacts
SC'06 Proceedings of the 5th international conference on Software Composition
Dimensions of composition models for supporting software evolution
SC'06 Proceedings of the 5th international conference on Software Composition
Design and implementation of an aspect instantiation mechanism
Transactions on Aspect-Oriented Software Development I
Amplifying the benefits of design patterns: from specification through implementation
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Codelets: linking interactive documentation and example code in the editor
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A relational model of object collaborations and its use in reasoning about relationships
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
JavaGI: generalized interfaces for java
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
On composing and proving the correctness of reactive behavior
Proceedings of the Eleventh ACM International Conference on Embedded Software
Software and Systems Modeling (SoSyM)
Hi-index | 0.06 |
Behavioral compositions, groups of interdependent objects cooperating to accomplish tasks, are an important feature of object-oriented systems. This paper introduces Contracts, a new technique for specifying behavioral compositions and the obligations on participating objects. Refinement and composition of contracts allows for the creation of large grain abstractions based on behavior, orthogonal to those provided by existing class constructs. Using contracts thus provides a basis and vocabulary for Interaction-Oriented design which greatly facilitates the early identification, abstraction and reuse of patterns of behavior in programs. Contracts differ from previous work in that they capture explicitly and abstractly the behavioral dependencies amongst cooperating objects. By explicitly stating these dependencies, contract also provide an effective aid for program understanding and reuse.