2,192 research outputs found

    Defining the proxy design pattern using UML profile

    Get PDF
    Today software solutions are often modeled using UML. Design patterns are frequently instantiated within these particular solutions. However, in several situations, UML is not expressive enough to describe them properly. UML profiles extend UML syntax and semantic in order to model elements of particular domains. As profiles extend UML vocabulary; design patterns define a common vocabulary for software designers. Because of this, it is possible to use a profile to define a design pattern’s vocabulary in UML. Profiles can be used to solve particular problems in different domains. This work shows a way in which profiles can be used to define design patterns. The definition of the proxy design pattern is shown as an example of our proposal.III Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    A Modeling Language for Agile Requirements Engineering

    Get PDF
    Agile methodologies have an impact on how organizations carry out Requirements Engineering (RE). In this context, organizations use different kind of agile techniques like artifacts, meetings, methods or roles, but there is a lack of specific guidelines for agile RE. The aim of this paper is to present a modeling language for supporting organizational aspects of agile RE. It allows the visualization of agile RE concepts and their relationships, which can be used to define guidelines for a specific organization, project or domain. The modeling language for agile RE is used in projects in industry and our experiences reveal that it supports organizations in detecting problems and visualizing internal conflicts during the agile requirements phase, among other benefits

    Drawing OWL 2 ontologies with Eddy the editor

    Get PDF
    In this paper we introduce Eddy, a new open-source tool for the graphical editing of OWL~2 ontologies. Eddy is specifically designed for creating ontologies in Graphol, a completely visual ontology language that is equivalent to OWL~2. Thus, in Eddy ontologies are easily drawn as diagrams, rather than written as sets of formulas, as commonly happens in popular ontology design and engineering environments. This makes Eddy particularly suited for usage by people who are more familiar with diagramatic languages for conceptual modeling rather than with typical ontology formalisms, as is often required in non-academic and industrial contexts. Eddy provides intuitive functionalities for specifying Graphol diagrams, guarantees their syntactic correctness, and allows for exporting them in standard OWL 2 syntax. A user evaluation study we conducted shows that Eddy is perceived as an easy and intuitive tool for ontology specification

    Using High-Rising Cities to Visualize Performance in Real-Time

    Get PDF
    For developers concerned with a performance drop or improvement in their software, a profiler allows a developer to quickly search and identify bottlenecks and leaks that consume much execution time. Non real-time profilers analyze the history of already executed stack traces, while a real-time profiler outputs the results concurrently with the execution of software, so users can know the results instantaneously. However, a real-time profiler risks providing overly large and complex outputs, which is difficult for developers to quickly analyze. In this paper, we visualize the performance data from a real-time profiler. We visualize program execution as a three-dimensional (3D) city, representing the structure of the program as artifacts in a city (i.e., classes and packages expressed as buildings and districts) and their program executions expressed as the fluctuating height of artifacts. Through two case studies and using a prototype of our proposed visualization, we demonstrate how our visualization can easily identify performance issues such as a memory leak and compare performance changes between versions of a program. A demonstration of the interactive features of our prototype is available at https://youtu.be/eleVo19Hp4k.Comment: 10 pages, VISSOFT 2017, Artifact: https://github.com/sefield/high-rising-city-artifac

    Exploiting UML dynamic object modeling for the visualization of C++ programs

    Get PDF
    In this paper we present an approach to modeling and visualizing the dynamic interactions among objects in a C++ application. We exploit UML diagrams to expressively visualize both the static and dynamic properties of the application. We make use of a class diagram and call graph of the application to select the parts of the application to be modeled, thereby reducing the number of objects and methods under consideration with a concomitant reduction in the cognitive burden on the user of our system. We use aspects to insert probes into the application to enable profiling of the interactions of objects and methods and we visualize these interactions by providing sequence and communication diagrams for the parts of the program under consideration. We complement our static selectors with dynamic selectors that enable the user to further filter objects and methods from the sequence and communication diagrams, further enhancing the cognitive economy of our system. A key feature of our approach is the provision for dynamic interaction with both the profiler and the application. Interaction with the profiler enables filtering of methods and objects. Interaction with the application enables the user to supply input to the application to provide direction and enhance comprehension or debugging

    Towards a UML profile for modeling WAP applications

    Get PDF
    UML (Unified Modeling Language) is one of the most used languages to specify and document informatics applications. However, UML is a generalpurpose language, so it often lacks of elements to model and represent concrete concepts of specifics domains. As a solution, OMG (Object Management Group) has created the profiles, a mechanism to extend the syntax and semantics of UML to express more specific concepts of certain application domains. In this work we present a UML profile for modeling WAP (Wireless Applications Protocol) applications. The main goal of the proposed profile is to extend UML to provide specifics elements (labeled classes, stereotypes, tagged values and constraints) that allow software developers to modelWAP applications. The expressiveness of the UML diagrams allows modeling important stages of the process of common applications; nevertheless, the modeling process of WAP applications is still a too specific domain that can be hardly dealt with in its entirety without extending the language. In the process exists navigational, design and construction issues that cannot be modeled using the traditional elements of UML. However, by using the specific elements created by the proposed profile, these issues can be completely solved, and even a greater expressiveness can be obtained.Facultad de Informátic

    A model of software component interactions using the call graph technique

    Get PDF
    Interaction information that is related to operations between components is important, especially when the program needs to be modified and maintained. Therefore, the affected components must be identified and matched based on the requirement of the system. This information can be obtained through performing the code review technique, which requires an analyst to search for specific information from the source code, which is a very time consuming process. This research proposed a model for representing software component interactions where this information was automatically extracted from the source code in order to provide an effective display for the software components interaction representation. The objective was achieved through applying a research design methodology, which consists of five phases: awareness of the problem, suggestion, development, evaluation, and conclusion. The development phase was conducted by automatically extracting the components‘ interaction information using appropriate reverse engineering tools and supporting programs that were developed in this research. These tools were used to extract software information, extract the information of component interactions in software programs, and transform this information into the proposed model, which was in the form of a call graph. The produced model was evaluated using a visualization tool and by expert review. The visualization tool was used to display the call graph from a text format into a graphical view. The processed model evaluation was conducted through an expert review technique. The findings from the model evaluation show that the produced model can be used and manipulated to visualize the component interactions. It provides a process that allows a visualization display for analysts to view the interaction of software components in order to comprehend the components integrations that are involved. This information can be manipulated and improved the program comprehension, especially for other software maintenance purposes

    Moving Object Trajectories Meta-Model And Spatio-Temporal Queries

    Full text link
    In this paper, a general moving object trajectories framework is put forward to allow independent applications processing trajectories data benefit from a high level of interoperability, information sharing as well as an efficient answer for a wide range of complex trajectory queries. Our proposed meta-model is based on ontology and event approach, incorporates existing presentations of trajectory and integrates new patterns like space-time path to describe activities in geographical space-time. We introduce recursive Region of Interest concepts and deal mobile objects trajectories with diverse spatio-temporal sampling protocols and different sensors available that traditional data model alone are incapable for this purpose.Comment: International Journal of Database Management Systems (IJDMS) Vol.4, No.2, April 201

    Collaborative Verification-Driven Engineering of Hybrid Systems

    Full text link
    Hybrid systems with both discrete and continuous dynamics are an important model for real-world cyber-physical systems. The key challenge is to ensure their correct functioning w.r.t. safety requirements. Promising techniques to ensure safety seem to be model-driven engineering to develop hybrid systems in a well-defined and traceable manner, and formal verification to prove their correctness. Their combination forms the vision of verification-driven engineering. Often, hybrid systems are rather complex in that they require expertise from many domains (e.g., robotics, control systems, computer science, software engineering, and mechanical engineering). Moreover, despite the remarkable progress in automating formal verification of hybrid systems, the construction of proofs of complex systems often requires nontrivial human guidance, since hybrid systems verification tools solve undecidable problems. It is, thus, not uncommon for development and verification teams to consist of many players with diverse expertise. This paper introduces a verification-driven engineering toolset that extends our previous work on hybrid and arithmetic verification with tools for (i) graphical (UML) and textual modeling of hybrid systems, (ii) exchanging and comparing models and proofs, and (iii) managing verification tasks. This toolset makes it easier to tackle large-scale verification tasks
    • …
    corecore