20,823 research outputs found

    Engineering Enterprise Software Systems with Interactive UML Models and Aspect-Oriented Middleware

    Get PDF
    Large scale enterprise software systems are inherently complex and hard to maintain. To deal with this complexity, current mainstream software engineering practices aim at raising the level of abstraction to visual models described in OMG’s UML modeling language. Current UML tools, however, produce static design diagrams for documentation which quickly become out-of-sync with the software, and thus obsolete. To address this issue, current model-driven software development approaches aim at software automation using generators that translate models into code. However, these solutions don’t have a good answer for dealing with legacy source code and the evolution of existing enterprise software systems. This research investigates an alternative solution by making the process of modeling more interactive with a simulator and integrating simulation with the live software system. Such an approach supports model-driven development at a higher-level of abstraction with models without sacrificing the need to drop into a lower-level with code. Additionally, simulation also supports better evolution since the impact of a change to a particular area of existing software can be better understood using simulated “what-if” scenarios. This project proposes such a solution by developing a web-based UML simulator for modeling use cases and sequence diagrams and integrating the simulator with existing applications using aspect-oriented middleware technology

    Model-driven generative programming for BIS mobile applications

    Get PDF
    The burst on the availability of smart phones based on the Android platform calls for cost-effective techniques to generate mobile apps for general purpose, distributed business information systems (BIS). To mitigate this problem our research aims at applying model-driven techniques to automatically generate usable prototypes with a sound, maintainable, architecture. Following three base principles: model-based generation, separation of concerns, paradigm seamlessness, we try to answer the main guiding question – how to reduce development time and cost by transforming a given domain model into an Android application? To answer this question we propose to develop an application that follows a generative approach for mobile BIS apps that will mitigate the identified problems. Its input is a platform independent model (PIM), with business rules specified in OCL (Object Constraint Language). We adopted the Design Science Research methodology, that helps gaining problem understanding, identifying systemically appropriate solutions, and in effectively evaluating new and innovative solutions. To better evaluate our solution, besides resorting to third party tools to test specific components integration, we demonstrated its usage and evaluated how well it mitigates a subset of the identified problems in an observational study (we presented our generated apps to an outside audience in a controlled environment to study our model-based centered and, general apps understandability) and communicated its effectiveness to researchers and practitioners.O grande surto de disponibilidade de dispositivos mĂłveis para a plataforma Android requer, tĂ©cnicas generativas de desenvolvimento de aplicaçÔes para sistemas comuns e/ou distribuĂ­dos de informação empresariais/negĂłcio, que otimizem a relação custo-benefĂ­cio. Para mitigar este problema, esta investigação visa aplicar tĂ©cnicas orientadas a modelos para, automaticamente, gerar protĂłtipos funcionais de aplicaçÔes com uma arquitetura robusta e fĂĄcil de manter. Seguindo para tal trĂȘs princĂ­pios base: geração baseada no modelo, separação de aspetos, desenvolvimento sem soturas (sem mudança de paradigma), tentamos dar resposta Ă  pergunta orientadora – como reduzir o tempo e custo de desenvolvimento de uma aplicação Android por transformação de um dado modelo de domĂ­nio? De modo a responder a esta questĂŁo nĂłs propomos desenvolver uma aplicação que segue uma abordagem generativa para aplicaçÔes de informação empresariais/negĂłcio mĂłveis de modo a mitigar os problemas identificados. Esta recebe modelos independentes de plataforma (PIM), com regras de negĂłcio especificadas em OCL (Object Constraint Language). Seguimos a metodologia Design Science Research que ajuda a identificar e perceber o problema, a identificar sistematicamente soluçÔes apropriadas aos problemas e a avaliar mais eficientemente soluçÔes novas e inovadoras. Para melhor avaliar a nossa solução, apesar de recorrermos a ferramentas de terceiros para testar a integração de componentes especĂ­ficos, tambĂ©m demonstramos a sua utilização, atravĂ©s de estudos experimentais (em um ambiente controlado, apresentamos as nossas aplicaçÔes geradas a uma audiĂȘncia externa que nos permitiu estudar a compreensibilidade baseada e centrada em modelos e, de um modo geral, das aplicaçÔes) avaliamos o quanto esta mitiga um subconjunto de problemas identificados e comunicamos a sua eficĂĄcia para investigadores e profissionais

    Adaptive object-modeling : patterns, tools and applications

    Get PDF
    Tese de Programa Doutoral. InformĂĄtica. Universidade do Porto. Faculdade de Engenharia. 201

    Supporting Multiple Stakeholders in Agile Development

    Get PDF
    Agile software development practices require several stakeholders with different kinds of expertise to collaborate while specifying requirements, designing and modeling software, and verifying whether developers have implemented requirements correctly. We studied 112 requirements engineering (RE) tools from academia and the features of 13 actively maintained behavior-driven development (BDD) tools, which support various stakeholders in specifying and verifying the application behavior. Overall, we found that there is a growing tool specialization targeted towards a specific type of stakeholders. Particularly with BDD tools, we found no adequate support for non-technical stakeholders —- they are required to use an integrated development environment (IDE) —- which is not adapted to suit their expertise. We argue that employing separate tools for requirements specification, modeling, implementation, and verification is counter-productive for agile development. Such an approach makes it difficult to manage associated artifacts and support rapid implementation and feedback loops. To avoid dispersion of requirements and other software-related artifacts among separate tools, establish traceability between requirements and the application source code, and streamline a collaborative software development workflow, we propose to adapt an IDE as an agile development platform. With our approach, we provide in-IDE graphical interfaces to support non-technical stakeholders in creating and maintaining requirements concurrently with the implementation. With such graphical interfaces, we also guide non-technical stakeholders through the object-oriented design process and support them in verifying the modeled behavior. This approach has two advantages: (i) compared with employing separate tools, creating and maintaining requirements directly within a development platform eliminates the necessity to recover trace links, and (ii) various natively created artifacts can be composed into stakeholder-specific interactive live in-IDE documentation. These advantages have a direct impact on how various stakeholders collaborate with each other, and allow for rapid feedback, which is much desired in agile practices. We exemplify our approach using the Glamorous Toolkit IDE. Moreover, the discussed building blocks can be implemented in any IDE with a rich-enough graphical engine and reflective capabilities

    Supporting multiple stakeholders in agile development

    Get PDF
    Agile software development practices require several stakeholders with different kinds of expertise to collaborate while specifying requirements, designing, and modelling software, and verifying whether developers have implemented requirements correctly. We studied 112 requirements engineering (RE) tools from academia and the features of 13 actively maintained behavior-driven development (BDD) tools, which support various stakeholders in specifying and verifying the application behavior. Overall, we found that there is a growing tool specialization targeted towards a specific type of stakeholders. Particularly with BDD tools, we found no adequate support for non-technical stakeholders-- they are required to use an integrated development environment (IDE)-- which is not adapted to suit their expertise. We argue that employing separate tools for requirements specification, modelling, implementation, and verification is counterproductive for agile development. Such an approach makes it difficult to manage associated artifacts and support rapid implementation and feedback loops. To avoid dispersion of requirements and other software-related artifacts among separate tools, establish traceability between requirements and the application source code, and streamline a collaborative software development workflow, we propose to adapt an IDE as an agile development platform. With our approach, we provide in-IDE graphical interfaces to support non-technical stakeholders in creating and maintaining requirements concurrently with the implementation. With such graphical interfaces, we also guide non-technical stakeholders through the object-oriented design process and support them in verifying the modelled behavior. This approach has two advantages: (i) compared with employing separate tools, creating, and maintaining requirements directly within a development platform eliminates the necessity to recover trace links, and (ii) various natively created artifacts can be composed into stakeholder-specific interactive live in-IDE documentation. These advantages have a direct impact on how various stakeholders collaborate with each other, and allow for rapid feedback, which is much desired in agile practices. We exemplify our approach using the Glamorous Toolkit IDE. Moreover, the discussed building blocks can be implemented in any IDE with a rich-enough graphical engine and reflective capabilities

    Information Systems Development through an Integrated Framework

    Get PDF
    Information systems are essential entities for several organizations who strive to successfully run their business operations. One of the major problems faced by the organizations is that many of these information systems fail, and thus the organizations do not achieve their required targets in time. Many of the reasons for the information system failures documented in the literature are related to development methodologies or frameworks that are unable to handle both ‘hard’ and ‘soft’ system aspects. In general, the hard issues of the system are considered more significant than the soft issues, however, all the methodologies must be able to deal with all the system and business aspects. This thesis investigates the possibility of developing and evaluating a multimethodology framework that can be used for information systems development in an academic and business environment. The research explores the applicability of such a framework that comprehends both ‘soft’ and ‘hard’ system aspects in order to eliminate information system failures. Different software development approaches are investigated, including the dominant ‘domain-driven design’ (DDD) approach. A new multimethodological framework entitled ‘Systemic Soft Domain Driven Design’ (SSDDDF) has been developed by combining ‘soft system methodology’ as a guiding methodology, ‘unified modelling language’ as a business domain modelling approach, and a domain-driven design implementation pattern. This framework is intended as an improvement of the DDD approach. Soft and hard techniques are integrated through mapping from the ‘consensus primary task model’ of the soft approach to the ‘use cases’ of the hard approach. In addition, ‘soft language’ is introduced as a complement to DDD’s ‘ubiquitous language’, for facilitating the communication between the different stakeholders of a project. The implementation pattern (e.g., Naked Objects) is included for generating code from domain models. The framework has been evaluated as an information systems development approach through different undergraduate and postgraduate projects. Feedback from the developers has been positive and encouraging for further improvements in the future. The SSDDD framework has also been compared to different ISD methodologies and frameworks among of these DDD as an approach to ISD. The results of this comparison show that SSDDDF has advantages over DDD and significant improvements to DDD have been achieved. Finally, the research suggests an agenda for further improvements of the framework, while suggesting the development of different pattern languages

    e is for Ekstasis.

    Get PDF
    Electronic music and dance culture is interesting for its journeys through sound and explorations into bodily expression, but also for the numerous sites of cultural activity that have grown up with it or been inspired by its example. Here I draw on the work of theorists including Deleuze and Guattari to present a philosophical discussion of electronic music and dance culture informed by consideration of concrete events, including events I have experienced at first hand
    • 

    corecore