20,508 research outputs found

    An Analysis and New Methodology for Reverse Engineering of UML Behavioral

    Full text link
    The emergence of Unified Modeling Language (UML) as a standard for modeling systems has encouraged the use of automated software tools that facilitate the development process from analysis through coding. Reverse Engineering has become a viable method to measure an existing system and reconstruct the necessary model from its original. The Reverse Engineering of behavioral models consists in extracting high-level models that help understand the behavior of existing software systems. In this paper we present an ongoing work on extracting UML diagrams from object-oriented programming languages. we propose an approach for the reverse engineering of UML behavior from the analysis of execution traces produced dynamically by an object-oriented application using formal and semi-formal techniques for modeling the dynamic behavior of a system. Our methods show that this approach can produce UML behavioral diagrams in reasonable time and suggest that these diagrams are helpful in understanding the behavior of the underlying application

    Checking semantics in UML models

    Get PDF
    Modeling is one of the most crucial activities during all the phases in any software development life cycle. Typically, system development is a very complex task, and working with models helps to handle this complexity in an organized way, allowing us to reason about the properties that entities possess. In software engineering, notation, techniques and methodology for object-oriented model building has been lately the focus of active research work. In the case of object-oriented software development, models are composed by a number of communicating and well delimited elements. Although such models are sometimes harder to develop, they are easier to understand, and simpler to maintain and modify.Thus, reusability of elements among models is enhanced. In order to maximize these properties, we need tools that support the process of object- oriented development by serving as repository of previously asserted knowledge, checking the integrity of the model and maintaining the different views that form each model. Consequently, it is expected this automatic control will reduce the manual, error-prone work of maintaining model consistency across all life cycle phases. UML, Unified Modeling Language is a graphical language for visualizing, specifying, constructing and documenting the elements of a software intensive system. UML provides notation for expressing the model, in the form of graphic and text elements. Attached to these elements, there is a semantic interpretation that attempts to capture the meaning of the model, and it is represented by the constraint mechanism. Constraints are one of the three extensibility mechanisms that UML introduces, although currently the language for expressing them is not standard (natural language or OCL can be used for this purpose). Supporting tools for object oriented development in UML should not only provide a graphic editor for the notation, but also help to ensure the coherence of its semantics aspects. This research line attempts to formalize the consistency check process in UML models.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Checking semantics in UML models

    Get PDF
    Modeling is one of the most crucial activities during all the phases in any software development life cycle. Typically, system development is a very complex task, and working with models helps to handle this complexity in an organized way, allowing us to reason about the properties that entities possess. In software engineering, notation, techniques and methodology for object-oriented model building has been lately the focus of active research work. In the case of object-oriented software development, models are composed by a number of communicating and well delimited elements. Although such models are sometimes harder to develop, they are easier to understand, and simpler to maintain and modify.Thus, reusability of elements among models is enhanced. In order to maximize these properties, we need tools that support the process of object- oriented development by serving as repository of previously asserted knowledge, checking the integrity of the model and maintaining the different views that form each model. Consequently, it is expected this automatic control will reduce the manual, error-prone work of maintaining model consistency across all life cycle phases. UML, Unified Modeling Language is a graphical language for visualizing, specifying, constructing and documenting the elements of a software intensive system. UML provides notation for expressing the model, in the form of graphic and text elements. Attached to these elements, there is a semantic interpretation that attempts to capture the meaning of the model, and it is represented by the constraint mechanism. Constraints are one of the three extensibility mechanisms that UML introduces, although currently the language for expressing them is not standard (natural language or OCL can be used for this purpose). Supporting tools for object oriented development in UML should not only provide a graphic editor for the notation, but also help to ensure the coherence of its semantics aspects. This research line attempts to formalize the consistency check process in UML models.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Design and Build a Website-Based Teacher Payroll Processing Information System at SMKTIK Yadika Cicalengka

    Get PDF
    The design of this teacher payroll processing information system was developed to make it easier to manage teacher salaries at SMKTIK Yadika Cicalengka so as to minimize duplication.for the system design using the OOAD (object Oriented Analysis and Design) while the model used is RUP (Rational Unified Process) where the development tools are UML (Unified Modeling Language) There is also an explanation of the information system design process. Website-based payroll processing that will be built, starting from the design of use case diagrams, activity diagrams, sequence diagrams, class diagrams, user interfaces, hardware design and in designing this hardware requires hardware configuration, hardware specifications, and software specification

    V3CMM: a 3-view component meta-model for model-driven robotic software development

    Get PDF
    There are many voices in the robotics community demanding a qualitative improvement in the robotics software development process and tools, in order to increase product flexibility, adaptability, and overall quality, while reducing its cost and time-to-market. This article describes a first step towards a model-driven approach to robotics software development, based on the definition of highly reusable and platform-independent component-based design models. The proposed approach revolves around the V3CMM modeling language and the definition of different model transformations for deriving both special purpose models (e.g., models suited for analysis or simulation purposes) and lower-level design models, in which platform-specific and application-dependent details can be progressively included. The article describes the tool-chain implemented to support the different stages of the proposed MDE process, including (1) the definition of component-based architectural models, defined using the V3CMM platform-independent modeling language, (2) the automatic transformation of the V3CMM component-based models into equivalent object-oriented designs, described in terms of the UML standard, and (3) the transformation of the UML models into an the Ada 2005 object-oriented programming language. In order to show the feasibility and the benefits of the proposal, a simple (yet complete) case study regarding the design of a Cartesian robot is presented.This research has been funded by the Spanish CICYT Project EXPLORE (ref. TIN2009-08572), the Fundación Séneca Regional Project COMPAS-R (ref. 11994/PI/09), and the Spanish Research Network on Model-Driven Software Development (ref. TIN2008-00889-E)

    Ontology-based methodology for error detection in software design

    Get PDF
    Improving the quality of a software design with the goal of producing a high quality software product continues to grow in importance due to the costs that result from poorly designed software. It is commonly accepted that multiple design views are required in order to clearly specify the required functionality of software. There is universal agreement as to the importance of identifying inconsistencies early in the software design process, but the challenge is how to reconcile the representations of the diverse views to ensure consistency. To address the problem of inconsistencies that occur across multiple design views, this research introduces the Methodology for Objects to Agents (MOA). MOA utilizes a new ontology, the Ontology for Software Specification and Design (OSSD), as a common information model to integrate specification knowledge and design knowledge in order to facilitate the interoperability of formal requirements modeling tools and design tools, with the end goal of detecting inconsistency errors in a design. The methodology, which transforms designs represented using the Unified Modeling Language (UML) into representations written in formal agent-oriented modeling languages, integrates object-oriented concepts and agent-oriented concepts in order to take advantage of the benefits that both approaches can provide. The OSSD model is a hierarchical decomposition of software development concepts, including ontological constructs of objects, attributes, behavior, relations, states, transitions, goals, constraints, and plans. The methodology includes a consistency checking process that defines a consistency framework and an Inter-View Inconsistency Detection technique. MOA enhances software design quality by integrating multiple software design views, integrating object-oriented and agent-oriented concepts, and defining an error detection method that associates rules with ontological properties
    corecore