首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 78 毫秒
1.
型构兼容的继承及其语义   总被引:1,自引:0,他引:1  
本文揭示了在面向对象程序设计语言中,若劲旅子类重定义其继承的分类方法以发迹这些方法的规约,并且采用类似于Smaltalk-80中的继承机制的语义,将导致封将与继承之间的一个新总是为此,本文提出了一种新的继承机制-型构兼容的继承,以代替传统的增量继承。型构兼容的继承是一种灵活的代码复用机制,并且能够充分支持封装。  相似文献   

2.
面向对象XML数据库的逻辑基础   总被引:2,自引:0,他引:2  
XML正在成为Internet上数据描述和交换的标准.面向对象的方法具有很强的建模能力,例如继承、非单调继承、多态性、复杂数据结构等.将面向对象的特征引入到XML中,可以提高XML语言的建模能力.用继承扩展XML的模式语言DTD支持元素继承、非单调多重继承、重载、阻断、多态和冲突处理机制.XML,RL是基于高级数据模型的以规则为基础的XML查询语言,用面向对象的特征扩展XML-RL支持多态元素、包含元素.系统地给出面向对象的XML数据库的基于逻辑的语法和语义.  相似文献   

3.
Metamodeling semantics of multiple inheritance   总被引:1,自引:0,他引:1  
Inheritance provides object-oriented programming with much of its great reusability power. When inheritance is single, its specifications are simple and everybody roughly agrees on them. In contrast, multiple inheritance yields ambiguities that have prompted long-standing debates, and no two languages agree on its specifications. In this paper, we present a semantics of multiple inheritance based on metamodeling. A metamodel is proposed which distinguishes the “identity” of properties from their “values” or “implementations”. It yields a clear separation between syntactic and semantic conflicts. The former can be solved in any language at the expense of a common syntactic construct, namely full name qualification. However, semantic conflicts require a programmer’s decision, and the programming language must help the programmer to some extent. This paper surveys the approach based on linearizations, which has been studied in depth, and proposes some extensions. As it turns out that only static typing takes full advantage of the metamodel, the interaction between multiple inheritance and static typing is also considered, especially in the context of virtual types. The solutions proposed by the various languages with multiple inheritance are compared with the metamodel results. Throughout the paper, difficulties encountered under the open-world assumption are stressed.  相似文献   

4.
This paper presents a declarative semantics of compositional inheritance in an object-oriented logic programming framework with explicit exceptions,based on the iterated least fixpoint semantics to normal logic programs.Taking logic objects with exceptions as a kind of non-monotonic theory,the nonmonotonicity of inheritance is achieved,which is of importance for modeling incoplete knowledge and requirement specifications in both artificial intelligence and software engineering.  相似文献   

5.
对象式逻辑程序设计语言LKO的说明性语义   总被引:2,自引:0,他引:2  
徐殿祥  关国梁 《计算机学报》1996,19(11):841-847
本文基于逻辑程序设计语言的良基模型语义,探讨了对象逻辑程序设计语言LKO的说明性语义,该语义由组合迭代的极小不动点定义,具有构造性和组合性,迷在LKO中进一步引入非单调继承和逻辑奠定了基础。  相似文献   

6.
SCKE:Combining Logic- with Object-Oriented Paradigm   总被引:1,自引:1,他引:0       下载免费PDF全文
A new implementation(SCKE-Structured Communication Knowledge Entity)has been proposed towards combining the logic with the object-oriented paradigm of computing.It is intended to explore the advatnages in these two paradigms in a structured,natural and efficient manner for large-scale knowledge processing.The SCKE model supports modularity and protection for the structured development of knowledge systems.It also introduces the concepts that are typical for the object-oriented systems in the logic-oriented paradigm,without losing its advantages as a declarative language.Various inheritance hierarchies are supported in the SCKE model.They provide the semantics basis basis for various knowledge in AI systems.The M-entity/K-entity/Instance inberitance captures the relationship among the control,procedural and factural knowledge in AI systems.And ,the super-entity/entity/instance inheritance shows the concepts of data abstraction in the knowledge of a particular domain.In addition,the SCKE model is not simply supported on top of Prolog like other attempts to integrate the object-into the logic-oriented paradigm.The SCKE model is a tightly coupled model of the logic and the object-oriented paradigm and its interpreter uniformly interprets the logic semantics and the object-oriented semantics.  相似文献   

