首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
External relationships of objects represent semantic dependencies between objects that enable inter-object communication and augment the services the objects provide with role-specific behaviors. Most of the object-oriented design methodologies support the notion of external relationships at the conceptual level, but OO programming languages have no language construct to directly implement the external relationships, which are implemented as containment relationships with embedded pointers resulting in the semantics of the relationships being buried in code. Moreover, object-oriented programming languages lack a mechanism to allow a dynamic classification of objects according to the roles they play in external relationships. This paper describes a technique to treat an external relationship as a conceptually useful abstraction at the specification stage and a separately identifiable structure at the implementation stage, by providing a declarative specification and an implementation in C++ with special focus on the implementation of object roles. © 1998 John Wiley & Sons, Ltd.  相似文献   

2.
3.
The formalisation of object-oriented languages is essential for describing the implementation details of specific programming languages or for developing program verification techniques. However there has been relatively little formalisation work aimed at abstractly describing the fundamental concepts of object-oriented programming, separate from specific language considerations or suitability for a particular verification style. In this paper we address this issue by formalising a language that includes the core object-oriented programming language concepts of field tests and updates, methods, constructors, subclassing, multithreading, and synchronisation, built on top of standard sequential programming constructs. The abstract syntax is relatively close to the core of typical object-oriented programming languages such as Java. A novel aspect of the syntax is that objects and classes are encapsulated within a single syntactic term, including their fields and methods. Furthermore, class terms are structured according to the class hierarchy, and objects appear as subterms of their class (and method instances as subterms of the relevant object). This helps to narrow the gap between how a programmer thinks about their code and the underlying mathematical objects in the semantics. The semantics is defined operationally, so that all actions a program may take, such as testing or setting local variables and fields, or invoking methods on other objects, appear on the labels of the transitions. A process-algebraic style of interprocess communication is used for object and class interactions. A benefit of this label-based approach to the semantics is that a separation of concerns can be made when defining the rules of the different constructs, and the rules tend to be more concise. The basic rules for individual commands may be composed into more powerful rules that operate at the level of classes and objects. The traces generated by the operational semantics are used as the basis for establishing equivalence between classes.  相似文献   

4.
We study an object-oriented data model that allows to express both uniqueness constraints and inclusion dependencies as semantic constraints. The data model is based on a subset of F-logic. Uniqueness constraints comprise path functional dependencies which generalise functional dependencies and reflect the navigational power of object-oriented query languages. As inclusion dependencies, we consider explicit class inclusion constraints, besides inclusions required by class hierarchies, and onto constraints that enforce reachability of objects. For these classes of semantic constraints we present an axiomatisation and prove its inference rules to be correct and complete with respect to general logical implication, leaving the decision problem open. The completeness proof combines the known construction for path functional dependencies alone with a possibly infinite model generation process to enforce onto constraints. The results prepare the grounds for normal forms in object-oriented data models and subsequently for computer aided object-oriented database design, following the decomposition approach for the relational data model. Beyond the application for schema design, the achievements could also be exploited for related tasks like semantic query optimisation and mediated data integration within a variety of graph based data models. Received: 11 October 2000 / 27 January 2003  相似文献   

5.
In this paper we formalize the object-oriented data model of the Chimera language. This language supports all the common features of object-oriented data models such as object identity, complex objects and user-defined operations, classes, inheritance. Constraints may be defined by means of deductive rules, used also to specify derived attributes. In addition, class attributes, operations, and constraints that collectively apply to classes are supported.The main contribution of our work is to define a complete formal model for an object-oriented data model, and to address on a formal basis several issues deriving from the introduction of rules into an object-oriented data model.  相似文献   

6.
7.
面向对象的图象数据模型   总被引:5,自引:1,他引:4  
杨立 《计算机学报》1993,16(6):437-441
本文按照图象数据的特点,基于构造性类型定义数据库模式,提出了面向对象的图象数据模型,该模型可以对图象实体的结构及其联系进行描述,并支持语义建模的机制,它为图象实体提供了完善的建模能力,本文还讨论了模型中对象操作的形式语义,给出了构造性类型上图象代数运算所具有的形式。  相似文献   

8.
随着对Web服务的不断深入研究和应用,出于各种服务自动化任务的需要,语义Web服务逐渐成为学术界的研究热点。可以看出这些研究大都基于服务单个操作级别的语义进行推理,而对于多个操作之间的语义联系却很少涉及。提出Web服务的重写模型,通过为Web服务添加操作之间的重写规则语义,将Web服务建模为服务重写系统,利用重写技术中的推理机制,实现对Web服务的分析和挖掘。这个方法可应用于服务的QoS优化,以及服务的组合与融合等方面。  相似文献   

