Semantic subtyping is an approach for defining sound and complete procedures to decide subtyping for expressive types, including union and intersection types;although it has been exploited especially in functional lan...
详细信息
Semantic subtyping is an approach for defining sound and complete procedures to decide subtyping for expressive types, including union and intersection types;although it has been exploited especially in functional languages for XML based programming, recently it has been partially investigated in the context of object-orientedlanguages, and a sound and complete subtyping algorithm has been proposed for record types, but restricted to immutable fields, with union and recursive types interpreted coinductively to support cyclic objects. In this work we address the problem of studying semantic subtyping for imperative object-orientedlanguages, where fields can be mutable;in particular, we add read/write field annotations to record types, and, besides union, we consider intersection types as well, while maintaining coinductive interpretation of recursive types. In this way, we get a richer notion of type with a flexible subtyping relation, able to express a variety of type invariants useful for enforcing static guarantees for mutable objects. The addition of these features radically changes the definition of subtyping, and, hence, the corresponding decision procedure, and surprisingly invalidates some subtyping laws that hold in the functional setting. We propose an intuitive model where mutable record values contain type information to specify the values that can be correctly stored in fields. Such a model, and the corresponding subtyping rules, require particular care to avoid circularity between coinductive judgments and their negations which, by duality, have to be interpreted inductively. A sound and complete subtyping algorithm is provided, together with a prototype implementation.
Scala's type system unifies aspects of ML modules, object-oriented, and functional programming. The Dependent object Types (DOT) family of calculi has been proposed as a new theoretic foundation for Scala and simi...
详细信息
Scala's type system unifies aspects of ML modules, object-oriented, and functional programming. The Dependent object Types (DOT) family of calculi has been proposed as a new theoretic foundation for Scala and similar expressive languages. Unfortunately, type soundness has only been established for restricted subsets of DOT. In fact, it has been shown that important Scala features such as type refinement or a subtyping relation with lattice structure break at least one key metatheoretic property such as environment narrowing or invertible subtyping transitivity, which are usually required for a type soundness proof. The main contribution of this paper is to demonstrate how, perhaps surprisingly, even though these properties are lost in their full generality, a rich DOT calculus that includes recursive type refinement and a subtyping lattice with intersection types can still be proved sound. The key insight is that subtyping transitivity only needs to be invertible in code paths executed at run time, with contexts consisting entirely of valid runtime objects, whereas inconsistent subtyping contexts can be permitted for code that is never executed.
Aliasing is a known source of challenges in the context of imperative object-orientedlanguages, which have led to important advances in type systems for aliasing control. However, their large-scale adoption has turne...
详细信息
Aliasing is a known source of challenges in the context of imperative object-orientedlanguages, which have led to important advances in type systems for aliasing control. However, their large-scale adoption has turned out to be a surprisingly difficult challenge. While new language designs show promise, they do not address the need of aliasing control in existing languages. This paper presents a new approach to isolation and uniqueness in an existing, widely-used language, Scala. The approach is unique in the way it addresses some of the most important obstacles to the adoption of type system extensions for aliasing control. First, adaptation of existing code requires only a minimal set of annotations. Only a single bit of information is required per class. Surprisingly, the paper shows that this information can be provided by the object-capability discipline, widely-used in program security. We formalize our approach as a type system and prove key soundness theorems. The type system is implemented for the full Scala language, providing, for the first time, a sound integration with Scala's local type inference. Finally, we empirically evaluate the conformity of existing Scala open-source code on a corpus of over 75,000 LOC.
The healthcare industry in United States is the largest delivery system in the world. However, this system is facing significant pressures to transform itself to operate more efficiently. It is generally accepted that...
详细信息
ISBN:
(纸本)9781450309424
The healthcare industry in United States is the largest delivery system in the world. However, this system is facing significant pressures to transform itself to operate more efficiently. It is generally accepted that the use of health information technology can assist in solving the problem by reducing cost and increasing quality of patient care. However characteristics of adopters and quality of implementations are not well understood and are an ongoing challenge. Using an interdisciplinary study of healthcare and technology, the objective of this research is to measure the prevalence of health information technology capabilities and their impact on delivery of care. More specifically, this research will study health information technology adoption in context of Patient-Centered Medical Home implementations. By using as its basis the American Association of Family Physician recommendations for becoming a Patient-Centered Medical Home (one of the most widely disseminated models), the proposed research will survey health care providers for prevalence of structural and behavioral capabilities used to implement a Patient-Centered Medical Home. The general objectives of the feasibility study includes demonstrating the larger research objectives and demonstrating that the right mix of theories and methodologies have been considered. The small field study was conducted at Oregon Health & Science University (OHSU) with the Care Management Plus (CMP) Team. CMP is a proven HIT application for older adults and chronically ill patients with multiple conditions and the innovation includes software, clinic processes and training. Use of qualitative research based case study, with application of diffusion theory and dynamic capabilities using the Unified Modeling Language (UML) notation are demonstrated in this field study. In the following sections data collection, analysis, results, conclusions and limitations of research along with propositions for future research are discuss
The proceedings contain 43 papers. The special focus in this conference is on Extending Database Technology. The topics include: TAILOR, a tool for updating views;an intelligent information dictionary for semantic man...
ISBN:
(纸本)9783540190745
The proceedings contain 43 papers. The special focus in this conference is on Extending Database Technology. The topics include: TAILOR, a tool for updating views;an intelligent information dictionary for semantic manipulation of relational databases;a model of authorization for object-oriented and semantic databases;a foundation for evolution from relational to object databases;COL: A logic-based language for complex objects;a universal relation model for nested relations;multilevel trie hashing;var-page-lru a buffer replacement algorithm supporting different page sizes;the twin grid file: A nearly space optimal index structure;optimization in a logic based language for knowledge and data intensive applications;a comparison of concatenated and superimposed code word surrogate files for very large data/knowledge bases;filter-based join algorithms on uniprocessor and distributed-memory multiprocessor database machines;placement of replicated items in distributed databases;optimizing voting-type algorithms for replicated data;quasi-copies: Efficient data sharing for information retrieval systems;process management and assertion enforcement for a semantic data model;a uniform approach to constraint satisfaction and constraint satisfiability in deductive databases;geo-relational algebra: A model and query language for geometric database systems;an extension of the relational model to support generic intervals;ESPRIT: Trends & challenges in DB technology;a Prolog interface to a Functional Data Model database;project session on support for data and knowledge-based applications;the algres project;o2, an object-oriented data model;Data base programming tools in the ATLANT language;an overview of siderues: A graphical database schema editor for Galileo;TELL-ME: A natural language query system.
Event-Condition-Action (ECA) Rules are proposed as a general mechanism for providing active database capabilities in support of applications that require timely response to critical situations. These rules generalize ...
详细信息
The authors present PROTOB, an object-oriented computer-aided-software-engineering system based on high-level Petri nets called PROT nets. It consists of several tools supporting specification, modeling, and prototypi...
详细信息
The authors present PROTOB, an object-oriented computer-aided-software-engineering system based on high-level Petri nets called PROT nets. It consists of several tools supporting specification, modeling, and prototyping activities within the framework of the operational software-life-cycle paradigm. As its major application area it addresses discrete-event dynamic systems, such as process control systems and communication protocols.< >
暂无评论