The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Encapsulating methods in objects requires design decisions that complicate specification and modeling of object systems. To allow modeling at a higher level of abstraction, we outline a rigorous theory for dealing with patterns of generalized object systems. Unlike “classical” object-oriented extensions of specification formalisms, the approach is based on a reactive rather than transformational view...
For many years we have improved tools for specification and implementation, but the problem of delivering unsatisfactory systems persists. A major reason is failure to discover what is really wanted/needed. There are differences of view which contribute to this - differences between: what is wanted and needed (required design rather than requirement); the contractual customer and end-user customers;...
In this paper, we demonstrate how a precise semantics of object-oriented modeling techniques can be achieved, and what the possible benefits are. We outline the main modeling techniques used in the SysLab project, sketch, how a precise semantics can be given, and how this semantics can be used during the development process.
UML is the first OO modeling language with a useful modularization and information hiding concept which supports nesting, import, and refinement. This paper translates UML’s informal package definition into predicate logic formulas and solves some open problems concerning the visibility of exported and imported elements.
A simple specification language (OCL) was used to specify and analyze metamodels and metametamodels as part of the OMG OOA&D standardization process. Significant benefits were seen from a small investment in “user-friendly” formality.
This report is a presentation of the contributions to the workshop on Models, Formalisms and Methods for Object-Oriented Distributed Computing. The goal of the workshop was to bring together researchers interested in the the foundations and in the practice of concurrent and distributed object-oriented computing. Two main directions of concurrent system description have been studied during the workshop:...
Over the years, a large body of complex and expanding object-oriented software has accumulated, whose evolution and maintenance is placing an increasing burden on software developers. Dealing with large-scale, mature object-oriented systems and frameworks, and endowing them with flexibility is therefore a key area for the success of future software development projects.
Summary A software system may be considered as an implementation of a number of different algorithms. An evaluation of the time and space complexities of all the algorithms of the system may be employed to detect possible performance problems. There are, however, situations where the costs of computations are acceptable, but the costs of implementation and of later extensions of the system are unacceptably...
Summary We have identified two levels of restructuring in the re-engineering of objectoriented legacy systems: high-level restructuring is concerned with improving the overall architecture of the system, whereas low-level restructuring deals with repairing local problems which are symptoms of bad style. We propose to characterize these low-level problems as patterns of dependencies between classes...
Summary The need for architectural rework in existing software systems is often a consequence of lacking architectural design in the earlier life phases of the software. Adding architecture to existing designs is a difficult task and it calls almost invariably for tearing down existing structures. Even carefully thought out architectures tend to degenerate over time as the requirements of the system...
Summary Complex interdependencies between different parts of a system are a major problem for the maintenance, evolution, and reorganization of large programs. In an object-oriented system, such dependencies exist due to different kinds of interrelationships between the different kinds of entities which make up the system.
Summary A basic problem of reverse engineering is to understand legacy systems and derive abstract characterizations of poorly documented software. In the case of objectoriented software, the static structure (e.g. inheritance and association relationships) can usually be understood easily, and it can be extracted from existing software using automated tools. This is due to the fact that the static...
Summary Object-oriented software can be described in many different ways. In this extended abstract of [MMSH97] we focus on the question how these different software descriptions can best be combined in order to facilitate reuse and evolution.
Summary UML Version 1.0 has been submitted as proposed OOAD standard to OMG by Rational in January 1997 [BJR97]. Due to considerable weaknesses, this version could not become the expected standard and the work on a new version had to be started. I actually do not expect that this version will be the definitive standard. But it can be expected that UML version x.y will be the forthcoming OOAD standard...
Summary This paper summarises important issues and experiences encountered during object-oriented activities carried out in business divisions (switching systems, mobile systems). These activities considered re-engineering and evolution of large software, and were driven by three major requirements: Enforce existing object-oriented methods and notations, to help the definition and implementation...
Summary The ability to re-engineer object-oriented systems has become a vital matter in today’s software industry. Early adopters of the object-oriented programming paradigm are now facing the problem of transforming their object-oriented “legacy” systems into full-fledged frameworks. As proclaimed by the industrial partners in the FAMOOS project,1 re-engineering object-oriented programs exceeding...
Summary In order to improve the design and understanding of class libraries, researchers have proposed automatic class hierarchy redesign methods [Cas92], [GM93], [Anq96]. Generally, the restructuring process is done within a single library and is based on syntactic matching of class signatures derived from visible class attributes.
The workshop on Modeling Software Processes and Artifacts has been attended by 16 researchers from 10 different countries. It explored the application of object technology in process modeling. The workshop was organized by Mehmet Aksit, Klaas van den Berg and Pim van den Broek (University of Twente), Leon Osterweil (University of Massachusetts), Karl Lieberherr (Northeastern University) and Francesco Marcelloni...
In the last decade, there has been much interest in software process improvement (SPI) [PWCC95]. Such improvement is supposed to lead to better product quality, better productivity, lower time-to-market, better predictability, etc. etc.
In the last several years, a considerable number of object-oriented methods have been introduced to create robust, reusable and adaptable software systems [1], [2], [3], [4]. Object-oriented methods define a considerable number of rules which are generally expressed by using two-valued logic. For instance, an entity in a requirement specification is either accepted or rejected as a class. We consider...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.