9.
We describe the conceptual model of SORAC, a data modeling system developed at the University of Rhode Island. SORAC supports both semantic objects and relationships, and provides a tool for modeling databases needed for complex design domains. SORAC's set of built-in semantic relationships permits the schema designer to specify enforcement rules that maintain constraints on the object and relationship types. SORAC then automatically generates C++ code to maintain the specified enforcement rules, producing a schema that is compatible with Ontos. This facilitates the task of the schema designer, who no longer has to ensure that all methods on object classes correctly maintain necessary constraints. In addition, explicit specification of enforcement rules permits automated analysis of enforcement propagations. We compare the interpretations of relationships within the semantic and object-oriented models as an introduction to the mixed model that SORAC supports. Next, the set of built-in SORAC relationship types is presented in terms of the enforcement rules permitted on each relationship type. We then use the modeling requirements of an architectural design support system, called Arch Objects, to demonstrate the capabilities of SORAC. The implementation of the current SORAC prototype is also briefly discussed.  相似文献   

10.
In computing with words (CWW), knowledge is linguistically represented and has an explicit semantics defined through fuzzy information granules. The linguistic representation, in turn, naturally bears an implicit semantics that belongs to users reading the knowledge base; hence a necessary condition for achieving interpretability requires that implicit and explicit semantics are cointensive. Interpretability is definitely stringent when knowledge must be acquired from data through inductive learning. Therefore, in this paper we propose a methodology for designing interpretable fuzzy models through semantic cointension. We focus our analysis on fuzzy rule-based classifiers (FRBCs), where we observe that rules resemble logical propositions, thus semantic cointension can be partially regarded as the fulfillment of the “logical view”, i.e. the set of basic logical laws that are required in any logical system. The proposed approach is grounded on the employment of a couple of tools: DCf, which extracts interpretable classification rules from data, and Espresso, that is capable of fast minimization of Boolean propositions. Our research demonstrates that it is possible to design models that exhibit good classification accuracy combined with high interpretability in the sense of semantic cointension. Also, structural parameters that quantify model complexity show that the derived models are also simple enough to be read and understood.  相似文献   

11.
A. Biliris  S. Dar  N. H. Gehani 《Software》1993,23(12):1285-1303
C++ objects of types that have virtual functions or virtual base classes contain volatile (‘memory’) pointers. We call such pointers ‘hidden pointers’ because they were not specified by the user. If such C++ objects are made persistent, then these pointers become invalid across program invocations. We encountered this problem in our implementation of O++, which is a database language based on C++. O++ extends C++ with the ability to create and access persistent objects. In this paper, we describe the hidden pointers problem in detail and present several solutions to it. Our solutions are elegant in that they do not require modifying the C++ compiler or the semantics of C++. We also discuss another problem that arises because C++ allows base class pointers to point to derived class objects. C++ has emerged as the de facto standard language for software development, and database systems based on C++ have attracted much attention. We hope that the details and techniques presented will be useful to database researchers and to implementors of object-oriented database systems based on C++.  相似文献   

12.
This research investigates and approach to query processing in a multidatabase system that uses an objectoriented model to capture the semantics of other data models. The object-oriented model is used to construct a global schema, defining an integrated view of the different schemas in the environment. The model is also used as a self-describing model to build a meta-database for storing information about the global schema. A unique aspect of this work is that the object-oriented model is used to describe the different data models of the multidatabase environment, thereby extending the meta database with semantic information about the local schemas. With the global and local schemas all represented in an object-oriented form, structural mappings between the global schema and each local schema are then easily supported. An object algebra then provides a query language for expressing global queries, using the structural mappings to translate object algebra queries into SQL queries over local relational schema. The advantage of using an object algebra is that the object-oriented database can be viewed as a blackboard for temporary storage of local data and for establishing relationships between different databases. The object algebra can be used to directly retrieve temporarily-stored data from the object-oriented database or to transparently retrieve data from local sources using the translation process described in this paper.  相似文献   

13.
一种支持对象联系的有效方法   总被引:4,自引:1,他引:3  
本文提出了一种在面向对象模型中有效支持联系的实现方法-反向属性方法。与传统的面向对象模型相比,该方法能更方便地描述对象间的联系,显著改善联系操作的性能而保持复杂对象的DAG结构不变。在支持特殊的联系方面,本文引入了一些成员对象的插入/删除限制,从而增强了模型的活性。将这些插入/删除限制和反向属性方法联合应用可简洁地描述引用完整性约束和分属联系。  相似文献   

14.
In object-oriented conceptual modeling, the generalization/specialization hierarchy and the whole/part relationship are prevalent classification schemes for object types. This paper presents an object-oriented conceptual model where, in the end, object types are classified according to two relationships only. Existence dependency and generalization/specialization. Existence dependency captures some of the interesting semantics that are usually associated with the concept of aggregation (also called composition or Part Of relation), but in contrast with the latter concept, the semantics of existence dependency are very precise and its use clear cut. The key advantage of classifying object types according to existence dependency are the simplicity of the concept, its absolute unambiguity, and the fact that it enables to check conceptual schemes for semantic integrity and consistency. We will first define the notion of existence dependency and claim that it is always possible to classify objects according to this relationship, thus removing the necessity for the Part Of relation and other kinds of associations between object types. The second claim of this paper is that existence dependency is the key to semantic integrity checking to a level unknown to current object-oriented analysis methods. In other words: Existence dependency allows us to track and solve inconsistencies in an object-oriented conceptual schema  相似文献   

