358 research outputs found
Aspect-Oriented Programming
Aspect-oriented programming is a promising idea that can improve the quality of software by reduce the problem of code tangling and improving the separation of concerns. At ECOOP'97, the first AOP workshop brought together a number of researchers interested in aspect-orientation. At ECOOP'98, during the second AOP workshop the participants reported on progress in some research topics and raised more issues that were further discussed. \ud
\ud
This year, the ideas and concepts of AOP have been spread and adopted more widely, and, accordingly, the workshop received many submissions covering areas from design and application of aspects to design and implementation of aspect languages
Object Oriented Terrain Databases For Visual Simulators
Report on a project to develop methodologies and solutions to the problem of representation and utilization of dynamic terrain on a real-time simulator
Recommended from our members
Notes on Object-Orientation
This report discusses the uses of programming by object-orientation. Included in this report are the following: overview of concepts; software development; user interfaces; and databases
Recommended from our members
Object-Oriented Software Representation of Polymer Materials Information in Engineering Design
The software application POISE, Polymer Objects in a Smalltalk™ Environment, integrates knowledge representation, user interfaces, and data management; a system of tools for the materials domain expert involved in design. Engineering design solutions initially build from generalisations. POISE represents multiple levels of generalisations from classifications of polymer information.
The class-instance paradigm classifies software objects. An object’s behaviour is an exclusive function of its class. Polymer’s behaviours are a function of multiple orthogonal factors, like chemistry and processing, therefore multiple orthogonal classes must represent polymers. Taxonomy only represents one of these factors. The Enhancer mechanism resolves this conflict between classification and representation.
Polymer classification is not well established, with new materials evolving. The software compensates by evolving the classification schema. Guided with a specialised interface tool, the domain expert updates the schema by adding new polymer families and re-classifying existing classes. Through analysing the generalisations in the classification, the domain expert can develop an appropriate classification. This analysis relies on the engineering properties differentiating the principal material qualities. Standard properties do not distinguish specific structural differences in polymer materials, necessitating new
properties.
Material properties distinguish materials in the domain whereas the classes describe the properties of polymer objects. Domain experts add new properties to the polymer classes to distinguish polymer objects. Properties are independent objects that partially describe the class template; Partial Template Objects.
Persistence of personal design information and management of shared data requires dichotomous database management. Shared data requires multi-user access, and consequently transaction management. Transaction management in object-oriented systems often holds resources for a long duration. Transaction declaration hinders transparent access to storage, and corrupts the representation. For single-user design information, transactions are implicit with access. Database proxies provide transparent per-object transaction management to persistent design information. The WorkBase is an object-storage utility that utilises Enhancers as proxies
Mixin Composition Synthesis based on Intersection Types
We present a method for synthesizing compositions of mixins using type
inhabitation in intersection types. First, recursively defined classes and
mixins, which are functions over classes, are expressed as terms in a lambda
calculus with records. Intersection types with records and record-merge are
used to assign meaningful types to these terms without resorting to recursive
types. Second, typed terms are translated to a repository of typed combinators.
We show a relation between record types with record-merge and intersection
types with constructors. This relation is used to prove soundness and partial
completeness of the translation with respect to mixin composition synthesis.
Furthermore, we demonstrate how a translated repository and goal type can be
used as input to an existing framework for composition synthesis in bounded
combinatory logic via type inhabitation. The computed result is a class typed
by the goal type and generated by a mixin composition applied to an existing
class
- …