20,823 research outputs found
Engineering Enterprise Software Systems with Interactive UML Models and Aspect-Oriented Middleware
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
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
Tese de Programa Doutoral. InformĂĄtica. Universidade do Porto. Faculdade de Engenharia. 201
Supporting Multiple Stakeholders in Agile Development
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
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
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
Recommended from our members
A preliminary philosophy for ARCTURUS : an advanced highly-integrated programming environment
At Irvine, we are currently in the initial stages of designing a programming environment, called Arcturus. This paper is a report of work in progress giving our preliminary philosophy and expressing preliminary thoughts on an initial Arcturus design.Arcturus is an advanced, highly-integrated programming environment intended for use in the late 1980s. We assume that programmers will each be equipped with large flat-screen displays driven by powerful desk-top computers linked into local networks by high band-width channels, and that shared central resources such as archival databases and multifont printing systems will be available.Arcturus is aimed at "programming in the large", that is, programming by many people, on large programs, with maintenance lifetimes of many years. In such a user setting, problems of management, documentation, training, testing, version control, diagnosis, and debugging must be solved effectively by people who, for the most part, are not authors or designers of the original system.Some preliminary design concepts that Arcturus supports are as follows:(1) Arcturus supports a "rapid prototyping" language -- a very high level, strongly extensible language useful for rapid construction of working prototypes of systems (emphasizing cheap, rapid construction at the expense of running efficiency and polish).(2) Arcturus supports refinement of these prototype programs, or protoprograms, for short, into programs written in program design languages (or PDLs) , which express designs. PDL programs are ultimately refined into concrete, detailed, optimized programs expressed in an implementation language.(3) Arcturus supports a computer-based form of program documentation in which program forms at various levels of abstraction can have attribute/value pairs attached to any of their granules (granules being well-formed program units of any size such as constants, variables, operators, expressions, statements, blocks, and modules) and in which the attributes may be selectively viewed and queried to suit the needs of different audiences.(4) The notion of attribute/value attachment to granules of program forms also supplies the principal mechanism for promoting a high degree of environment integration. By attaching to program granules such attributes as clocks, counters, units of programmer and system resources spent, version descriptions, access controls, descriptions of tests passed, task schedule data, computer sizing estimates, and so on, smooth integration between the activities of designers, managers, testers, maintainers, programmers, and documenters can be achieved, and environment tools can cooperate with each other conveniently.(5) Arcturus supports an advanced programmer's workstation, an interactive programmer's notebook, and extensive software management support tools.In the framework of the Arcturus effort, we have attempted to rethink afresh issues of epistemology related to the programming process that impact documentation, fault diagnosis, maintenance, training, and software upgrade, so that the design of Arcturus will reflect the relationships between the different kinds of expertise that are required in the programming process. We are also attempting to formulate theories of documentation, debugging, and maintenance to guide the development of computer-based support capabilities that assist in the performance of these activities.In this context, this paper contains preliminary, tentative expositions of background philosophy and rationale that guide our present thinking about Arcturus
e is for Ekstasis.
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
- âŠ