402,479 research outputs found

    Model-driven design, simulation and implementation of service compositions in COSMO

    Get PDF
    The success of software development projects to a large extent depends on the quality of the models that are produced in the development process, which in turn depends on the conceptual and practical support that is available for modelling, design and analysis. This paper focuses on model-driven support for service-oriented software development. In particular, it addresses how services and compositions of services can be designed, simulated and implemented. The support presented is part of a larger framework, called COSMO (COnceptual Service MOdelling). Whereas in previous work we reported on the conceptual support provided by COSMO, in this paper we proceed with a discussion of the practical support that has been developed. We show how reference models (model types) and guidelines (design steps) can be iteratively applied to design service compositions at a platform independent level and discuss what tool support is available for the design and analysis during this phase. Next, we present some techniques to transform a platform independent service composition model to an implementation in terms of BPEL and WSDL. We use the mediation scenario of the SWS challenge (concerning the establishment of a purchase order between two companies) to illustrate our application of the COSMO framework

    An Adaptive Integration Architecture for Software Reuse

    Get PDF
    The problem of building large, reliable software systems in a controlled, cost-effective way, the so-called software crisis problem, is one of computer science\u27s great challenges. From the very outset of computing as science, software reuse has been touted as a means to overcome the software crisis issue. Over three decades later, the software community is still grappling with the problem of building large reliable software systems in a controlled, cost effective way; the software crisis problem is alive and well. Today, many computer scientists still regard software reuse as a very powerful vehicle to improve the practice of software engineering. The advantage of amortizing software development cost through reuse continues to be a major objective in the art of building software, even though the tools, methods, languages, and overall understanding of software engineering have changed significantly over the years. Our work is primarily focused on the development of an Adaptive Application Integration Architecture Framework. Without good integration tools and techniques, reuse is difficult and will probably not happen to any significant degree. In the development of the adaptive integration architecture framework, the primary enabling concept is object-oriented design supported by the unified modeling language. The concepts of software architecture, design patterns, and abstract data views are used in a structured and disciplined manner to established a generic framework. This framework is applied to solve the Enterprise Application Integration (EM) problem in the telecommunications operations support system (OSS) enterprise marketplace. The proposed adaptive application integration architecture framework facilitates application reusability and flexible business process re-engineering. The architecture addresses the need for modern businesses to continuously redefine themselves to address changing market conditions in an increasingly competitive environment. We have developed a number of Enterprise Application Integration design patterns to enable the implementation of an EAI framework in a definite and repeatable manner. The design patterns allow for integration of commercial off-the-shelf applications into a unified enterprise framework facilitating true application portfolio interoperability. The notion of treating application services as infrastructure services and using business processes to combine them arbitrarily provides a natural way of thinking about adaptable and reusable software systems. We present a mathematical formalism for the specification of design patterns. This specification constitutes an extension of the basic concepts from many-sorted algebra. In particular, the notion of signature is extended to that of a vector, consisting of a set of linearly independent signatures. The approach can be used to reason about various properties including efforts for component reuse and to facilitate complex largescale software development by providing the developer with design alternatives and support for automatic program verification

    [email protected] - Agent Based Support of Clinical Processes

    Get PDF
    In this paper we present a system for agent-based support of clinical processes. We describe the basic engineering concept, along with specific simulation and testing scenarios for agent-based software engineering. Another important focus is the integration of existing agent or healthcare standards like FIPA, DICOM and HL7. Objectives of our research activities in this project are: a substantial increase of the efficiency of hospital process management as well as the development of a specific goal oriented requirements engineering methodology. As most important challenges of the healthcare domain we have identified on the one hand individualized, patient oriented processes in diagnostics, therapy, nursing and administration and on the other hand extremely distributed decision processes and strong local (individual) autonomy with a high degree of situational dynamics. The example scenario on „clinical trials“ illustrates how the system shall support distributed clinical processes and how it interacts with other multiagent systems within the Agent.Hospital Framework and hospital information systems in the eHealth Lab introduced in this paper. The system development is part of the German Priority Research Program (SPP) 1083 “Intelligent Agents and their application in business scenarios”

    Model-Driven Development of Aspect-Oriented Software Architectures

    Full text link
    [EN] The Model-Driven Development (MDD) paradigm has become widely spread in the last few years due to being based on models instead of source code, and using automatic generation techniques to obtain the final software product. Until now, the most mature methodologies that have been proposed to develop software following MDD are mainly based on functional requirements by following the Object-Oriented Paradigm. Therefore, mature MDD methodologies are required for supporting the code generation from models that specify non-functional requirements. The Aspect-Oriented Software Development (AOSD) approach was created to provide explicit mechanisms for developing non-functional requirements through reusable elements called aspects. Aspect-Oriented Software Architectures (AOSA) emerged to deal with the design of both, functional requirements and non-functional requirements, which opened an important challenge in the software engineering field: the definition of a methodology for supporting the development of AOSAs following the MDD paradigm. This new methodology should allow the code generation from models which specify functional and non-functional requirements. This paper presents a mature approach, called PRISMA, which deals with this challenge. Therefore, this contribution takes a step forward in the area presenting in detail the PRISMA MDD process, which has been applied to generate the code of several real applications of the tele-operated robotics domain. PRISMA MDD approach provides complete support for the development of technology-independent AOSAs, which can be compiled from high-level, aspect-oriented architectural models into different technology platforms and languages following an MDD process. This contribution illustrates how to apply the PRISMA MDD approach through the modelling framework that has been developed to support it, and a case study of a tele-operated robot that has been completely developed using this approach. Finally, the results obtained from the application of PRISMA MDD process to develop applications of the tele-operation domain are analyzed in terms of code generation.The work reported here has been partially sponsored by the Spanish MEC projects (DSDM TIN2008-00889-E and MULTIPLE TIN2009-13838), and MICINN (INNOSEP TIN2009-13849)Pérez Benedí, J.; Ramos Salavert, I.; Carsí Cubel, JÁ.; Costa Soria, C. (2013). Model-Driven Development of Aspect-Oriented Software Architectures. Journal of Universal Computer Science. 19(10):1433-1473. https://doi.org/10.3217/jucs-019-10-143314331473191

    A lightweight, graph-theoretic model of class-based similarity to support object-oriented code reuse.

    Get PDF
    The work presented in this thesis is principally concerned with the development of a method and set of tools designed to support the identification of class-based similarity in collections of object-oriented code. Attention is focused on enhancing the potential for software reuse in situations where a reuse process is either absent or informal, and the characteristics of the organisation are unsuitable, or resources unavailable, to promote and sustain a systematic approach to reuse. The approach builds on the definition of a formal, attributed, relational model that captures the inherent structure of class-based, object-oriented code. Based on code-level analysis, it relies solely on the structural characteristics of the code and the peculiarly object-oriented features of the class as an organising principle: classes, those entities comprising a class, and the intra and inter-class relationships existing between them, are significant factors in defining a two-phase similarity measure as a basis for the comparison process. Established graph-theoretic techniques are adapted and applied via this model to the problem of determining similarity between classes. This thesis illustrates a successful transfer of techniques from the domains of molecular chemistry and computer vision. Both domains provide an existing template for the analysis and comparison of structures as graphs. The inspiration for representing classes as attributed relational graphs, and the application of graph-theoretic techniques and algorithms to their comparison, arose out of a well-founded intuition that a common basis in graph-theory was sufficient to enable a reasonable transfer of these techniques to the problem of determining similarity in object-oriented code. The practical application of this work relates to the identification and indexing of instances of recurring, class-based, common structure present in established and evolving collections of object-oriented code. A classification so generated additionally provides a framework for class-based matching over an existing code-base, both from the perspective of newly introduced classes, and search "templates" provided by those incomplete, iteratively constructed and refined classes associated with current and on-going development. The tools and techniques developed here provide support for enabling and improving shared awareness of reuse opportunity, based on analysing structural similarity in past and ongoing development, tools and techniques that can in turn be seen as part of a process of domain analysis, capable of stimulating the evolution of a systematic reuse ethic

    Software traceability for multi-agent systems implemented using BDI architecture

    Get PDF
    The development of multi-agent software systems is considered a complex task due to (a) the large number and heterogeneity of documents generated during the development of these systems, (b) the lack of support for the whole development life-cycle by existing agent-oriented methodologies requiring the use of different methodologies, and (c) the possible incompleteness of the documents and models generated during the development of the systems. In order to alleviate the above problems, in this thesis, a traceability framework is described to support the development of multi-agent systems. The framework supports automatic generation of traceability relations and identification of missing elements (i.e., completeness checking) in the models created during the development life-cycle of multi-agent systems using the Belief-Desire-Intention (BDI) architecture. Traceability has been recognized as an important activity in the software development process. Traceability relations can guarantee and improve software quality and can help with several tasks such as the evolution of software systems, reuse of parts of the system, validation that a system meets its requirements, understanding of the rationale for certain design decisions, identification of common aspects of the system, and analysis of implications of changes in the system. The traceability framework presented in this thesis concentrates on multi-agent software systems developed using i* framework, Prometheus methodology, and JACK language. Here, a traceability reference model is presented for software artefacts generated when using i* framework, Prometheus methodology, and JACK language. Different types of relations between the artefacts are identified. The framework is based on a rule-based approach to support automatic identification of traceability relations and missing elements between the generated artefacts. Software models represented in XML were used to support the heterogeneity of models and tools used during the software development life-cycle. In the framework, the rules are specified in an extension of XQuery to support (i) representation of the consequence part of the rules, i.e. the actions to be taken when the conditions are satisfied, and (ii) extra functions to cover some of the traceability relations being proposed and completeness checking of the models. A prototype tool has been developed to illustrate and evaluate the work. The work has been evaluated in terms of recall and precision measurements in three different case studies. One small case study of an Automatic Teller Machine application, one medium case study of an Air Traffic Control Environment application, and one large case study of an Electronic Bookstore application.EThOS - Electronic Theses Online ServiceGBUnited Kingdo

    Um framework para editores de diagramas cooperativos baseados em anotações

    Get PDF
    Orientador: Jacques WainerDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Esta dissertação apresenta um modelo de cooperação para o desenvolvimento cooperativo de software e o framework para editores de diagramas colaborativos ABCDE (Annotation Based Cooperative Diagram Editor). A cooperação entre grupos de usuários é obtida através da utilização de anotações sobre diagramas. Anotações são uma forma de comunicar idéias ou opiniões sobre um documento. Um framework é um projeto abstrato orientado a objetos que pode, ser adaptado segundo as necessidades da aplicação. Frameworks fornecem um grau de reutilização de até 80%, pois oferecem reutilização de projeto, servindo como moldes para a construção de aplicações dentro de um domínio. As aplicações instanciadas a partir do framework ABCDE são editores cooperativos de diagramas de classes da notação UML. O ponto adaptável do ABCDE é o modelo de cooperação que ele implementa, o que permite a construção de editores específicos para outras atividades do processo de desenvolvimento de software. As contribuições desta dissertação são: (i) a especificação de um modelo de cooperação que se baseia na utilização de anotações como mecanismo de auxílio a cooperação, para o desenvolvimento colaborativo de software. Ele oferece apoio à tarefa de revisão e co-autoria, sendo independente da metodologia utilizada para o desenvolvimento do software, podendo ser estendido para apoiar outras atividades do processo de desenvolvimento de software; (ii) o desenvolvimento do framework ABCDE (Annotation Based Cooperative. Diagram Editor) que permite a construção de editores de diagramas cooperativos, pois implementa o modelo de cooperação desenvolvido; e (iii) a apresentação do sistema ABCDE-Web que apóia o desenvolvimento cooperativo de software através da InternetAbstract: This document presents an annotation model for cooperative software development, and an object-oriented application framework for diagram editors called ABCDE (Annotation Based Cooperative Diagram Editor). Cooperation among users is achieved by using annotations on diagrams. Annotations are used by the authors to communicate ideas or opinions about a document. A framework is an abstract object-oriented design that can be tailored according to specific applications. The framework developed in this work, ABCDE, provides support for the construction of annotation based cooperative diagram editors for class diagrams of UML methodology. The main configurable aspect of ABCDE is the annotation model used, so editors built from ABCDE can be tailored to particular needs of different tasks in software developrnent. The contributions of this work are: (i) the specification of a cooperation model for cooperative software development. This model uses annotations as a mean to support collaboration, supports the revision and co-authoring tasks, and is independent of methodology for software development. Moreover, it can be extended to support different tasks of software development process; (ii) the framework ABCDE (Annotation Based Cooperative Diagram Editor), which main hot-spot is the annotation model used, because it implements the cooperation model developed; and (iii) the ABCDE- Web system, a prototype developed from ABCDE that can be used for software development on the WebMestradoMestre em Ciência da Computaçã
    corecore