Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2480362.2480569acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Executing and debugging UML models: an fUML extension

Published: 18 March 2013 Publication History
  • Get Citation Alerts
  • Abstract

    With the widespread of the Model-Driven Development (MDD) and surfing on the success of the Unified Modeling Language (UML), software development is shifting from being code-centric to model-centric. Models become the key artefacts in the software development process. The success of the project relies on the quality of these models. Early detection of errors by debugging and testing these models is mandatory in order to reduce development cost, ensuring quality and preventing rework at later stages. The fUML standard defines the precise semantics for executing a subset of UML models by defining a virtual machine. The models are then directly executed without transformation. However, the virtual machine is defined to execute the model as an atomic action and does not fulfil the requirements for debugging it. We highlight in this paper the limit of the current specification of fUML (v1.0) and propose an approach for extending the virtual machine with the key functionality that enables debugging of fUML models. A working UML debugger prototype has been implemented and the use and evaluation of the approach are made on a case study.

    References

    [1]
    Papyrus. http://www.eclipse.org/papyrus.
    [2]
    Galaxy project. http://galaxy.lip6.fr/, 2009.
    [3]
    moliz. http://www.modelexecution.org/, 2012.
    [4]
    I. Abdelhalim, J. Sharp, S. Schneider, and H. Treharne. Formal verification of tokeneer behaviours modelled in fuml using csp. Formal Methods and Software Engineering, pages 371--387, 2010.
    [5]
    P. Baker, S. Loh, and F. Weil. Model-driven engineering in a large industrial context-Motorola case study. Model Driven Engineering Languages and Systems, pages 476--491, 2005.
    [6]
    A. Benyahia, A. Cuccuru, S. Taha, F. Terrier, F. Boulanger, and S. Gérard. Extending the standard execution model of UML for real-time systems. Distributed, Parallel and Biologically Inspired Systems, pages 43--54, 2010.
    [7]
    M. Crane and J. Dingel. Towards a UML virtual machine: implementing an interpreter for UML 2 actions and activities. In Proceedings of the 2008 conference of the center for advanced studies on collaborative research: meeting of minds, page 8. ACM, 2008.
    [8]
    D. Dotan and A. Kirshin. Debugging and testing behavioral UML models. In Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion, pages 838--839. ACM, 2007.
    [9]
    R. Ellner, S. Al-Hilank, J. Drexler, M. Jung, D. Kips, and M. Philippsen. A FUML-based distributed execution machine for enacting software process models. In ECMFA, pages 19--34, 2011.
    [10]
    L. Fuentes, J. Manrique, and P. Sánchez. Execution and simulation of (profiled) UML models using Pópulo. In Proceedings of the 2008 international workshop on Models in software engineering. ACM, 2008.
    [11]
    E. Gamma. Design patterns: elements of reusable object-oriented software. 1995.
    [12]
    B. Hailpern and P. Santhanam. Software debugging, testing, and verification. IBM Systems Journal, 2002.
    [13]
    J. Hannemann and G. Kiczales. Design pattern implementation in java and aspectj. In ACM Sigplan Notices, volume 37, pages 161--173. ACM, 2002.
    [14]
    W. Humphrey. Managing the software process. Reading/MA, 1989.
    [15]
    K. Jensen. Coloured petri nets. Petri nets: central models and their properties, pages 248--299, 1987.
    [16]
    G. Kiczales. Aspect-oriented programming. ACM Computing Surveys (CSUR), 28(4es):154, 1996.
    [17]
    A. Kirshin, D. Dotan, and A. Hartman. A UML simulator based on a generic model execution engine. Lecture notes in computer science, 4364:324, 2007.
    [18]
    A. Kleppe, J. Warmer, and W. Bast. MDA explained: the model driven architecture: practice and promise. Addison-Wesley Longman Publishing Co., Inc., 2003.
    [19]
    T. Mayerhofer. Testing and debugging UML models based on fUML. In Software Engineering (ICSE), 2012 34th International Conference on. IEEE, 2012.
    [20]
    S. Mellor, M. Balcer, and I. Foreword By-Jacoboson. Executable UML: A foundation for model-driven architectures. 2002.
    [21]
    OMG. Semantics of a foundational subset for executable uml models (FUML) version 1.0. http://www.omg.org/spec/FUML/, 2011.
    [22]
    N. Papoylias. High-level debugging facilities and interfaces: Design and developement of a debug-oriented ide. Open Source Software: New Horizons, pages 373--379, 2010.
    [23]
    D. Riehle, S. Fraleigh, D. Bucka-Lassen, and N. Omorogbe. The architecture of a UML virtual machine. ACM SIGPLAN Notices, 2001.
    [24]
    J. Rosenberg. How debuggers work: algorithms, data structures, and architecture. John Wiley & Sons, Inc., 1996.
    [25]
    B. Selic. The pragmatics of model-driven development. Software, IEEE, 20(5):19--25, 2003.
    [26]
    E. Shapiro. Algorithmic program debugging. Dissertation Abstracts International Part B: Science and Engineering, 43(5):1982, 1982.
    [27]
    The ModelDriven Community. Foundational UML reference implementation. http://portal.modeldriven.org/project/foundationalUML, 2007.

    Cited By

    View all
    • (2024)AnimUMLScience of Computer Programming10.1016/j.scico.2023.103050232:COnline publication date: 1-Jan-2024
    • (2022)Practical multiverse debugging through user-defined reductionsProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems10.1145/3550355.3552447(87-97)Online publication date: 23-Oct-2022
    • (2022)UML to code, and code to UML, a view inside implementation challenges and cost2022 26th International Conference on System Theory, Control and Computing (ICSTCC)10.1109/ICSTCC55426.2022.9931871(140-145)Online publication date: 19-Oct-2022
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SAC '13: Proceedings of the 28th Annual ACM Symposium on Applied Computing
    March 2013
    2124 pages
    ISBN:9781450316569
    DOI:10.1145/2480362
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 March 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. UML
    2. debugging
    3. execution
    4. fUML
    5. testing

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    SAC '13
    Sponsor:
    SAC '13: SAC '13
    March 18 - 22, 2013
    Coimbra, Portugal

    Acceptance Rates

    SAC '13 Paper Acceptance Rate 255 of 1,063 submissions, 24%;
    Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)AnimUMLScience of Computer Programming10.1016/j.scico.2023.103050232:COnline publication date: 1-Jan-2024
    • (2022)Practical multiverse debugging through user-defined reductionsProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems10.1145/3550355.3552447(87-97)Online publication date: 23-Oct-2022
    • (2022)UML to code, and code to UML, a view inside implementation challenges and cost2022 26th International Conference on System Theory, Control and Computing (ICSTCC)10.1109/ICSTCC55426.2022.9931871(140-145)Online publication date: 19-Oct-2022
    • (2021)Characterizing and Injecting Faults in Executable Models Specified with fUML2021 10th Latin-American Symposium on Dependable Computing (LADC)10.1109/LADC53747.2021.9672596(01-10)Online publication date: Nov-2021
    • (2020)VICToRy: Visual Interactive Consistency Management in Tolerant Rule-based SystemsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.330.1330(1-12)Online publication date: 3-Dec-2020
    • (2019)Execution of UML modelsSoftware and Systems Modeling (SoSyM)10.1007/s10270-018-0675-418:3(2313-2360)Online publication date: 1-Jun-2019
    • (2018)Considerations about quality in model-driven engineeringSoftware Quality Journal10.1007/s11219-016-9350-626:2(685-750)Online publication date: 1-Jun-2018
    • (2017)Debugging Parallel DEVSSimulation10.1177/003754971665836093:4(285-306)Online publication date: 1-Apr-2017
    • (2016)Towards a tracing framework for Model-Driven software systems2016 6th International Conference on Computer and Knowledge Engineering (ICCKE)10.1109/ICCKE.2016.7802156(298-303)Online publication date: Oct-2016
    • (2015)Performance Antipattern Detection through fUML Model LibraryProceedings of the 2015 Workshop on Challenges in Performance Methods for Software Development10.1145/2693561.2693565(23-28)Online publication date: 31-Jan-2015

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media