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
Object oriented design with applications
Object oriented design with 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
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Object-oriented software engineering
Object-oriented software engineering
Designing object-oriented software
Designing object-oriented software
The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Algorithm-oriented generic libraries
Software—Practice & Experience
Extending object-oriented systems with roles
ACM Transactions on Information Systems (TOIS)
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Roles and Dynamic Subclasses: A Modal Logic Approach
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Using C++ Templates to Implement Role-Based Designs
ISOTAS '96 Proceedings of the Second JSSST International Symposium on Object Technologies for Advanced Software
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Composition Validation and Subjectivity in GenVoca Generators
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
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Role model designs and implementations with aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A collaboration specification language
Proceedings of the 2nd conference on Domain-specific languages
PIROL: a case study for multidimensional separation of concerns in software engineering environments
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Techniques and language constructs for developing generic informations systems: a case study
SSR '01 Proceedings of the 2001 symposium on Software reusability: putting software reuse in context
Composing high-performance memory allocators
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Composition patterns: an approach to designing reusable aspects
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Modular verification of collaboration-based software designs
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Jiazzi: new-age components for old-fasioned Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Achieving extensibility through product-lines and domain-specific languages: a case study
ACM Transactions on Software Engineering and Methodology (TOSEM)
ACM Transactions on Software Engineering and Methodology (TOSEM)
Workshop on multi-dimensional separation of concerns in software engineering
ACM SIGSOFT Software Engineering Notes
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
Proceedings of the International Workshop on Principles of Software Evolution
Integrating independent components with on-demand remodularization
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automated Software Engineering
Expressing opposition in the object model, first step towards negation
ACM SIGPLAN Notices
Mixin programming in Java with reflection and dynamic invocation
PPPJ '02/IRE '02 Proceedings of the inaugural conference on the Principles and Practice of programming, 2002 and Proceedings of the second workshop on Intermediate representation engineering for virtual machines, 2002
Aspect-oriented programming with Jiazzi
Proceedings of the 2nd international conference on Aspect-oriented software development
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
Mixin-Based Programming in C++
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
Roles and Aspects: Similarities, Differences, and Synergetic Potential
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
The Influence of Software Module Systems on Modular Verification
Proceedings of the 9th International SPIN Workshop on Model Checking of Software
A Core Calculus of Classes and Mixins
ECOOP '99 Proceedings of the 13th 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
Increasing Reusability in Information Systems Development by Applying Generic Methods
CAiSE '01 Proceedings of the 13th International Conference on Advanced Information Systems Engineering
Separation of Concerns in Mobile Agent Applications
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Coordinating Mobile Object-Oriented Code
COORDINATION '02 Proceedings of the 5th International Conference on Coordination Models and Languages
Managing Evolution Using Cooperative Designs and a Reflective Architecture
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented 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
Enterprise frameworks: issues and research directions
Software—Practice & Experience - Special issue: Enterprise frameworks
An enhanced role model for alleviating the role-binding anomaly
Software—Practice & Experience
Proceedings of the 25th International Conference on Software Engineering
An Evolutional Cooperative Computation Based on Adaptation to Environment
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
View Programming for Decentralized Development of OO Programs
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Implementing Collaboration-Based Designs Using Aspect-Oriented Programming
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Implementing Reusable Object-Oriented Components
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
JTS: Tools for Implementing Domain-Specific Languages
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Refinements and multi-dimensional separation of concerns
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Towards Software Product-Lines — A Refinement-Oriented Generation Language
BT Technology Journal
IEEE Transactions on Software Engineering
Feature-Oriented Programming and the AHEAD Tool Suite
Proceedings of the 26th International Conference on Software Engineering
An adaptive object model with dynamic role binding
Proceedings of the 27th international conference on Software engineering
From scenarios to aspects: exploring product lines
SCESM '05 Proceedings of the fourth international workshop on Scenarios and state machines: models, algorithms and tools
Classbox/J: controlling the scope of change in Java
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Coordination middleware for decentralized applications in dynamic networks
DSM '05 Proceedings of the 2nd international doctoral symposium on Middleware
Middleware for protocol-based coordination in dynamic networks
MPAC '05 Proceedings of the 3rd international workshop on Middleware for pervasive and ad-hoc computing
Tool support for feature-oriented software development: featureIDE: an Eclipse-based approach
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient exploration of service-oriented architectures using aspects
Proceedings of the 28th international conference on Software engineering
Systemic classification of concern-based design methods in the context of enterprise architecture
Information Systems Frontiers
Multilevel models in model-driven engineering, product lines, and metaprogramming
IBM Systems Journal - Model-driven software development
When to use features and aspects?: a case study
Proceedings of the 5th international conference on Generative programming and component engineering
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
Highly configurable transaction management for embedded systems
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
Object-based and class-based composition of transitive mixins
Information and Software Technology
A collaboration specification language
DSL'99 Proceedings of the 2nd conference on Conference on Domain-Specific Languages - Volume 2
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
Class synthesis from role collaborations
ISEC '08 Proceedings of the 1st India software engineering conference
JUnit 3.8 documented using collaborations
ACM SIGSOFT Software Engineering Notes
A precise model for contextual roles: The programming language ObjectTeams/Java
Applied Ontology - Roles, an interdisciplinary perspective
Using modern mathematics as an FOSD modeling language
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
A delegation-based approach for the unanticipated dynamic evolution of distributed objects
Journal of Systems and Software
An orthogonal access modifier model for feature-oriented programming
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
Measuring and characterizing crosscutting in aspect-based programs: basic metrics and case studies
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Streamlining feature-oriented designs
SC'07 Proceedings of the 6th international conference on Software composition
Superimposition: a language-independent approach to software composition
SC'08 Proceedings of the 7th international conference on Software composition
Type safety for feature-oriented product lines
Automated Software Engineering
An algebraic foundation for automatic feature-based program synthesis
Science of Computer Programming
Domain-specific composition of model deltas
ICMT'10 Proceedings of the Third international conference on Theory and practice of model transformations
Implementing statically typed object-oriented programming languages
ACM Computing Surveys (CSUR)
A design pattern coupling role and component concepts: Application to medical software
Journal of Systems and Software
Metamodeling semantics of multiple inheritance
Science of Computer Programming
Multi-agent role allocation: issues, approaches, and multiple perspectives
Autonomous Agents and Multi-Agent Systems
Contract-based synchronization of IP telecommunication services: a case study
Proceedings of the 5th International Conference on Communication System Software and Middleware
Access control in feature-oriented programming
Science of Computer Programming
Variant-preserving refactoring in feature-oriented software product lines
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Architectural aspects of architectural aspects
EWSA'05 Proceedings of the 2nd European conference on Software Architecture
Automated invariant maintenance via OCL compilation
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
Transactions on Aspect-Oriented Software Development I
A precise model for contextual roles: The programming language ObjectTeams/Java
Applied Ontology - Roles, an interdisciplinary perspective
Using roles to model crosscutting concerns
Proceedings of the 12th annual international conference on Aspect-oriented software development
Template constructors for reusable object initialization
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Reified type parameters using Java annotations
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Implementing refactorings for FOP: lessons learned and challenges ahead
Proceedings of the 5th International Workshop on Feature-Oriented Software Development
Hi-index | 0.00 |
In this paper we present a method of code implementation that works in conjunction with collaboration and responsibility based analysis modeling techniques to achieve better code reuse and resilience to change. Our approach maintains a closer mapping from responsibilities in the analysis model to entities in the implementation. In so doing, it leverages the features of flexible design and design reuse found in collaboration-based design models to provide similar adaptability and reuse in the implementation. Our approach requires no special development tools and uses only standard features available in the C++ language. In an earlier paper we described the basic mechanisms used by our approach and discussed its advantages in comparison to the framework approach. In this paper we show how our approach combines code and design reuse, describing specific techniques that can be used in the development of larger applications.