OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Reconciling environment integration and software evolution
ACM Transactions on Software Engineering and Methodology (TOSEM)
The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Chiron-1: a software architecture for user interface development, maintenance, and run-time support
ACM Transactions on Computer-Human Interaction (TOCHI)
Using role components in implement collaboration-based designs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Adding implicit invocation to traditional programming languages
ICSE '93 Proceedings of the 15th international conference on Software Engineering
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
Avoiding packaging mismatch with flexible packaging
Proceedings of the 21st international conference on Software engineering
Modeling software architectures in the Unified Modeling Language
ACM Transactions on Software Engineering and Methodology (TOSEM)
Window Toolkit and Applets
Implementing Layered Designs with Mixin Layers
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
A Metamodel-Based OCL-Compiler for UML and MOF
Electronic Notes in Theoretical Computer Science (ENTCS)
An approach to detecting failures automatically
Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting
Hi-index | 0.00 |
UML design models, specifically their declarative OCL invariants, must be refined into delivered code. A key problem is the need to integrate this logic with programmer-written code in a non-intrusive way. We recently developed an approach, called mode components, for compiling OCL constraints into modules that implement logic for transparently maintaining these constraints at run time. Specifically, mode components are implemented as nested C++ class template instantiations. The approach makes use of a key device-status variables. The attributes of a component to which other components are sensitive are called its status. A status variable is a lightweight wrapper on a status attribute that detects changes to its value and transparently invokes a method to handle announcements to dependent components. A mode component is a wrapped code unit containing one or more status variables. The contribution of this paper is a technique for achieving this integration using metaprogramming techniques.