47 resultados para Testing aspect-oriented programs

em Instituto Polit


Relevância:

100.00% 100.00%

Publicador:

Resumo:

The persistence concern implemented as an aspect has been studied since the appearance of the Aspect-Oriented paradigm. Frequently, persistence is given as an example that can be aspectized, but until today no real world solution has applied that paradigm. Such solution should be able to enhance the programmer productivity and make the application less prone to errors. To test the viability of that concept, in a previous study we developed a prototype that implements Orthogonal Persistence as an aspect. This first version of the prototype was already fully functional with all Java types including arrays. In this work the results of our new research to overcome some limitations that we have identified on the data type abstraction and transparency in the prototype are presented. One of our goals was to avoid the Java standard idiom for genericity, based on casts, type tests and subtyping. Moreover, we also find the need to introduce some dynamic data type abilities. We consider that the Reflection is the solution to those issues. To achieve that, we have extended our prototype with a new static weaver that preprocesses the application source code in order to introduce changes to the normal behavior of the Java compiler with a new generated reflective code.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

The life cycle of software applications in general is very short and with extreme volatile requirements. Within these conditions programmers need development tools and techniques with an extreme level of productivity. We consider the code reuse as the most prominent approach to solve that problem. Our proposal uses the advantages provided by the Aspect-Oriented Programming in order to build a reusable framework capable to turn both programmer and application oblivious as far as data persistence is concerned, thus avoiding the need to write any line of code about that concern. Besides the benefits to productivity, the software quality increases. This paper describes the actual state of the art, identifying the main challenge to build a complete and reusable framework for Orthogonal Persistence in concurrent environments with support for transactions. The present work also includes a successfully developed prototype of that framework, capable of freeing the programmer of implementing any read or write data operations. This prototype is supported by an object oriented database and, in the future, will also use a relational database and have support for transactions.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

