Results 1 - 10
of
14
Maintenance of Object-oriented Systems during Structural Evolution *
- TAPOS
, 1994
"... ion of common parts and distribution of common parts are extended to apply to syntax edges as well as attribute edges. The only additional complexity is that abstraction of common parts to a superclass is restricted so that the ordering of parts at each immediate subclass cannot be changed. If there ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
ion of common parts and distribution of common parts are extended to apply to syntax edges as well as attribute edges. The only additional complexity is that abstraction of common parts to a superclass is restricted so that the ordering of parts at each immediate subclass cannot be changed. If there is a set of classes that have more than one part in common, but the common parts are ordered differently in the individual classes, then it is not possible to abstract all of the common parts. The object-preserving transformations for class graphs are as follows: ffl Renumbering of parts. Any set of attribute and syntax edges in a class graph may be renumbered as long as the ordering of parts (including inherited parts) remains unchanged for each class. ffl Abstraction of common parts. If all of the immediate subclasses of class C have the same part, that part can be moved up the inheritance hierarchy so that each of the subclasses will inherit the part from C, rather than duplicating the...
Techniques for Reverse-Engineering and Re-Engineering into the Object-Oriented Paradigm
, 1994
"... In order to design and develop object-oriented programs, one must experience what is known as a "paradigm shift". This shift requires that one do not think in terms of the procedures that a software system must perform, but rather in terms of the entities or objects that participate in the ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
In order to design and develop object-oriented programs, one must experience what is known as a "paradigm shift". This shift requires that one do not think in terms of the procedures that a software system must perform, but rather in terms of the entities or objects that participate in the system. As programmers experience a paradigm shift, so must existing software systems somehow be transformed into object-orientation if they are to benefit from object-oriented features.
Managing Business Domain Architectures through Use Case Formalisms
, 1998
"... The areas of domain engineering, vertical application frameworks, and business objects have generated considerable interest in industry and the research community during the last few years. In order for systems to be successfully implemented from such application frameworks, there are two major conc ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
(Show Context)
The areas of domain engineering, vertical application frameworks, and business objects have generated considerable interest in industry and the research community during the last few years. In order for systems to be successfully implemented from such application frameworks, there are two major concerns that must be addressed: how do we maintain non-interfering applications and how do we minimize bias towards any individual application in developing the domain model? In other words, as we add new applications, we need to ensure that they are not destructive to each other. We also need to make certain that as we expand the domain model to accommodate new applications, that these future applications are not unnecessarily constrained or complex. Most of the related work to date has focused on defining the architectural structure of application frameworks or on maintaining structural and behavioral consistency. For my Ph.D. thesis, I propose to develop a conceptual framework for integrating various techniques to facilitate managing the evolution of a business domain architecture. As part of this conceptual framework, I distinguish between a ‘good design ’ and a ‘legal design’. In order to demonstrate the
Evolution of Software via Adaptive Programming
, 1995
"... We claim that our paradigm of adaptive programming is a good solution for the problem of software evolution. We outline the ideas behind our existing tools, and propose significant extensions of them in a few directions and on many levels. ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We claim that our paradigm of adaptive programming is a good solution for the problem of software evolution. We outline the ideas behind our existing tools, and propose significant extensions of them in a few directions and on many levels.
Neptune: Supporting Semantics-Based Runtime Software Refactoring to Achieved Assured System Autonomy
, 2007
"... We consider language support for the domain of runtime software adaptation from the perspective of codebase analysis and self-adaptation, whilst guaranteeing predictable autonomic software behaviours. The paper reviews the current state-of-the-art mechanisms employed to actuate runtime analysis and ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We consider language support for the domain of runtime software adaptation from the perspective of codebase analysis and self-adaptation, whilst guaranteeing predictable autonomic software behaviours. The paper reviews the current state-of-the-art mechanisms employed to actuate runtime analysis and adaptation, followed by the definition of a set of language requirements to support the development of assured autonomic systems. A supporting framework and language Neptune is defined to meet these goals, which is here illustrated using a set of examples taken from a case study that highlights the behavioural and architectural autonomy produced by Neptune. The discussion concludes with further examples that highlight the manner in which Neptune can ensure constraints and requirements are met during adaptation processes.
Abstract Static Composition of Refactorings
"... The number of possible refactorings is unlimited, so no tool vendor will ever be able to provide custom refactorings for all specific user needs. Therefore, we propose a new kind of refactoring tools, which allow users to create, edit and and compose required refactorings just like any other documen ..."
Abstract
- Add to MetaCart
(Show Context)
The number of possible refactorings is unlimited, so no tool vendor will ever be able to provide custom refactorings for all specific user needs. Therefore, we propose a new kind of refactoring tools, which allow users to create, edit and and compose required refactorings just like any other documents. The heart of such a refactoring editor is the ability to compose larger refactorings from existing ones. Computing the precondition of the composite refactoring from the preconditions of the composed refactorings is non-trivial since earlier transformations influence the truth of preconditions of later ones. The ability to calculate these effects without referring to a particular program to which the refactorings should be applied is called program-independent composition. It is the prerequisite for creating composite refactorings that are reusable on arbitrary programs. The main contribution of this paper is a formal model for automatic, programindependent composition of conditional program transformations. We show that conditional transformations, including refactorings, can be composed from a limited set of basic operations. Program-independent derivation of a precondition for the
Attacking the Software Crisis Through Adaptive Object-Oriented Programming: Further Research and Technology Transfer
, 1995
"... The notorious software crisis is caused by the difficulty in evolving complex software. Therefore, our research and technology transfer program attacks the problem of evolutionary design of complex systems (EDCS). At Northeastern we have developed a new methodology, called Adaptive Object-Oriented ..."
Abstract
- Add to MetaCart
(Show Context)
The notorious software crisis is caused by the difficulty in evolving complex software. Therefore, our research and technology transfer program attacks the problem of evolutionary design of complex systems (EDCS). At Northeastern we have developed a new methodology, called Adaptive Object-Oriented Programming, which both makes software simpler and easier to evolve. In other words, we have techniques to make software softer than the traditional software which is rather rigid. In this briefing paper, we outline what we have done, how you can use our research results (technology transfer), including the Demeter Tools/C++, and how we would like to further enhance Adaptive Object-Oriented Programming to make it useful for developing and maintaining large distributed systems in commerce and industry. The government is also nurturing software evolution research, see John Salasin's EDCS program description at http://www.arpa.mil/sisto/solicitations. Salasin's program description prom...