8 research outputs found

    Refactorings to evolve object-oriented systems with aspect-oriented concepts

    Get PDF
    Tese de doutoramento em InformĆ”tica.Software engineering tools should support complete separation of concerns, by enabling the deployment of each different concern in its own unit of modularity. Unfortunately, current tools and languages ā€“ including those supporting the object-oriented programming paradigm ā€“ fail to provide a complete and effective support for the separation of all concerns. Undesirable phenomena such as code scattering and code tangling ensue. Aspect-Oriented Programming is a new programming paradigm capable of modularising crosscutting concerns. Aspect-oriented programming complements existing programming paradigms, including object-oriented programming, with constructs that provide a fuller separation of concerns. Refactoring is a technique to restructure program source code in order to improve its underlying design and style while preserving the externally observable behaviour. ā€œCode smellsā€ help to detect inadequate structures and designs, which are then gradually removed through refactoring processes. There is a prospect of aspect-oriented programming becoming a mainstream technology in the near future. This begs the question of how to deal with a large base of object-oriented legacy code when aspect-orientation becomes standard practice. AspectJ's backward compatibility with Java opens the way for refactoring existing Java applications to leverage the concepts and mechanisms of aspects. This requires a prior idea of good style for aspect-oriented source code, something yet to be developed and matured. This thesis contributes to the definition of a new style appropriate to aspect orientation. To this effect, this thesis documents a collection of novel refactorings enabling the extraction of crosscutting concerns from object-oriented legacy source code and the subsequent restructuring of the aspects thus obtained. In addition, this thesis presents a review of traditional object-oriented code smells so they can be used as indicators of latent aspects in object-oriented source code. Finally, this thesis proposes several novel aspect-oriented code smells. We validate the refactorings through an illustrative refactoring process.Idealmente, as ferramentas de engenharia de programas suportariam uma estrita separaĆ§Ć£o de facetas, possibilitando a colocaĆ§Ć£o de cada faceta na sua prĆ³pria unidade modular. Infelizmente, as actuais ferramentas e linguagens ā€“ incluindo as que suportam o paradigma da orientaĆ§Ć£o ao objecto ā€“ nĆ£o conseguem obter uma completa e efectiva separaĆ§Ć£o de todas as facetas. DaĆ­ resultam fenĆ³menos indesejĆ”veis tais como a dispersĆ£o e emaranhado de texto fonte. A programaĆ§Ć£o orientada ao aspecto Ć© um novo paradigma da programaĆ§Ć£o capaz de modularizar facetas transversais. A orientaĆ§Ć£o ao aspecto complementa os paradigmas existentes, incluindo a orientaĆ§Ć£o ao objecto, com mecanismos que providenciam uma separaĆ§Ć£o de facetas mais completa. A refabricaĆ§Ć£o de programas Ć© uma tĆ©cnica para reestruturar o texto fonte de um programa no sentido de melhorar a concepĆ§Ć£o e estilo subjacentes, mantendo o seu comportamento externamente observĆ”vel. ā€œMaus cheirosā€ no texto fonte ajudam a detectar estruturas e concepƧƵes inadequadas, que sĆ£o entĆ£o gradualmente removidos atravĆ©s de processos de refabricaĆ§Ć£o. Existe a perspectiva da orientaĆ§Ć£o ao aspecto ter uma aceitaĆ§Ć£o generalizada no futuro prĆ³ximo. Coloca-se a questĆ£o de como lidar com uma grande base instalada de texto fonte orientado ao objecto legado quando tal acontecer. A compatibilidade retroactiva de AspectJ em relaĆ§Ć£o a Java possibilita a refabricaĆ§Ć£o das aplicaƧƵes Java existentes de modo a tomarem partido dos conceitos e mecanismos dos aspectos. PorĆ©m, isto tem como pressuposto uma ideia clara de bom estilo para o texto fonte orientado ao aspecto, algo que actualmente nĆ£o existe duma maneira desenvolvida e matura. Esta tese contribui para a caracterizaĆ§Ć£o de um novo estilo, apropriado Ć  orientaĆ§Ć£o ao aspecto. Para esse efeito, esta tese documenta uma colecĆ§Ć£o de refabricaƧƵes originais atravĆ©s das quais facetas transversais existentes em texto legado orientado ao objecto sĆ£o extraĆ­das para aspectos, e a posterior reestruturaĆ§Ć£o dos aspectos assim obtidos pode ser realizada. Esta tese apresenta tambĆ©m uma reapreciaĆ§Ć£o dos maus cheiros orientados ao objecto tradicionais no sentido de poderem ser usados na detecĆ§Ć£o de aspectos latentes no texto fonte orientado ao objecto. Por fim, esta tese propƵe diversos maus cheiros originais, orientados ao aspecto. As refabricaƧƵes sĆ£o validadas por meio de um processo de refabricaĆ§Ć£o ilustrativo.Programa de Desenvolvimento Educativo para Portugal III (PRODEP III) - (Medida 5 - AcĆ§Ć£o 5.3 - Eixo 3 - FormaĆ§Ć£o AvanƧada de Docentes do Ensino Superior).Portable Parallel Computing based on Virtual Machines (PPC-VM) - (PO-SI/CHS/47158/2002).FundaĆ§Ć£o Luso Americana para o Desenvolvimento (FLAD)

    Architectural stability of self-adaptive software systems

    Get PDF
    This thesis studies the notion of stability in software engineering with the aim of understanding its dimensions, facets and aspects, as well as characterising it. The thesis further investigates the aspect of behavioural stability at the architectural level, as a property concerned with the architecture's capability in maintaining the achievement of expected quality of service and accommodating runtime changes, in order to delay the architecture drifting and phasing-out as a consequence of the continuous unsuccessful provision of quality requirements. The research aims to provide a systematic and methodological support for analysing, modelling, designing and evaluating architectural stability. The novelty of this research is the consideration of stability during runtime operation, by focusing on the stable provision of quality of service without violations. As the runtime dimension is associated with adaptations, the research investigates stability in the context of self-adaptive software architectures, where runtime stability is challenged by the quality of adaptation, which in turn affects the quality of service. The research evaluation focuses on the effectiveness, scale and accuracy in handling runtime dynamics, using the self-adaptive cloud architectures

    Disciplining Interdisciplinarity: Integration and Implementation Sciences for Researching Complex Real-World Problems

    Get PDF
    This book provides collaborative research teams with a systematic approach for addressing complex real-world problems like widespread poverty, globa

    Jeeves : a blocks-based approach to end-user development of experience sampling apps

    Get PDF
    Professional programmers are signiļ¬cantly outnumbered by end-users of software, and cannot possibly predict the diverse and dynamic needs of user groups in advance. This thesis is concerned with the provision of an end-user development (EUD) approach, allowing end-users to independently create and modify their own software. EUD activities are particularly applicable to the work practices of psychology researchers and clinicians, who are increasingly dependent on software for assessment of participants and patients, but must also depend on developers to realise their requirements. This thesis targets these professionals, with an EUD solution to creating assessment software. The Experience Sampling Method (ESM) is one such means of assessment that takes place in participantsā€™ everyday lives. Through regular completion of subjective self-reports, participants provide rich detail of their ongoing physical and emotional well-being. However, lack of engagement with such studies remains a prevalent issue. This thesis investigates features for maximising engagement with experience sampling smartphone apps. Such apps are becoming accepted as standard practice for remote assessment, but researchers are stiļ¬‚ed by the complexity and cost of implementation. Moreover, existing EUD tools are insufļ¬cient for development of ESM apps that include engaging features. This thesis presents the development of Jeeves, an EUD tool with a blocks-based programming paradigm that empowers non-programmers to rapidly develop tailored, context-sensitive ESM apps. The adoption of Jeeves is contingent on a number of factors, including its ease-of-use, real-world utility, and organisational conditions. Failure to incorporate the necessary functionality pertaining to these factors into Jeeves will lead to abandonment. This thesis is concerned with establishing the usability, utility, and external factors necessary for adoption of Jeeves. Further, Jeeves is evaluated with respect to these factors through a series of rigorous studies from a range of application domains."This work was supported by a University of St Andrews 600th Anniversary PhD Scholarship (School of Computer Science)." -- Fundin

    Factors Influencing Customer Satisfaction towards E-shopping in Malaysia

    Get PDF
    Online shopping or e-shopping has changed the world of business and quite a few people have decided to work with these features. What their primary concerns precisely and the responses from the globalisation are the competency of incorporation while doing their businesses. E-shopping has also increased substantially in Malaysia in recent years. The rapid increase in the e-commerce industry in Malaysia has created the demand to emphasize on how to increase customer satisfaction while operating in the e-retailing environment. It is very important that customers are satisfied with the website, or else, they would not return. Therefore, a crucial fact to look into is that companies must ensure that their customers are satisfied with their purchases that are really essential from the ecommerceā€™s point of view. With is in mind, this study aimed at investigating customer satisfaction towards e-shopping in Malaysia. A total of 400 questionnaires were distributed among students randomly selected from various public and private universities located within Klang valley area. Total 369 questionnaires were returned, out of which 341 questionnaires were found usable for further analysis. Finally, SEM was employed to test the hypotheses. This study found that customer satisfaction towards e-shopping in Malaysia is to a great extent influenced by ease of use, trust, design of the website, online security and e-service quality. Finally, recommendations and future study direction is provided. Keywords: E-shopping, Customer satisfaction, Trust, Online security, E-service quality, Malaysia

    On the application of neural networks to symbol systems.

    Get PDF
    While for many years two alternative approaches to building intelligent systems, symbolic AI and neural networks, have each demonstrated specific advantages and also revealed specific weaknesses, in recent years a number of researchers have sought methods of combining the two into a unified methodology which embodies the benefits of each while attenuating the disadvantages. This work sets out to identify the key ideas from each discipline and combine them into an architecture which would be practically scalable for very large network applications. The architecture is based on a relational database structure and forms the environment for an investigation into the necessary properties of a symbol encoding which will permit the singlepresentation learning of patterns and associations, the development of categories and features leading to robust generalisation and the seamless integration of a range of memory persistencies from short to long term. It is argued that if, as proposed by many proponents of symbolic AI, the symbol encoding must be causally related to its syntactic meaning, then it must also be mutable as the network learns and grows, adapting to the growing complexity of the relationships in which it is instantiated. Furthermore, it is argued that in order to create an efficient and coherent memory structure, the symbolic encoding itself must have an underlying structure which is not accessible symbolically; this structure would provide the framework permitting structurally sensitive processes to act upon symbols without explicit reference to their content. Such a structure must dictate how new symbols are created during normal operation. The network implementation proposed is based on K-from-N codes, which are shown to possess a number of desirable qualities and are well matched to the requirements of the symbol encoding. Several networks are developed and analysed to exploit these codes, based around a recurrent version of the non-holographic associati ve memory of Willshaw, et al. The simplest network is shown to have properties similar to those of a Hopfield network, but the storage capacity is shown to be greater, though at a cost of lower signal to noise ratio. Subsequent network additions break each K-from-N pattern into L subsets, each using D-from-N coding, creating cyclic patterns of period L. This step increases the capacity still further but at a cost of lower signal to noise ratio. The use of the network in associating pairs of input patterns with any given output pattern, an architectural requirement, is verified. The use of complex synaptic junctions is investigated as a means to increase storage capacity, to address the stability-plasticity dilemma and to implement the hierarchical aspects of the symbol encoding defined in the architecture. A wide range of options is developed which allow a number of key global parameters to be traded-off. One scheme is analysed and simulated. A final section examines some of the elements that need to be added to our current understanding of neural network-based reasoning systems to make general purpose intelligent systems possible. It is argued that the sections of this work represent pieces of the whole in this regard and that their integration will provide a sound basis for making such systems a reality
    corecore