In this paper the problem of the evolution of an object-oriented database in the context of orthogonal persistent programming systems is addressed. We have observed two characteristics in that type of systems that offer particular conditions to implement the evolution in a semi-transparent fashion. That transparency can further be enhanced with the obliviousness provided by the Aspect-Oriented Programming techniques. Was conceived a meta-model and developed a prototype to test the feasibility of our approach. The system allows programs, written to a schema, access semi-transparently to data in other versions of the schema.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Applications are subject of a continuous evolution process with a profound impact on their underlining data model, hence requiring frequent updates in the applications' class structure and database structure as well. This twofold problem, schema evolution and instance adaptation, usually known as database evolution, is addressed in this thesis. Additionally, we address concurrency and error recovery problems with a novel meta-model and its aspect-oriented implementation. Modern object-oriented databases provide features that help programmers deal with object persistence, as well as all related problems such as database evolution, concurrency and error handling. In most systems there are transparent mechanisms to address these problems, nonetheless the database evolution problem still requires some human intervention, which consumes much of programmers' and database administrators' work effort. Earlier research works have demonstrated that aspect-oriented programming (AOP) techniques enable the development of flexible and pluggable systems. In these earlier works, the schema evolution and the instance adaptation problems were addressed as database management concerns. However, none of this research was focused on orthogonal persistent systems. We argue that AOP techniques are well suited to address these problems in orthogonal persistent systems. Regarding the concurrency and error recovery, earlier research showed that only syntactic obliviousness between the base program and aspects is possible. Our meta-model and framework follow an aspect-oriented approach focused on the object-oriented orthogonal persistent context. The proposed meta-model is characterized by its simplicity in order to achieve efficient and transparent database evolution mechanisms. Our meta-model supports multiple versions of a class structure by applying a class versioning strategy. Thus, enabling bidirectional application compatibility among versions of each class structure. That is to say, the database structure can be updated because earlier applications continue to work, as well as later applications that have only known the updated class structure. The specific characteristics of orthogonal persistent systems, as well as a metadata enrichment strategy within the application's source code, complete the inception of the meta-model and have motivated our research work. To test the feasibility of the approach, a prototype was developed. Our prototype is a framework that mediates the interaction between applications and the database, providing them with orthogonal persistence mechanisms. These mechanisms are introduced into applications as an {\it aspect} in the aspect-oriented sense. Objects do not require the extension of any super class, the implementation of an interface nor contain a particular annotation. Parametric type classes are also correctly handled by our framework. However, classes that belong to the programming environment must not be handled as versionable due to restrictions imposed by the Java Virtual Machine. Regarding concurrency support, the framework provides the applications with a multithreaded environment which supports database transactions and error recovery. The framework keeps applications oblivious to the database evolution problem, as well as persistence. Programmers can update the applications' class structure because the framework will produce a new version for it at the database metadata layer. Using our XML based pointcut/advice constructs, the framework's instance adaptation mechanism is extended, hence keeping the framework also oblivious to this problem. The potential developing gains provided by the prototype were benchmarked. In our case study, the results confirm that mechanisms' transparency has positive repercussions on the programmer's productivity, simplifying the entire evolution process at application and database levels. The meta-model itself also was benchmarked in terms of complexity and agility. Compared with other meta-models, it requires less meta-object modifications in each schema evolution step. Other types of tests were carried out in order to validate prototype and meta-model robustness. In order to perform these tests, we used an OO7 small size database due to its data model complexity. Since the developed prototype offers some features that were not observed in other known systems, performance benchmarks were not possible. However, the developed benchmark is now available to perform future performance comparisons with equivalent systems. In order to test our approach in a real world scenario, we developed a proof-of-concept application. This application was developed without any persistence mechanisms. Using our framework and minor changes applied to the application's source code, we added these mechanisms. Furthermore, we tested the application in a schema evolution scenario. This real world experience using our framework showed that applications remains oblivious to persistence and database evolution. In this case study, our framework proved to be a useful tool for programmers and database administrators. Performance issues and the single Java Virtual Machine concurrent model are the major limitations found in the framework.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Applications refactorings that imply the schema evolution are common activities in programming practices. Although modern object-oriented databases provide transparent schema evolution mechanisms, those refactorings continue to be time consuming tasks for programmers. In this paper we address this problem with a novel approach based on aspect-oriented programming and orthogonal persistence paradigms, as well as our meta-model. An overview of our framework is presented. This framework, a prototype based on that approach, provides applications with aspects of persistence and database evolution. It also provides a new pointcut/advice language that enables the modularization of the instance adaptation crosscutting concern of classes, which were subject to a schema evolution. We also present an application that relies on our framework. This application was developed without any concern regarding persistence and database evolution. However, its data is recovered in each execution, as well as objects, in previous schema versions, remain available, transparently, by means of our framework.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Generally, the evolution process of applications has impact on their underlining data models, thus becoming a time-consuming problem for programmers and database administrators. In this paper we address this problem within an aspect-oriented approach, which is based on a meta-model for orthogonal persistent programming systems. Applying reflection techniques, our meta-model aims to be simpler than its competitors. Furthermore, it enables database multi-version schemas. We also discuss two case studies in order to demonstrate the advantages of our approach.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

