65,167 research outputs found
Examples of Reusing Synchronization Code in Aspect-Oriented Programming using Composition Filters
Applying the object-oriented paradigm for the development of large and complex software systems offers several advantages, of which increased extensibility and reusability are the most prominent ones. The object-oriented model is also quite suitable for modeling concurrent systems. However, it appears that extensibility and reusability of concurrent applications is far from trivial. The problems that arise, the so-called inheritance anomalies or crosscutting aspects have been extensively studied in the literature. As a solution to the synchronization reuse problems, we present the composition-filters approach. Composition filters can express synchronization constraints and operations on objects as modular extensions. In this paper we briefly explain the composition filters approach, demonstrate its expressive power through a number of examples and show that composition filters do not suffer from the inheritance anomalies
State-Based Formal Methods for Distributed Processing: From Z to Object-Z
In this paper, we look at state-based specification notations and how they may be extended with concepts from object orientation. In particular, we focus on the Z specification language and one of its object-oriented extensions Object-Z. The state-based paradigm is introduced by specifying an ODP trader object in Z. The paper provides an overview of other state-based notations and discusses how such notations have been extended to support object orientation. Finally, we present a specification of the ODP trading function in Object-Z
From Object-Oriented Specification to Implementation: A Formal Refinement Methodology.
Traditionally, software development models use different methods and techniques in each phase from specification through design to implementation. Significant changes in the representations between phases have been common. The formal development method based on formal specification and stepwise development has been suggested to reduce the change in representation. The formal development method consists of a formal specification and verified design. In the formal specification step, a formal specification language is used to specify an accurate, consistent, and complete system. Vienna Development Method (VDM) is one of the most widely used formal specification languages. A verified design guides the development of the system from specification to executable code. A refinement method is used in VDM for that purpose. The use of the object-oriented paradigm is another important trend in software engineering. Initially, object-oriented methods were applied primarily during the implementation phase using object-oriented languages. Eiffel is an object-oriented programming language which has many strong facilities such as assertions and genericity. Numerous object-oriented specification languages exist, including object-oriented extensions to VDM. We defined Object-VDM to help remove limitations from existing object-oriented VDM languages. In this dissertation, we investigate a formal development method in the object-oriented environment since limited research hss been done in the area. We defined a refinement method that refines an Object-VDM specification to Eiffel code. There are three stages in this refinement: data refinement, operation refinement, and structure refinement. In data refinement, the mathematical data models in Object-VDM are converted to Eiffel data structures by creating Eiffel libraries. We proved the correctness of the conversion. In operation refinement, we modified and added rules to the original refinement to obtain Eiffel code. Object-oriented features are converted in the structure refinement step. In summary, this research provides a refinement method in object-oriented environments. Specifically, the refinement converts Object-VDM specifications to Eiffel codes
CRUD-DOM: a model for bridging the gap between the object-oriented and the relational paradigms
Best Paper AwardObject-oriented programming is the most successful
programming paradigm. Relational database management
systems are the most successful data storage components.
Despite their individual successes and their desirable tight
binding, they rely on different points of view about data
entailing difficulties on their integration. Some solutions have
been proposed to overcome these difficulties, such as
Embedded SQL, object/relational mappings (O/RM), language
extensions and even Call Level Interfaces (CLI), as JDBC and
ADO.NET. In this paper we present a new model aimed at
integrating object-oriented languages and relational databases,
named CRUD Data Object Model (CRUD-DOM). CRUDDOM
relies on CLI (JDBC) and aims not only at exploring
CLI advantages as preserving its performance and SQL
expressiveness but also on providing a typestate approach for
the implementation of the ResultSet interface. The model
design aims to facilitate the development of automatic code
generation tools. We also present such a tool, called CRUD
Manager (CRUD-M), which provides automatic code
generation with a complementary support for software
maintenance. This paper shows that CRUD-DOM is an
effective model to address the aforementioned objectives.(undefined
Modular and composable extensions to smalltalk using composition filters
Current and future trends in computer science require extensions to Smalltalk. Rather than arguing for particular language mechanisms to deal with specific requirements, in this position paper we want to make a case for two requirements that Smalltalk extensions should fulfill. The first is that the extensions must be integrated with Smalltalk without violating its basic object model. The second requirement is that extensions should allow for defining objects that are still adaptable, extensible and reusable, and in particular do not cause inheritance anomalies. We propose the composition filters model as a framework for language extensions that fulfills these criteria. Its applicability to solving various modeling problems is briefly illustrated
Concepts and their Use for Modelling Objects and References in Programming Languages
In the paper a new programming construct, called concept, is introduced.
Concept is pair of two classes: a reference class and an object class.
Instances of the reference classes are passed-by-value and are intended to
represent objects. Instances of the object class are passed-by-reference. An
approach to programming where concepts are used instead of classes is called
concept-oriented programming (CoP). In CoP objects are represented and accessed
indirectly by means of references. The structure of concepts describes a
hierarchical space with a virtual address system. The paper describes this new
approach to programming including such mechanisms as reference resolution,
complex references, method interception, dual methods, life-cycle management
inheritance and polymorphism.Comment: 43 pages. Related papers: http://conceptoriented.com
UML-F: A Modeling Language for Object-Oriented Frameworks
The paper presents the essential features of a new member of the UML language
family that supports working with object-oriented frameworks. This UML
extension, called UML-F, allows the explicit representation of framework
variation points. The paper discusses some of the relevant aspects of UML-F,
which is based on standard UML extension mechanisms. A case study shows how it
can be used to assist framework development. A discussion of additional tools
for automating framework implementation and instantiation rounds out the paper.Comment: 22 pages, 10 figure
A survey of agent-oriented methodologies
This article introduces the current agent-oriented methodologies. It discusses what approaches have been followed (mainly extending existing object oriented and knowledge engineering methodologies), the suitability of these approaches for agent modelling, and some conclusions drawn from the survey
Recommended from our members
Conceptual modelling and the quality of ontologies: A comparison between object-role modelling and the object paradigm
Ontologies are key enablers for sharing precise and machine-understandable semantics among different applications and parties. Yet, for ontologies to meet these expectations, their quality must be of a good standard. The quality of an ontology is strongly based on the design method employed. This paper addresses the design problems related to the modelling of ontologies, with specific concentration on the issues related to the quality of the conceptualisations produced. The paper aims
to demonstrate the impact of the modelling paradigm adopted on the quality of ontological models and, consequently, the potential impact that such a decision can have in relation to the development of
software applications. To this aim, an ontology that is conceptualised based on the Object Role Modelling (ORM) approach is re-engineered into a one modelled on the basis of the Object Paradigm (OP). Next, the two ontologies are analytically compared using the specified criteria. The conducted
comparison highlights that using the OP for ontology conceptualisation can provide more expressive, reusable, objective and temporal ontologies than those conceptualised on the basis of the ORM approach
- …