Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Process algebra arguments about an object-based design notation
A classical mind
Accommodating interference in the formal design of concurrent object-based programs
Formal Methods in System Design
A formal basis for architectural connection
ACM Transactions on Software Engineering and Methodology (TOSEM)
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
The Unified Modeling Language user guide
The Unified Modeling Language user guide
The unified software development process
The unified software development process
Specification and development of interactive systems: focus on streams, interfaces, and refinement
Specification and development of interactive systems: focus on streams, interfaces, and refinement
Component-based software engineering: putting the pieces together
Component-based software engineering: putting the pieces together
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
The Rational Unified Process: An Introduction, Second Edition
The Rational Unified Process: An Introduction, Second Edition
Executable UML: A Foundation for Model-Driven Architectures
Executable UML: A Foundation for Model-Driven Architectures
A Theory of Objects
Computer
IEEE Software
Formal and Use-Case Driven Requirement Analysis in UML
COMPSAC '01 Proceedings of the 25th International Computer Software and Applications Conference on Invigorating Software Development
Using UML for Modeling Complex Real-Time Systems
LCTES '98 Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems
Object-oriented programming and software development: a critical assessment
Programming methodology
Linking UML Models of Design and Requirement
ASWEC '04 Proceedings of the 2004 Australian Software Engineering Conference
Reo: a channel-based coordination model for component composition
Mathematical Structures in Computer Science
Consistent Code Generation from UML Models
ASWEC '05 Proceedings of the 2005 Australian conference on Software Engineering
Composition for component-based modeling
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
Acta Informatica
Electronic Notes in Theoretical Computer Science (ENTCS)
A predicative semantic model for integrating UML models
ICTAC'04 Proceedings of the First international conference on Theoretical Aspects of Computing
A framework for specification and validation of real-time systems using circus actions
ICTAC'04 Proceedings of the First international conference on Theoretical Aspects of Computing
Generating a prototype from a UML model of system requirements
ICDCIT'04 Proceedings of the First international conference on Distributed Computing and Internet Technology
rCOS: a refinement calculus of object systems
Theoretical Computer Science - Components and objects
Methods and Tools for Formal Software Engineering
Verified Software: Theories, Tools, Experiments
Integrating Theories and Techniques for Program Modelling, Design and Verification
Verified Software: Theories, Tools, Experiments
A Theory of Pointers for the UTP
Proceedings of the 5th international colloquium on Theoretical Aspects of Computing
Web services semantic model system
ASID'09 Proceedings of the 3rd international conference on Anti-Counterfeiting, security, and identification in communication
Behaviour Protocols for Interacting Stateful Components
Electronic Notes in Theoretical Computer Science (ENTCS)
Component-based software engineering
ICTAC'05 Proceedings of the Second international conference on Theoretical Aspects of Computing
Hi-index | 0.00 |
We present a model of object-oriented and component-based refinement. For object-orientation, the model is class-based and refinement is about correct changes in the structure, methods of classes and the main program, rather than changes in the behaviour of individual objects. This allows us to prove refinement laws for both high level design patterns and low level refactoring. For component-based development, we focus on the separation of concerns of interface and functional contracts, leaving refinement of interaction protocols in future work. The model supports the specification of these aspects at different levels of abstractions and their consistency. Based on the semantics, we also provide a general definitional approach to defining different relational semantic models with different features and constraints.