8,855 research outputs found
Bridging the gap between design and implementation of components libraries
Object-oriented design is usually driven by three main reusability principles:
step-by-step design, design for reuse and design with reuse. However, these
principles are just partially
applied to the subsequent object-oriented implementation, often due to efficienc
y
constraints, yielding to a gap between design and implementation. In this paper
we provide a solution for bridging this gap for a concrete framework, the one of
designing and implementing container-like component libraries, such as STL, Booc
h
Components, etc. Our approach is based on a new design pattern together with its
corresponding implementation. The proposal enhances the same principles that
drive the design process: step-by--step implementation (adding just what is
needed in every step), implementation with reuse (component implementations are
reused while library implementation
progresses and component hierarchies grow) and implementation for reuse
(intermediate component implementations can be reused in many different points o
f
the hierarchy). We use our approach in two different manners: for building a
brand-new container-like
component library, and for reengineering an existing one, Booch Components in
Ada95.Postprint (published version
Improving design and implementation of OO container-like component libraries
Object-oriented design is usually driven by three main reusability
principles: step-by-step design, design for reuse and design with reuse.
However, these principles tend to be just partially applied to the
subsequent object-oriented implementation, often because they conflict
with other quality criteria (remarkably, efficiency). So, there is a gap
between design and implementation: due to these conflicts developers use
to give up design level abstractions during the implementation. In this
paper we present a framework for bridging this gap for a concrete
domain, the design and implementation of object-oriented container-like
component libraries, such as JCF, STL, Booch Components, LEDA, etc. At
the core of the framework we propose a new design pattern called
emph{Shortcut} together with its corresponding implementation. The
Shortcut pattern, introduced in a generic base class container, provides
a secure and efficient access to items in a container decoupled from the
implementation details of concrete containers. Shortcut enhances
applying the same principles that drive the design process to the
implementation process of these libraries: step-by-step implementation,
implementation with reuse and implementation for reuse without
penalising other quality criteria. Our framework not only supports the
design and implementation of new libraries but also the reengineering of
existing ones to overcome some of their drawbacks. We show by a case
study, reengineering the Booch Components in Ada95, the application and
benefits of our framework.Postprint (published version
Adding efficient and reliable access paths to the JCF
The Java Collections Framework (JCF) is the standard Java library for
representing and manipulating collections (i.e., objects that represent
a group of objects, such as sets, lists, etc.). Although JCF provides
adequate functionality for many purposes, it does not offer any
mechanism for accessing directly the objects stored in collections
apart from the standard Java references. This absence is a crucial
functionality exhibited by many other widespread Java and non-Java
collection libraries. In this paper, we carry out a reengineering
process on the JCF to add this kind of alternative access paths, which
we give the name of shortcuts. This process relies on a framework
called Shortcut-Based Framework, which has been defined as library-
independent. We present this framework and then we show how it may be
tailored to the specific case of the JCF. The resulting JCF with
shortcuts library is fully compatible with the original one (i.e.,
programs using the original JCF are not required to be modified), and
exhibits good behaviour with respect to efficiency, reliability and
internal quality. As an additional benefit of the framework, we mention
that it can be applied to other collection libraries, as we have done
before with an Ada95 one.Postprint (published version
Optimal design of membrane processes. A problem of choices between process layout, operating conditions and adopted control system
The development of membrane processes as a technology for environmental treatment applications and in particular for the purification of wastewater streams has significantly increased in the last decades. Fouling on membranes appears to be one of the main technical limit of this technology. This phenomenon causes the unavoidable deposition of particles on the membrane surface, building a resistive growing layer to permeability. Sensible fouling of the membrane leads to a significant reduction of the performances, a decrease of the operating life and, as a consequence, the increase of the operational costs due to the replacement or cleaning of the exhausted membrane modules. The presence of the fouling phenomena makes the proper design and control of membrane systems a difficult task. Optimal design of the membrane processes will be here discussed. The procedure requires to determine the optimal process layout given the input data and target requirements. At the end, the required membrane area is calculated. This latter property is strictly dependant of the adopted operating conditions, most importantly by the adopted value of transmembrane pressure (TMP). Moreover, it depends if the value of TMP remain fixed as a function of time or is variable (as in case of fixed permeate flow rates). Therefore, the optimal design of the system may occur only if the adopted control strategy is defined a priori. As a consequence, design choices of the membrane process layout, operating condition and adopted control system are strictly dependant, and connections between these different aspects should not be neglected during the engineering and P & I development stage of membrane systems. This paper will start from the theory of the boundary flux, in order to describe a novel design approach to membrane systems. Parallel to this, the development of an advanced control system, that allows to limit fouling formation during operation, is presented. The advanced control system relies on a suitable simulation software capable to predict the boundary flux, that changes the controller's set-points accordingly. Finally, the paper will merge all elements together, and report about the optimal design of membrane processes equipped with the advanced membrane process control system; validation of the proposed approach will be based on the use of a custom simulation model in ASPEN HYSYS and by experiments on lab scale
- …