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

Slicing UML-based Models of Real-time Embedded Systems

Published: 14 October 2018 Publication History

Abstract

Models of Real-time Embedded (RTE) systems may encompass many components with often many different kinds of dependencies describing, e.g., structural relationships or the flow of data, control, or messages. Understanding and properly accounting for them during development, testing and debugging can be challenging. This paper presents an approach for slicing models of RTE systems to facilitate model understanding and other model-level activities. A key novelty of our approach is the support for models with composite components (with multiple hierarchical levels) and capturing the dependencies that involve structural and behavioural model elements, including a combination of the two. Moreover, we describe an implementation of our approach in the context of Papyrus-RT, an open source Model Driven Engineering (MDE) tool based on the modeling language UML-RT. We conclude the paper with the results of applying our slicer to a set of UML-RT models to validate our approach and to demonstrate the applications of our approach for facilitating model-level analysis tasks, such as testing and debugging.

References

[1]
A piece of cake. http://www0.cs.ucl.ac.uk/staff/mharman/exe1.html. Accessed: 2018-02-02.
[2]
Autofocus. https://af3.fortiss.org/en/, 2016. Accessed: 2017-12-15.
[3]
Rational Software Architect Realtime Edition. http://www-01.ibm.com/support/docview.wss?uid=swg24034299, 2016. Accessed: 2016-8-10.
[4]
Modeling realtime applications in RSARTE. https://www.ibm.com/developerworks/community/blogs/a8b06f94-c701-42e5-a15f-e86cf8a8f62e/resource/Documents/RSARTEConcepts.pdf, 2017. Accessed: 2018-03-06.
[5]
mxGraph. https://jgraph.github.io/mxgraph/, 2017. Accessed: 2018-03-02.
[6]
Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert B France. Slicing feature models. In Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering, pages 424--427. IEEE Computer Society, 2011.
[7]
Reza Ahmadi, Nicolas Hili, and Juergen Dingel. Property-aware unit testing of uml-rt models in the context of mde. In European Conference on Modelling Foundations and Applications, pages 147--163. Springer, 2018.
[8]
Reza Ahmadi, Nicolas Hili, Leo Jweda, Nondini Das, Suchita Ganesan, and Juergen Dingel. Run-time monitoring of a rover: MDE research with open source software and low-cost hardware. In Open Source for Model-Driven Engineering (OSS4MDE'16).
[9]
Kelly Androutsopoulos, David Clark, Mark Harman, Robert M Hierons, Zheng Li, and Laurence Tratt. Amorphous slicing of extended finite state machines. IEEE Transactions on Software Engineering, 39(7):892--909, 2013.
[10]
Mojtaba Bagherzadeh, Nicolas Hili, and Juergen Dingel. Model-level, platform-independent debugging in the context of the model-driven development of realtime systems. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, pages 419--430. ACM, 2017.
[11]
Arnaud Blouin, Benoît Combemale, Benoit Baudry, and Olivier Beaudoux. Modeling model slicers. In International Conference on Model Driven Engineering Languages and Systems, pages 62--76. Springer, 2011.
[12]
Arnaud Blouin, Benoît Combemale, Benoit Baudry, and Olivier Beaudoux. Kompren: modeling and generating model slicers. Software & Systems Modeling, 14(1):321--337, 2015.
[13]
Francis Bordeleau and Edgard Fiallos. Model-based engineering: A new era based on Papyrus and open source tooling. In OSS4MDE@ MoDELS, pages 2--8, 2014.
[14]
Cristian Cadar and Koushik Sen. Symbolic execution for software testing: three decades later. Communications of the ACM, 56(2):82--90, 2013.
[15]
Valentin Chimisliu and Franz Wotawa. Improving test case generation from UML Statecharts by using control, data and communication dependencies. In 13th International Conference on Quality Software (QSIC), pages 125--134. IEEE, 2013.
[16]
Davide Falessi, Shiva Nejati, Mehrdad Sabetzadeh, Lionel Briand, and Antonio Messina. SafeSlice: A Model Slicing and Design Safety Inspection Tool for SysML. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of Software Engineering, pages 460--463. ACM, 2011.
[17]
Madeleine Faugere, Thimothee Bourbeau, Robert De Simone, and Sebastien Gerard. Marte: Also an uml profile for modeling aadl applications. In Engineering Complex Computer Systems, 2007. 12th IEEE International Conference on, pages 359--364. IEEE, 2007.
[18]
Martin Feilkas, Andreas Fleischmann, C Pfaller, M Spichkova, D Trachtenherz, et al. A top-down methodology for the development of automotive software. 2009.
[19]
Sanford Friedenthal, Alan Moore, and Rick Steiner. A practical guide to SysML: the systems modeling language. Morgan Kaufmann, 2014.
[20]
Keith Brian Gallagher and James R. Lyle. Using program slicing in software maintenance. IEEE Transactions on Software Engineering, 17(8):751--761, 1991.
[21]
Mats PE Heimdahl and Michael W Whalen. Reduction and slicing of hierarchical state machines. In Software Engineering--ESEC/FSE'97, pages 450--467. Springer,
[22]
Susan Horwitz, Thomas Reps, and David Binkley. Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems (TOPLAS), 12(1):26--60, 1990.
[23]
Wang Ji, Dong Wei, and Qi Zhi-Chang. Slicing Hierarchical Automata for Model Checking UML Statecharts. Formal Methods and Software Engineering, 2495:435--446, 2002.
[24]
Huzefa Kagdi, Jonathan I Maletic, and Andrew Sutton. Context-free slicing of UML class models. In Proceedings of the 21st IEEE International Conference on Software Maintenance, 2005. ICSM'05., pages 635--638. IEEE, 2005.
[25]
Bogdan Korel and Janusz Laski. Dynamic program slicing. Information processing letters, 29(3):155--163, 1988.
[26]
Bogdan Korel, Inderdeep Singh, Luay Tahat, and Boris Vaysburg. Slicing of state-based models. In Proceedings of International Conference on Software Maintenance, 2003., pages 34--43. IEEE, 2003.
[27]
Jaiprakash T Lallchandani and Rajib Mall. Slicing uml architectural models. ACM SIGSOFT Software Engineering Notes, 33(3):4, 2008.
[28]
Kevin Lano and Shekoufeh Kolahdouz-Rahimi. Slicing of uml models using model transformations. In International Conference on Model Driven Engineering Languages and Systems, pages 228--242. Springer, 2010.
[29]
Kwanwoo Lee, Kyo C Kang, and Jaejoon Lee. Concepts and guidelines of feature modeling for product line software engineering. In International Conference on Software Reuse, pages 62--77. Springer, 2002.
[30]
Jeff Magee and Jeff Kramer. State models and Java programs. wiley, 1999.
[31]
George H Mealy. A method for synthesizing sequential circuits. Bell Labs Technical Journal, 34(5):1045--1079, 1955.
[32]
Lynette I Millett and Tim Teitelbaum. Slicing Promela and its applications to model checking, simulation, and protocol understanding. In Proceedings of the 4th International SPIN Workshop, pages 75--83, 1998.
[33]
Karl J Ottenstein and Linda M Ottenstein. The program dependence graph in a software development environment. In ACM Sigplan Notices, volume 19, pages 177--184. ACM, 1984.
[34]
Christopher Pietsch, Manuel Ohrndorf, Udo Kelter, and Timo Kehrer. Incrementally slicing editable submodels. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering, pages 913--918. IEEE Press, 2017.
[35]
Ernesto Posse and Juergen Dingel. An executable formal semantics for UML-RT. Software & Systems Modeling, 15(1):179--217, 2016.
[36]
Robert Reicherdt and Sabine Glesner. Slicing matlab simulink models. In Software Engineering (ICSE), 2012 34th International Conference on, pages 551--561. IEEE, 2012.
[37]
Rick Salay, Sahar Kokaly, Marsha Chechik, and Tom Maibaum. Heterogeneous megamodel slicing for model evolution. In ME@ MODELS, pages 50--59, 2016.
[38]
N Sasirekha, A Edwin Robert, and Dr M Hemalatha. Program slicing techniques and its applications. arXiv preprint arXiv:1108.1352, 2011.
[39]
Douglas C Schmidt. Model-driven engineering. COMPUTER-IEEE COMPUTER SOCIETY-, 39(2):25, 2006.
[40]
Bran Selic. Using UML for modeling complex realtime systems. In Languages, compilers, and tools for embedded systems, pages 250--260. Springer, 1998.
[41]
Bran Selic, Garth Gullekson, and Paul T Ward. Realtime Object-Oriented Modeling, volume 2. John Wiley & Sons New York, 1994.
[42]
Asadullah Shaikh, Robert Clarisó, Uffe Kock Wiil, and Nasrullah Memon. Verification-driven slicing of uml/ocl models. In Proceedings of the IEEE/ACM international conference on Automated software engineering, pages 185--194. ACM, 2010.
[43]
Adepu Sridhar and D Srinivasulu. Slicing matlab simulink/stateflow models. In Intelligent Computing, Networking, and Informatics, pages 737--743. Springer, 2014.
[44]
Judith A Stafford, Alexander L Wolf, and Mauro Caporuscio. The application of dependence analysis to software architecture descriptions. In International School on Formal Methods for the Design of Computer, Communication and Software Systems, pages 52--62. Springer, 2003.
[45]
Richard Stallman, Roland Pesch, Stan Shebs, et al. Debugging with GDB. Free Software Foundation, 675, 1988.
[46]
Mark Weiser. Program slicing. In Proceedings of the 5th International Conference on Software Engineering, pages 439--449. IEEE Press, 1981.
[47]
Mark Weiser. Programmers use slices when debugging. Communications of the ACM, 25(7):446-452, 1982.
[48]
Karolina Zurowska and Juergen Dingel. Symbolic execution of UML-RT state machines. In Proceedings of the 27th Annual ACM Symposium on Applied Computing, pages 1292--1299. ACM, 2012.

Cited By

View all
  • (2022)Mercury: Instruction Pipeline Aware Code Generation for Simulink ModelsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.319996741:11(4504-4515)Online publication date: Nov-2022
  • (2022)MDD: A Unified Model-Driven Design Framework for Embedded Control SoftwareIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.313256441:10(3252-3265)Online publication date: Oct-2022
  • (2019)Concolic testing for models of state-based systemsProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338908(4-15)Online publication date: 12-Aug-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MODELS '18: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems
October 2018
478 pages
ISBN:9781450349499
DOI:10.1145/3239372
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: 14 October 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Dependency Analysis
  2. Model Driven Engineering
  3. Model Slicing
  4. Slicing
  5. UML
  6. UML-RT

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

MODELS '18
Sponsor:

Acceptance Rates

MODELS '18 Paper Acceptance Rate 29 of 101 submissions, 29%;
Overall Acceptance Rate 118 of 382 submissions, 31%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)2
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Mercury: Instruction Pipeline Aware Code Generation for Simulink ModelsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.319996741:11(4504-4515)Online publication date: Nov-2022
  • (2022)MDD: A Unified Model-Driven Design Framework for Embedded Control SoftwareIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.313256441:10(3252-3265)Online publication date: Oct-2022
  • (2019)Concolic testing for models of state-based systemsProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338908(4-15)Online publication date: 12-Aug-2019
  • (2019)mCUTEProceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2019.00132(1182-1185)Online publication date: 10-Nov-2019

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