32,047 research outputs found
Object Graph Programming
We introduce Object Graph Programming (OGO), which enables reading and
modifying an object graph (i.e., the entire state of the object heap) via
declarative queries. OGO models the objects and their relations in the heap as
an object graph thereby treating the heap as a graph database: each node in the
graph is an object (e.g., an instance of a class or an instance of a metadata
class) and each edge is a relation between objects (e.g., a field of one object
references another object). We leverage Cypher, the most popular query language
for graph databases, as OGO's query language. Unlike LINQ, which uses
collections (e.g., List) as a source of data, OGO views the entire object graph
as a single "collection". OGO is ideal for querying collections (just like
LINQ), introspecting the runtime system state (e.g., finding all instances of a
given class or accessing fields via reflection), and writing assertions that
have access to the entire program state. We prototyped OGO for Java in two
ways: (a) by translating an object graph into a Neo4j database on which we run
Cypher queries, and (b) by implementing our own in-memory graph query engine
that directly queries the object heap. We used OGO to rewrite hundreds of
statements in large open-source projects into OGO queries. We report our
experience and performance of our prototypes.Comment: 13 pages, ICSE 202
Designing an Aspect-Oriented Persistence Layer Supporting Object-Oriented Query Using the .NET Framework 3.5
In this article, we discuss aspect persistence, how it can be implemented in the .NET framework, and how to use the .NET framework to provide object-oriented queries for aspect-oriented persistence layers. The manner in which aspect-orientation can be available in the .NET framework is investigated in the first part of this article. Then the procedure through which adding persistence concepts to the .NET framework as aspects will be explained. In the next step, providing object-oriented querying is discussed, which is the main part of this article. Having object-oriented querying ability helps processes query in the same object-oriented domain in which objects are defined (not in the relation entities' domain). Language Integrated Query (LINQ) is used to provide the ability of querying in an object-oriented manner. Then, the translation of queries from the real objects' domain to the storage-objects' domain is explained. After such translation, the queries can be run by using the existing LINQ providers (for example LINQ to SQL). Finally, translating the result of queries back into the real objects' domain is discussed
The design and implementation of a compiler for the object-oriented data manipulation language
Object-oriented relationships, such as inheritance and covering can not be readily incorporated in classic data models. This thesis addresses this problem by the design and implementation of an object-oriented data model (O- ODM), that incorporates the object-oriented paradigm. A Multimodel and Multilingual Database System called M2DBS has been developed at the Naval Postgraduate School. This system incorporates the classic database data models along with a recently developed object-oriented data model (O-ODM). The problem addressed by this work is to design a new object-oriented data manipulation language (O-ODML) for the O-ODM. The approach is to develop and construct an O- ODML Compiler. Then assimilate the compiler with the Kernel Mapping System (KMS) of the M2DBS. The result of this thesis is a compiler for the O-ODML of the O- ODM. This O-ODML compiler takes an O-ODM query converts it into a low level intermediate language before translating it into a format that the Real Time Monitor can execute on the M2DBS. (AN)http://archive.org/details/thedesignndimple109457556U.S. Navy (U.S.N.) author.;Turkish Navy author
Ontology-based semantic interpretation of cylindricity specification in the next-generation GPS
Cylindricity specification is one of the most important geometrical specifications in geometrical product development. This specification can be referenced from the rules and examples in tolerance standards and technical handbooks in practice. These rules and examples are described in the form of natural language, which may cause ambiguities since different designers may have different understandings on a rule or an example.
To address the ambiguous problem, a categorical data model of cylindricity specification in the next-generation Geometrical Product Specifications (GPS) was proposed at the University of Huddersfield. The modeling language used in the categorical data model is category
language. Even though category language can develop a syntactically correct data model, it is difficult to interpret the semantics of the cylindricity specification explicitly. This paper proposes an ontology-based approach to interpret the semantics of cylindricity specification on
the basis of the categorical data model. A scheme for translating the category language to the OWL 2 Web Ontology Language (OWL 2) is presented in this approach. Through such a scheme, the categorical data model is translated into a semantically enriched model, i.e. an OWL 2
ontology for cylindricity specification. This ontology can interpret the semantics of cylindricity specification explicitly. As the benefits of such semantic interpretation, consistency checking, inference procedures and semantic queries can be performed on the OWL 2 ontology. The proposed approach could be easily extended to support the semantic interpretations of other kinds of geometrical specifications
- âŠ