The Z notation: a reference manual
The Z notation: a reference manual
A syntactic approach to type soundness
Information and Computation
Abstract models of memory management
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Understanding ActiveX and OLE: a guide for developers and managers
Understanding ActiveX and OLE: a guide for developers and managers
Inside COM
Semantics of memory management for polymorphic languages
Higher order operational techniques in semantics
IEEE Transactions on Software Engineering
The Design of a COM-Oriented Module System
JMLC '00 Proceedings of the Joint Modular Languages Conference on Modular Programming Languages
Alias Types for Recursive Data Structures
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
The COMEL Language
Interface Negotiation and Efficient Reuse: A Relaxed Theory of the Component Object Model
Interface Negotiation and Efficient Reuse: A Relaxed Theory of the Component Object Model
HydroJ: object-oriented pattern matching for evolvable distributed systems
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Operational semantics for multi-language programs
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Operational semantics for multi-language programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A model of evolvable components
TGC'10 Proceedings of the 5th international conference on Trustworthly global computing
Modular specification of encapsulated object-oriented components
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
PLPV '12 Proceedings of the sixth workshop on Programming languages meets program verification
Hi-index | 0.00 |
We introduce in this paper a typed calculus intended to capture the execution model of COM. The innovation of this calculus is to model very low-level aspects of the COM framework, specifically the notion of interface pointers. This is handled by specifying an allocation semantics for the calculus, thereby modeling heap allocation of interfaces explicitly. Having an explicit way of talking about interface pointers allows us to model in a reasonable way the notions of interface sharing and object identity. We introduce a type system that can be used to disambiguate between specification and implementation of interfaces. The type system moreover can capture a notion of COM conformance, that is, the legality of COM components. We discuss extensions of the calculus to handle subtyping of interfaces, dynamic interface negotiation and aggregation.