7.
Wrappers export the schema and data of existing heterogeneous databases and support queries on them. In the context of cooperative information systems, we present a flexible approach to specify the derivation of object-oriented (OO) export databases from local relational databases. Our export database derivation consists of a set of extent derivation structures (EDS) which defines the extent and deep extent of export classes. Having well-defined semantics, the EDS can be readily used in transforming wrapper queries to local queries. Based on the EDS, we developed a wrapper query evaluation strategy which handles OO queries on the export databases. The strategy is unique in that it considers the limited query processing capabilities of local database systems as well as the language constraints on the local query languages.  相似文献   

8.
陆嘉  温冬婵  王鼎兴 《软件学报》2000,11(4):494-501
面向对象并发程序设计语言能够帮助程序员利用面向对象技术编写并发程序,从而获得面向对象技术给软件开发带来的种种好处.然而,由于继承异常现象的存在,影响了并发程序设计语言引入继承特性.Ada95语言是支持并发程序设计的面向对象语言之一,但并不支持保护对象的继承.Ada-I语言在Ada95语言的基础上进行扩充,从而支持保护对象的继承,并且避免了继承异常现象的出现.  相似文献   

9.
A categorical semantics of multiple inheritance is presented, in which the inheritance relations between program entities are represented as commutative diagrams in a suitable category, and multiple inheritance is then modelled with colimits of such diagrams. It is shown that the informal semantics of multiple inheritance used in existing object-oriented programming languages conforms to, or is consistent with, this model.  相似文献   

10.
The object-oriented functional data language (O2FDL) is an interactive strongly typed database programming language that integrates the object-oriented and functional programming paradigms. It was designed for advanced applications that require a powerful and uniform database programming language supporting the software engineering principles of these tow paradigms. To this end, the O2 FDL supports inheritance and encapsulation of object-oriented languages, and an equational notation and strong typing of functional programming. Strong typing is extended with type restrictions to constrain the instantiations of type variables in function interfaces, while inheritance is augmented with a monotonic subtype rule for function redefinition. The O2FDL also supports novel features. For the core of the O2FDL, a denotational semantics based on an extended λ-calculus is provided. For selected system-defined functions, operational semantics are provided and it is demonstrated that a subset of the O2FDL is at least as expressive as the relational algebra  相似文献   

11.
This article introduces and uses a representation of defeasible inheritance networks where links in the network are viewed as propositions, and where defeasible links are tagged with a quantitative indication of the proportion of exceptions, called the doubt index. This doubt index is used for restricting the length of the chains of inference.The representation also introduces the use of defeater literals that disable the chaining of subsumption links. The use of defeater literals replaces the use of negative defeasible inheritance links, expressing “most A are not B”. The new representation improves the expressivity significantly.Inference in inheritance networks is defined by a combination of axioms that constrain the contents of network extensions, a heuristic restriction that also has that effect, and a nonmonotonic operation of minimizing the set of defeater literals while retaining consistency.We introduce an underlying semantics that defines the meaning of literals in a network, and prove that the axioms are sound with respect to this semantics. We also discuss the conditions for obtaining completeness.Traditional concepts, assumptions and issues in research on nonmonotonic or defeasible inheritance are reviewed in the perspective of this approach.  相似文献   

12.
We present declarative and procedural semantics for a deductive object-oriented language, Gulog. The declarative semantics is based on preferred minimal models. We describe both bottom-up and top-down query evaluation procedures and show that they are sound with respect to the declarative semantics. The results contribute to our understanding of the interaction of inheritance, overriding and deduction in the presence of both functional and set-valued methods, and multiple inheritance.  相似文献   

