首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 562 毫秒
1.
并发面向对象模型中继承异常的一种解决方案   总被引:2,自引:0,他引:2  
1 引言继承机制是面向对象软件开发中的重要设施,是实现软件复用和扩充的一种有效的语言机制,它是顺序面向对象语言的一个基本特点。但是,在将面向对象技术与并发相结合的过程中,对并发控制机制处理不当,将会引起继承机制与并发控制间的冲突问题。这种冲突主要表现在:定义子类时需要修改(重定义)父类中的所有代码才能实现自身的并发控制,从而使得子类无法继承父类的代码,产生继承异常现象、继承异常的出现将进一步破坏面向对象技术的两大优点,即:继承和封装。所以,如何有效地避免继承异常或将继承异常的产生降低到最小的程度是并发面向对象模型所要研究的一个重要问题。  相似文献   

2.
朱海滨  胡守仁 《软件》1994,(8):30-35
本文提出了面向对象技术中的蛋—鸡问题,即面向对象两个核心概念——类和继承之间关系的认识。讨论了从不同角度看待的类和继承性各自的普遍意义,分析了基于两种认识的不同的面向对象方法学及其各自的优缺点,并就Smalltalk和C++两种语言中的继承性理解和类的使用问题进行了讨论。结论是面向对象技术中的蛋—鸡问题非常重要,应当引起面向对象系统用户和设计人员的重视。  相似文献   

3.
对面向对象系统继承性的研究   总被引:1,自引:0,他引:1  
继承性是面向对象系统的一个重要概念,对它的研究是对象程序设计技术中的一项十分重要的工作。本文从继承的一些基本概念、分类以及与面向对象的其它特性的关系,如封装和委托等,进行分析和探讨。  相似文献   

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

5.
"继承"是面向对象程序设计方法的重要特点之一.针对PowerBuilder(以下简称PB)的单继承性及其局限性,提出了多重继承的解决方案.在进行该思维方法的分析说明时,以实例进行解释.实例证明该方案应用效果良好.  相似文献   

6.
继承异常是用来描述在并发面向对象语言中继承与并发的冲突 .为分析并解决这种冲突 ,人们做了大量的工作 ,但我们认为以前的分类是不完全的 .本文对继承异常做了系统的分析 ,并设计了一个新的同步模型 ,为每个方法增加了同步策略与同步状态控制 ,加大了并发对象的代码可重用性 .本文用实例说明了该模型 ,在很大程度上避免或减少了“继承异常”的发生 .  相似文献   

7.
面向对象软件开发是一种新的减少成本、提高可用性、灵活性和高效的软件系统开发方法。软件测试是改善软件质量和正确性的重要技术,但目前还没有成熟的用于面向对象软件开发的测试方法。本文首先通过继承图描述面向对象软件测试方法,然后讨论了单元重复继承算法,该算法的时间复杂性为O(n3),并给出了具体实例,最后提出了继承层次测试方法。  相似文献   

8.
商陆军 《计算机学报》1992,15(12):920-926
文献[1]提出了一种新的刻划并发行为的方法.本文继续讨论这种方法在面向对象的程序设计中是如何解决并发代码在继承过程中的冲突问题的.  相似文献   

9.
李晓燕  林云 《计算机科学》1999,26(11):55-56
在面向对象技术中,面向对象程序设计语言可以完全抛弃传统程序设计语言中的类型概念,即使它的最基本数据也可用类来描述。类及其继承性是面向对象程序设计语言区别传统程序设计语言的本质特性。本文将讨论类及其继承性的形式化描述及其数学属性。  相似文献   

10.
1.引言面向对象程序设计方法是当今最有前途的软件设计技术之一。面向对象方法是与现实模型相对应的,而现实模型中的对象是并发活动的,因此面向对象方法被认为具有潜在的并发性。将面向对象技术和并发技术结合起来的并发面向对象技术是近几年才兴起的,是一个比较新的研究领域。近年来,国内外提出了许多并发面向对象模型,文[1]提出了Actor模型,在该模型中,对象被称为actor,它是自含的、交互的和独  相似文献   

11.
The static model, specified formally, and the dynamic model, represented by hierarchical state machines, are intimately related. By defining a mapping between the two, we are able to provide a definition of inheritance, multiple inheritance and behavioral subtyping for state machines based on that for formally specified types and classes, and provide a graphical representation for formal specifications in terms of state machines. The state machine notation is based on statecharts. It, however, supports both a declarative style, appropriate for types, and an imperative style, appropriate for classes. State machines may be parameterized and may be viewed from different perspectives, based on an arbitrary choice of state predicates. And states are interpreted not as an expression of concurrency, but result from a choice of independent state predicates.  相似文献   