The complexity of systems is considered an obstacle to the progress of the IT industry. Autonomic computing is presented as the alternative to cope with the growing complexity. It is a holistic approach, in which the systems are able to configure, heal, optimize, and protect by themselves. Web-based applications are an example of systems where the complexity is high. The number of components, their interoperability, and workload variations are factors that may lead to performance failures or unavailability scenarios. The occurrence of these scenarios affects the revenue and reputation of businesses that rely on these types of applications. In this article, we present a self-healing framework for Web-based applications (SHõWA). SHõWA is composed by several modules, which monitor the application, analyze the data to detect and pinpoint anomalies, and execute recovery actions autonomously. The monitoring is done by a small aspect-oriented programming agent. This agent does not require changes to the application source code and includes adaptive and selective algorithms to regulate the level of monitoring. The anomalies are detected and pinpointed by means of statistical correlation. The data analysis detects changes in the server response time and analyzes if those changes are correlated with the workload or are due to a performance anomaly. In the presence of per- formance anomalies, the data analysis pinpoints the anomaly. Upon the pinpointing of anomalies, SHõWA executes a recovery procedure. We also present a study about the detection and localization of anomalies, the accuracy of the data analysis, and the performance impact induced by SHõWA. Two benchmarking applications, exercised through dynamic workloads, and different types of anomaly were considered in the study. The results reveal that (1) the capacity of SHõWA to detect and pinpoint anomalies while the number of end users affected is low; (2) SHõWA was able to detect anomalies without raising any false alarm; and (3) SHõWA does not induce a significant performance overhead (throughput was affected in less than 1%, and the response time delay was no more than 2 milliseconds).

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Power systems have been suffering huge changes mainly due to the substantial increase of distributed generation and to the operation in competitive environments. Virtual power players can aggregate a diversity of players, namely generators and consumers, and a diversity of energy resources, including electricity generation based on several technologies, storage and demand response. Resource management gains an increasing relevance in this competitive context, while demand side active role provides managers with increased demand elasticity. This makes demand response use more interesting and flexible, giving rise to a wide range of new opportunities.This paper proposes a methodology for managing demand response programs in the scope of virtual power players. The proposed method is based on the calculation of locational marginal prices (LMP). The evaluation of the impact of using demand response specific programs on the LMP value supports the manager decision concerning demand response use. The proposed method has been computationally implemented and its application is illustrated in this paper using a 32 bus network with intensive use of distributed generation.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

The design and development of simulation models and tools for Demand Response (DR) programs are becoming more and more important for adequately taking the maximum advantages of DR programs use. Moreover, a more active consumers’ participation in DR programs can help improving the system reliability and decrease or defer the required investments. DemSi, a DR simulator, designed and implemented by the authors of this paper, allows studying DR actions and schemes in distribution networks. It undertakes the technical validation of the solution using realistic network simulation based on PSCAD. DemSi considers the players involved in DR actions, and the results can be analyzed from each specific player point of view.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

In recent years, Power Systems (PS) have experimented many changes in their operation. The introduction of new players managing Distributed Generation (DG) units, and the existence of new Demand Response (DR) programs make the control of the system a more complex problem and allow a more flexible management. An intelligent resource management in the context of smart grids is of huge important so that smart grids functions are assured. This paper proposes a new methodology to support system operators and/or Virtual Power Players (VPPs) to determine effective and efficient DR programs that can be put into practice. This method is based on the use of data mining techniques applied to a database which is obtained for a large set of operation scenarios. The paper includes a case study based on 27,000 scenarios considering a diversity of distributed resources in a 32 bus distribution network.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

The growing importance and influence of new resources connected to the power systems has caused many changes in their operation. Environmental policies and several well know advantages have been made renewable based energy resources largely disseminated. These resources, including Distributed Generation (DG), are being connected to lower voltage levels where Demand Response (DR) must be considered too. These changes increase the complexity of the system operation due to both new operational constraints and amounts of data to be processed. Virtual Power Players (VPP) are entities able to manage these resources. Addressing these issues, this paper proposes a methodology to support VPP actions when these act as a Curtailment Service Provider (CSP) that provides DR capacity to a DR program declared by the Independent System Operator (ISO) or by the VPP itself. The amount of DR capacity that the CSP can assure is determined using data mining techniques applied to a database which is obtained for a large set of operation scenarios. The paper includes a case study based on 27,000 scenarios considering a diversity of distributed resources in a 33 bus distribution network.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