13.
We present Clafer (class, feature, reference), a class modeling language with first-class support for feature modeling. We designed Clafer as a concise notation for meta-models, feature models, mixtures of meta- and feature models (such as components with options), and models that couple feature models and meta-models via constraints (such as mapping feature configurations to component configurations or model templates). Clafer allows arranging models into multiple specialization and extension layers via constraints and inheritance. We identify several key mechanisms allowing a meta-modeling language to express feature models concisely. Clafer unifies basic modeling constructs, such as class, association, and property, into a single construct, called clafer. We provide the language with a formal semantics built in a structurally explicit way. The resulting semantics explains the meaning of hierarchical models whereby properties can be arbitrarily nested in the presence of inheritance and feature modeling constructs. The semantics also enables building consistent automated reasoning support for the language: To date, we implemented three reasoners for Clafer based on Alloy, Z3 SMT, and Choco3 CSP solvers. We show that Clafer meets its design objectives using examples and by comparing to other languages.  相似文献   

14.
15.
16.
王浩  高隽  张奠成 《软件学报》1998,9(3):190-193
方法和方法继承是面向对象的核心概念.本文介绍了约束演绎对象语言CDOL(constraint deductive object language)中方法的概念及定义,方法是作为规则定义的,它既可作为对象的接口,又可用来实现计算的抽象与共享,方法的继承和多态是通过类型机制和合一机制来实现的.  相似文献   

17.
The visual object query language (VOQL) recently proposed for object databases has been successful in visualizing path expressions and set-related conditions, and providing formal semantics. However, VOQL has several problems. Due to unrealistic assumptions, only set-related conditions can be represented in VOQL. Due to lack of the explicit language construct for the notion of variables, queries are often awkward and less intuitive.In this paper, we propose VOQL*, which extends VOQL to remove these drawbacks. We introduce the notion of visual variables and refine the syntax and semantics of VOQL based on visual variables. We carefully design the language constructs of VOQL*to reflect the syntax of OOPC, so that the constructs such as visual variables, visual elements, simple terms, structured terms,basic formulas , formulas, and query expressions in VOQL*are hierarchically and inductively constructed as those of OOPC. Most important, we formally define the semantics of each language construct of VOQL*by induction using OOPC. Because of the well-defined syntax and semantics, queries in VOQL*are clear, concise, and intuitive. We also provide an effective procedure to translate queries in VOQL*into those in OOPC. We believe that VOQL*is the first visual query language with the well-defined syntax reflecting the syntactic structure of logic and semantics formally defined by induction.  相似文献   

18.
Backward compatibility is the property that an old version of a library can safely be replaced by a new version without breaking existing clients. Formal reasoning about backward compatibility requires an adequate semantic model to compare the behavior of two library implementations. In the object-oriented setting with inheritance and callbacks, such a model must account for the complex interface between library implementations and clients.In this paper, we develop a fully abstract trace-based semantics for class libraries in object-oriented languages, in particular for Java-like sealed packages. Our approach enhances a standard operational semantics such that the change of control between the library and the client context is made explicit in terms of interaction labels. By using traces over these labels, we abstract from the data representation in the heap, support class hiding, and provide fully abstract package denotations. Soundness and completeness of the trace semantics is proven using specialized simulation relations on the enhanced operational semantics. The simulation relations also provide a proof method for reasoning about backward compatibility.  相似文献   

19.
This paper presents an object-oriented, Java-like core language with primitives for distributed programming and explicit code mobility. We apply our formulation to prove the correctness of several optimisations for distributed programs. Our language captures crucial but often hidden aspects of distributed object-oriented programming, including object serialisation, dynamic class downloading and remote method invocation. It is defined in terms of an operational semantics that concisely models the behaviour of distributed programs using machinery from calculi of mobile processes. Type safety is established using invariant properties for distributed runtime configurations. We argue that primitives for explicit code mobility offer a programmer fine-grained control of type-safe code distribution, which is crucial for improving the performance and safety of distributed object-oriented applications.  相似文献   

20.
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号