15.
In migrating a legacy relational database system to the object-oriented (OO) platform, when database migration completes, application modules are to be migrated, where embedded relational database operations are mapped into their OO correspondents. In this paper we study mapping relational update operations to their OO equivalents, which include UPDATE1, INSERT and DELETE operations. Relational update operation translation from relational to OO faces the touchy problem of transformation from a value-based relationship model to a reference-based model and maintaining the relational integrity constraints. Moreover, with a relational database where inheritance is expressed as attribute value subset relationship, changing of some attribute values may lead to the change of the position of an object in the class inheritance hierarchy, which we call object migration. Considering all these aspects, algorithms are given mapping relational UPDATE, INSERT and DELETE operations to their OO correspondents. Our work emphasize in examining the differences in the representation of the source schema's semantics resulting from the translation process, as well as differences in the inherent semantics of the two models.  相似文献   

16.
Part-whole relations in object-centered systems: An overview   总被引:7,自引:0,他引:7  
Knowledge bases, data bases and object-oriented systems (referred to in the paper as Object-Centered systems) all rely on attributes as the main construct used to associate properties to objects; among these, a fundamental role is played by the so-called part-whole relation. The representation of such structural information usually requires particular semantics together with specialized inference and update mechanisms, but rarely do current modelling formalisms and methodologies give it a specific, ‘first-class’ dignity. The main thesis of this paper is that the part-whole relation cannot simply be considered as an ordinary attribute: its specific ontological nature requires to be understood and integrated within data-modelling formalisms and methodologies. On the basis of such an ontological perspective, we survey the conceptual modelling issues involving part-whole relations, and the various modelling frameworks provided by knowledge representation and object-oriented formalisms.  相似文献   

17.
R++: adding path-based rules to C++   总被引:1,自引:0,他引:1  
Object-oriented languages and rule-based languages offer two distinct and useful programming abstractions. However, previous attempts to integrate data-driven rules into object-oriented languages have typically achieved an uneasy union at best. R++ is a new, closer integration of the rule-based and object-oriented paradigms that extends C++ with a single programming construct, the path-based rule, as a new kind of class member. Path-based rules-data-driven rules that are restricted to following pointers between objects-are like automatic methods that are triggered by changes to the objects they monitor. Path-based rules provide a useful level of abstraction that encourages a more declarative style of programming and are valuable in object-oriented designs as a means of modeling dynamic collections of interdependent objects. Unlike more traditional pattern-matching rules, path-based rules are not at odds with the object-oriented paradigm and offer performance advantages for many natural applications  相似文献   

18.
This paper describes the Update Protocol Model (UPM), a formal language for the expression of database update semantics. UPM has been used primarily to capture and communicate in a precise and uniform notation the plethora of database semantics described by a variety of "fourth generation" models, many of which are imprecise when it comes to update semantics. Several computing trends–knowledge-based expert systems, distributed database management systems, and new applications based on higher order semantic models–point to the need for modeling techniques beyond that which current data models such as the relational and entity-relationship models provide.  相似文献   

19.
An object-oriented approach for specification and verification of real-time systems is described in this paper. It is motivated by taking advantage of object-oriented techniques to produce real-time software that is easy to understand, maintain, and reuse. The approach specifies the structural, behavioral, and control aspects of objects in one model with a textual representation as well as a graphical representation. For ease to comprehend and use, the model encapsulates object states and allows an analyst to focus on specifying object operations one at a time. System behavior from individual objects can be deduced and analyzed. For safety considerations, the approach supports specification of failures to object behavior and their resultant faults. The approach also supports modeling of timed temporal constraints for specifying and verifying desirable real-time properties. An object timed temporal logic OTTL is defined for expressing the syntax and semantics of these constraints. Decision procedures for their verification are also presented.  相似文献   

20.
A substantial portion of the database programming efforts are invested in integrity constraints enforcement. Traditionally, both the constraint semantics and their enforcement were embedded inside application programs. In recent years several studies have dealt with specifying integrity constraints as separate entities (e.g. rules), and relating the database consistency requirements to these rules. In this paper we deal with the complementary issue of stabilizing the database when update exceptions occur. While a simplistic approach is to abort any transaction that inflicts consistency violations, this is not always the desired action. We take advantage of the empirical observation that most of the exception-handling policies follow a small number of behavior patterns. Unlike some previous approaches that base their repair solution on syntactic analysis of the constraints and performance issues, we base our approach on the application semantics as reflected in these behavioral patterns. We describe a model that uses high-level abstractions called stabilizer types denoting these behavior patterns for consistency restorations, whose exact semantics is case dependent. It follows the fault tolerance's self-stabilization approach. An inference mechanism translates these abstractions into executable active rules. This approach provides high-level language to the exception handling portion of the application and substantially reduces the required programming.  相似文献   

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

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

京公网安备 11010802026262号