On this paper we present a modified regularization scheme for Mathematical Programs with Complementarity Constraints. In the regularized formulations the complementarity condition is replaced by a constraint involving a positive parameter that can be decreased to zero. In our approach both the complementarity condition and the nonnegativity constraints are relaxed. An iterative algorithm is implemented in MATLAB language and a set of AMPL problems from MacMPEC database were tested.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Estudos epidemiológicos dão conta de um aumento exponencial de crianças que reportam dor espinal nalgum momento da vida, tendo-se vindo a atribuir a esta um interesse crescente. Nesta sequência têm vindo a ser estudados factores de risco para a dor espinal, cujo leque tem aumentado devido ao contexto social em que nos inserimos. Um dos aspectos sobre o qual recai a nossa investigação relaciona-se com a activação muscular nas crianças com dor espinal, aspecto ainda não estudado nesta população em particular. A literatura indica que, na população adulta sem dor espinal existe pré-activação muscular abdominal aquando da flexão rápida do ombro e a maioria dos estudos revistos apontam para a inexistência da mesma nos indivíduos com dor espinal. Apesar disso, não existem evidências que o demonstrem em crianças pelo que o nosso estudo pretende descrever o padrão de recrutamento abdominal utilizado pelas crianças com dor espinal, aquando do movimento rápido do membro superior bem como analisar os principais factores de risco. Para recolha dos dados utilizou-se o Questionário de Dor Adaptado, para rastrear a amostra com dor espinal e descrever a sua história ocupacional, e Electromiografia de Superfície, com utilização do acelerómetro, que nos deu conta do início do movimento. Os dados obtidos neste estudo indicam que existe activação muscular abdominal, no momento imediatamente prévio ao início do movimento de flexão do ombro, em quase toda a musculatura abdominal, em crianças com dor espinal excepto em dois participantes que revelam um atraso na activação do músculo oblíquo interno direito e num outro que revela um atraso na activação do recto abdominal. Um dos participantes apresentou pré-activação em todos os músculos estudados. Isto provavelmente encontra-se relacionado com o processo de maturação e indica que possivelmente esta é uma boa altura para prevenir a evolução da dor e possíveis futuros problemas ocupacionais daí advindos, como faltar ao trabalho e ter uma baixa participação social. Estudos futuros devem debruçar-se sobre esta temática e sobre a delineação de novos programas, desta feita de prevenção, de modo a evitar problemas ocupacionais na idade adulta, já que crianças com dor são mais susceptíveis de se tornarem adultos com dor crónica.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Mestrado em Engenharia Química. Ramo Tecnologias de Protecção Ambiental.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Introdução: As doenças cardiovasculares são a principal causa de morte na Europa e o sedentarismo é um dos seus principais fatores de risco. Os programas de reabilitação cardiovascular (RCV) no domicílio parecem ser eficazes na tolerância ao exercício. No entanto, torna-se difícil reproduzir um protocolo de exercícios no domicílio, por se tratar de estudos pouco específicos. Objetivo: Avaliar os efeitos de um programa de exercícios específico realizado no domicílio, na tolerância ao exercício em pacientes integrados num programa RCV. Metodologia: Estudo quase experimental composto por 20 indivíduos com pelo menos um ano de enfarte agudo do miocárdio, distribuídos aleatoriamente em dois grupos: grupo experimental (GE) e grupo de controlo (GC), ambos com 10 indivíduos. O programa de RCV no domicílio (constituído por 10 exercícios) teve a duração de 8 semanas, com uma frequência de 3 vezes por semana. Avaliou-se a frequência cardíaca (FC), tensão arterial e duplo produto basais e máximos; FC de recuperação; equivalentes metabólicos (METs); velocidade; inclinação; tempo de prova e de recuperação; índice cifótico; equilíbrio; e tempo em atividade moderada a vigorosa. Resultados: Ao fim de 8 semanas de exercício o GE aumentou significativamente os MET’s (p=0,001), tensão arterial sistólica máxima (p<0,001), duplo produto máximo (p<0,001) e tempo de prova (p=0,037) e diminuiu significativamente o tempo de recuperação (p<0,001), quando comparado com o GC. Conclusão: O programa de exercícios no domicílio promoveu uma melhoria na tolerância ao exercício e parece ter melhorado o equilíbrio, para a amostra em estudo.