12.
Because it encourages the incremental development of software and the reuse of code by abstracting away implementation details, object orientation is an intuitive and sensible way to conceive large software out of existing application components and libraries. In practice, however, object-orientation is most of the time applied and used with sequentiality in mind. This practice may sometimes be conceptually inadequate for, eg., control-dominated reactive system components.We address this issue by proposing a process calculus that melts the paradigm of synchronous programming to key object-oriented features: encapsulation and behavioral inheritance with overriding by means of specific algebraic concurrency combinators. This framework provides support for the reuse of components and, more specifically, for the adaptation of embedded systems with new services.Cast in the context of a strict interpretation of the synchronous hypothesis, the proposed model supports a static interpretation of inheritance: overriding is resolved at compile-time (or link-time) and inheritance combinators are translated into primitive synchronous ones. This compilation technique puts object-orientation to work in a syntax-oriented model of synchronous concurrency that naturally supports the incremental, refinement-based design of concurrent systems starting from encapsulated and reused application components.The benefits of our approach are illustrated by a concrete and practical example: the adaptation of services to a plain old telephone service specification.  相似文献   

13.
面向对象模型潜在的并发计算能力为并发程序设计提供了更高层次的解决方案。为了充分利用这种潜在的并发招行能力,必须在对象模型中显式地给出并发控制。本文给出了一种描述并发对象的机制,即:把对象的并发控制作为对象的单独属性进行描述,在定义子类时,把对象的并发描述与对象的方法分开进行继承。我们的目标是使得引进的并发机制尽量少地与对象模型的各个重要特性相冲突,减轻继承异常。另外,我们提出的并发模型允许对象内部的并发。  相似文献   

14.
15.
Priority inheritance in soft real-time databases   总被引:4,自引:0,他引:4  
Due to resource sharing among tasks, priority inversion can occur during priority-driven preemptive scheduling. In this work, we investigate solutions to the priority inversion problem in a soft real-time database environment where two-phhse locking is employed for concurrency control. We examine two basic schemes for addressing the priority inversion problem, one based on priority inheritance and the other based on priority abort. We also study a new scheme, called conditional priority inheritance, which attempts to capitalize on the advantages of each of the two basic schemes. In contrast with previous results obtained in real-time operating systems, our performance studies, conducted on an actual real-time database testbed, indicate that the basic priority inheritance protocol is inappropriate for solving the priority inversion problem in real-time database systems. We identify the reasons for this performance. We also show that the conditional priority inheritance scheme and the priority abort scheme perform well for a wide range of system workloads.This work was supported by the National Science Foundation under Grant IRI-8908693 and by the U.S. Office of Naval Research under Grant N00014-85-K0398.A previous version of this paper appeared in Real-Time Systems Symposium, Dec. 1991.  相似文献   

16.
并发面向对象语言的组合同步控制模型   总被引:1,自引:1,他引:0  
要将并发性与面向对象及代码重用结合起来,必须解决“继承异常”问题。目前提出的方案大都针对特定问题,有一定的局限性。本文引入了一种新的同步模型,将同步控制分为同步策略控制与同步条件控制,同时引入了策略库,加大了并发对象的代码可重用性,在很大程度上避免或减少了“继承异常”的发生。  相似文献   

17.
ORDBMS的继承语义及其实现   总被引:3,自引:1,他引:2  
介绍了在ANGEL这样一个典型的ORDB系统中继承机制的设计思想与实现技术,首先详细阐述系统卡富的继承语义,包括属性继承、约束继承、触发器继承及函数继承,并给出对多重继承所带来各种冲突的处理办法。然后讨论继承机制的实现手段及有关继承机制的模式演变问题。  相似文献   

18.
We present a design, including its motivation, for introducing concurrency into C++. The design work is based on a set of requirements and elementary execution properties that generate a corresponding set of programming language constructs needed to express concurrency. The new constructs continue to support object-oriented facilities such as inheritance and code reuse. Features that allow flexibility in accepting and subsequently postponing servicing of requests are provided. Currently, a major portion of the design is implemented, supporting concurrent programs on shared-memory uniprocessor and mulitprocessor computers.  相似文献   

19.
Fourteen concurrent object-oriented languages are compared in terms of how they deal with communication, synchronization, process management, inheritance, and implementation trade-offs. The ways in which they divide responsibility between the programmer, the compiler, and the operating system are also investigated. It is found that current object-oriented languages that have concurrency features are often compromised in important areas, including inheritance capability, efficiency, ease of use, and degree of parallel activity. Frequently, this is because the concurrency features were added after the language was designed. The languages discussed are Actors, Abd/1, Abd/R, Argus, COOL, Concurrent Smalltalk, Eiffel, Emerald, ES-Kit C++, Hybrid, Nexus, Parmacs, POOL-T, and Presto  相似文献   

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

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