56 research outputs found
Incremental Product Release of Java Applications using Dynamic Updates
With the evolution of the software development process, claimed by the new demands of the market, software development has changed considerably since its early days. In order to support the increase in complexity and dimensions of new software product, software engineers have developed new tools and methodologies in order to cope with the market requests. Despite all these advances, a software product can still be in need of changes after the delivery. These modifications are traditionally divided as changes to the functionality of the software that address new unanticipated requirements, changes that allow the software to run on a different environment, changes that fix errors and improvements that can avoid future problems. The maintenance and update process of an application have traditionally involved the classic halt, redeploy and restart scheme. However, this approach cannot be used in every scenario; consider as an example a high availability e-commerce system. For some companies the cost of a system shutdown can be prohibitive in terms of economic outlay, safety and the availability of service.
A Dynamic Software Updating system (DSU) allows overcoming the update problem enabling applications to be updated without recurring to the halt-update-redeploy scheme.. Many DSU systems have been developed since the ‘70s, each of them comes with some peculiar properties defining on-the-run application updateability with a certain level of granularity by allowing only certain subset of modifications to the code.
In this work we examine a software-based DSU system called Javeleon, developed at the University of Southern Denmark – Mærsk Mc-Kinney Møller Institute in collaboration with Sun Microsystems. A novel feature of Javeleon is the support of full redefinition of classes and changes to the type hierarchy. Following the evolution of a case study application we will show how the capability of dynamically updating software with Javeleon impacts on software development process. By working with Javeleon we will also test the transparency of this system towards the programmer
Recommended from our members
Analysis and Development of Instrument Software Paradigms: Conception and Implementation of a New Instrument Control and Data Acquisition System, Proven by Material Scientific Applications
During the last 50 years, the quality of analysis methods in many scientific disciplines has been enhanced by electronic applications, automation and data processing. While the features, performance and usability of these processes have been continually enhanced, it is conspicuous that the majority of institutes operate own proprietary software. This situation arises for both historical and financial reasons, plus a wish to retain autonomy fuelled by the requirement for a system that remains compatible with both new and legacy hardware.
This thesis reviews the commonly used scientific software systems and their stakeholders and tries to identify generic problems. The demands on instrument systems are summarized by a requirement specification. Based on these requirements, a basic concept is developed that reflects the current state-of-the art in software design and which may provide a blueprint for instrument system architectures. The results are used to create a proof-of-concept implementation. Core to this approach is an application server that comes with a container, which makes use of the Inversion-of-Control pattern to loosely couple and execute components. These do not need to implement fixed interfaces and are thus decoupled from a specific use-case. Components can, for example, be proxies that control and acquire data from legacy hardware, perform calculations, provide a human-machine interface or act as storage. They are dynamically wired to experiments using XML-based Assembly files. Both Assemblies and Components can be published using a central store on a collaboration platform and shared by the community. This increases reusability and allows the use of existing Assemblies with new hardware by simply replacing the hardware proxy modules.
Example components have been provided for the access to legacy and new instrument hardware, the storage of results in the NeXus format, data reduction, simulation with McStas, the execution of customizable scans and the visualization of data
Application of Web Services to a Simulation Framework
The Joint Semi-Automated Forces (JSAF) simulator is an excellent tool for military training and a great testbed for new SAF behaviors. However, it has the drawback that behaviors must be ported into its own Finite State Machine (FSM) language. Web Services is a growing technology that seamlessly connects service providers to service consumers. This work attempts to merge these two technologies by modeling SAF behaviors as web services. The JSAF simulator is then modeled as a web service consumer. This approach allows new Semi-Automated Forces (SAF) behaviors to be developed independently of the simulator, which provides the developer with greater flexibility when choosing a programming language, development environment, and development platform. In addition to new SAF behaviors, this approach also supports any external component that can be modeled as a web service. Furthermore, these services are often run over a network, which distributes the computational load across several computers. Finally, hosting copies of a single service on several machines, a concept similar to file-sharing mirrors, offers an environment for load-balancing. This means if several entities are running the same behavior, a single server does not perform the computation for every entity. Instead, each entity is assigned to a specific server, increasing the quality of service seen by the system. A Web Services framework linking JSAF with several services is designed and implemented. Suppression of Enemy Air Defense (SEAD) behaviors written in MATLAB and a behavior recognition system are integrated with JSAF. These behaviors and the recognition tool were developed by other researchers, independent of this work. Results show that offloading computation to other machines is beneficial, especially when the simulation system is under heavy load. Preliminary results also indicate that load-balancing performs much better than using a single server
An automatic song annotation system
Projecte final de carrera fet en col.laboració amb CCMAThe amount of multimedia content in the audiovisual sector, as well as on the Internet, is increasing a lot,
and Music is one of the most outstanding forms of multimedia content requested by users. Every year, new
songs, artists and genres appear in the market. Managing this musical content is, thus, becoming a very
complex task. The present document presents the design and implementation of a system, that aims to solve
the problem related to multimedia content management
AspectMaps: Extending Moose to visualize AOP software
International audienceWhen using aspect-oriented programming the application implicitly invokes the functionality contained in the aspects. Consequently program comprehension of such a software is more intricate. To alleviate this difficulty we developed the AspectMaps visualization and tool. AspectMaps extends the Moose program comprehension and reverse engineering platform with support for aspects, and is implemented using facilities provided by Moose. In this paper we present the AspectMaps tool, and show how it can be used by performing an exploration of a fairly large aspect-oriented application. We then show how we extended the FAMIX meta-model family that underpins Moose to also provide support for aspects. This extension is called ASPIX, and thanks to this enhancement Moose can now also treat aspect-oriented software. Finally, we report on our experiences using some of the tools in Moose; Mondrian to implement the visualization, and Glamour to build the user interface. We discuss how we were able to implement a sizable visualization tool using them and how we were able to deal with some of their limitations. Note: This paper uses colors extensively. Please use a color version to better understand the ideas presented here
Web collaboration for software engineering
Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 200
Flexible virtual learning environments: a schema-driven approach using sematic web concepts
Flexible e-Iearning refers to an intelligent educational mechanism that focuses on simulating and improving traditional education as far as possible on the Web by integrating various electronic approaches, technologies, and equipment. This mechanism aims to promote the personalized development and management of e-learning Web services and applications. The main value of this method is that it provides high-powered individualization in pedagogy for students and staff.Here, the thesis mainly studied three problems in meeting the practical requirements of users in education. The first question is how a range of teaching styles (e.g. command and guided discovery) can be supported. The second one is how varieties of instructional processes can be authored. The third question is how these processes can be controlled by learners and educators in terms of their personalized needs during the execution of instruction.In this research, through investigating the existing e-Iearning approaches and technologies, the main technical problems of current virtual learning environments (VLEs) were analyzed. Next, by using the Semantic Web concepts as well as relevant standards, a schema-driven approach was created. This method can support users' individualized operations in the Web-based education. Then, a flexible e-learning system based on the approach was designed and implemented to map a range of extensive didactic paradigms. Finally, a case study was completed to evaluate the research results. The main findings of the assessment were that the flexible VLE implemented a range of teaching styles and the personalized creation and control of educational processes
Estación meteorológica inalámbrica, de muy bajo consumo e inteligencia embebida
El trabajo aborda la realización de una estación meteorológica alimentada mediante una placa solar. La placa emisora cuenta con una serie de sensores que dan información a cerca de la temperatura, la humedad, la presión y la iluminación. Los datos son recibidos y se implementan algoritmos de predicción del tiempo cuyo resultado es visualizado por el usuario. Uno de los objetivos fundamentales es que el sistema resultante sea de muy bajo consumo para que pueda operar durante largos períodos
Embedded Cloud System for Ann-Cod Analysis Using UV Spectroscopy
One of the many parameters indicating water quality is chemical oxygen demand (COD), which is an indirect measurement of the amount of organic compound material in water. There have been many studies, in both academia and the industry, to analyze the COD content of water using spectral analysis. The proposal of this thesis was to study, analyze, and identify methods to determine the presence of COD using UV spectroscopy data and an artificial neural network (ANN) in a cloud-connected embedded system. The system was implemented using an ARM11 board and a portable spectrometer. Light in the UV range was used to analyze the water sample. As an analysis strategy, the spectral data were converted into a real number value in the range of 0 to 1. Twenty equidistance samples were taken out of the converted data to be fed into the ANN, and the ANN was trained with known samples to identify any presence of COD. Experiments used laboratory-calibrated water samples with known COD and some real-life water samples. All the experiments showed that the implemented system could successfully indicate the presence or absence of COD in the given water sample. The system also successfully demonstrated the application of a cloud-connected embedded system to an area in environmental engineering. This indicated that the system was a bridge between computer and environmental engineering
- …