Empowering Empirical Research in Software Design: Construction and Studies on a Large-Scale Corpus of UML Models

Total Page:16

File Type:pdf, Size:1020Kb

Empowering Empirical Research in Software Design: Construction and Studies on a Large-Scale Corpus of UML Models Thesis for The Degree of Doctor of Philosophy Empowering Empirical Research in Software Design: Construction and Studies on a Large-Scale Corpus of UML Models Truong Ho-Quang Division of Software Engineering Department of Computer Science & Engineering Chalmers University of Technology and University of Gothenburg Gothenburg, Sweden, 2019 Empowering Empirical Research in Software Design: Construction and Studies on a Large-Scale Corpus of UML Models Truong Ho-Quang Copyright ©2019 Truong Ho-Quang except where otherwise stated. All rights reserved. ISBN 978-91-7833-608-1 (PRINT) ISBN 978-91-7833-609-8 (PDF) ISSN 0346-718X The thesis is available in full text online http://hdl.handle.net/2077/61704 Technical Report No 173D Department of Computer Science & Engineering Division of Software Engineering Chalmers University of Technology and University of Gothenburg Gothenburg, Sweden Cover illustration: Steps of printing a Đông Hồ painting (called “Gà D¤ Xướng”) Photos taken by Phùng Hồng Kên. This thesis has been prepared using LATEX. Printed by Chalmers Reproservice, Gothenburg, Sweden 2019. ii “Extraordinary Claims Require Extraordinary Evidence.” - Carl, Sagan. iv Abstract Context: In modern software development, software modeling is considered to be an essential part of the software architecture and design activities. The Unified Modeling Language (UML) has become the de facto standard for software modeling in industry. Surprisingly, there are only a few empirical studies on the practices and impacts of UML modeling in software development. This is mainly due to the lack of empirical data on real-life software systems that use UML modeling. Objective: This PhD thesis contributes to this matter by describing a method to build and curate a big corpus of open-source-software (OSS) projects that contain UML models. Subsequently, this thesis offers observations on the practices and impacts of using UML modeling in these OSS projects. Method: We combine techniques from repository mining and image classifi- cation in order to successfully identify more than 24.000 open source projects on GitHub that together contain more than 93.000 UML models. Machine learning techniques are also used to enrich the corpus with annotations. Finally, various empirical studies, including a case study, a user study, a large-scale survey and an experiment, have been carried out across this set of projects. Result: The results show that UML is generally perceived to be helpful to new contributors. The most important motivation for using UML seems to be to facilitate collaboration. In particular, teams use UML during communication and planning of joint implementation efforts. Our study also shows that the use of UML modeling has a positive impact on software quality, i.e. it correlates with lower defect proneness. Further, we find out that visualisation of design concepts, such as class role-stereotypes, helps developers to perform better in software comprehension tasks. Keywords Software Modeling, Software Design, Empirical Research, UML, Modeling Prac- tice, Impacts of Modeling, Open Source System, Mining Software Repository, Data Mining, Data Curation, GitHub. Acknowledgment To accomplish this 5-year Ph.D project, I have received lots of encouragement from colleagues, friends and my family. I would take this opportunity to thank: My main supervisor Prof. Michel R. V. Chaudron, for the continuous support to my Ph.D study, for your patience, motivation, and immense knowledge. Thanks for being not only a great academic adviser but also an intimate friend. My co-supervisor Regina Hebig, for voluntarily supporting me and providing me with tips and comments whenever needed. My former co-supervisor Patrizio Pelliccione, for offering interesting discus- sions and constructive comments in the first two years of my Ph.D. My examiner Prof. Ivica Crnkovic, for your encouragement, for hard ques- tions which incent me to widen my research from various perspectives. Directors of Ph.D study Jan Jonsson and Agneta Nilsson, for always giving constructive recommendations and reminding me to add buffers to my often- ambitious-research plans. To all of my colleagues at the Software Engineering Division, including of course administrative staff: Thank you all for creating such a friendly and productive work environment. I particularly thank Rodi Jolak for sharing the office with me, for interesting discussions and lots of push-up exercises at work. Hugo, Federico, Grischa, Salome: for being good and helpful neighbours. My research would have not been possible without support from my collab- orators. I would express my deeply thanks to all 24 people who co-authored papers with me. In particular, I thank Gregorio Robles and Miguel Ángel Fern¡ndez for being part of the best team that I've ever had. Many thanks to Arif Nurwidyantoro, Alexandre Bergel, Adithya Raghuraman, Alexander Serebrenik, Bogdan Vasilescu for our regular discussions despite the major time differences. To Dave, Hafeez and Bilal: I am thankful to be part of our team. Thanks to your help, I came to the Ph.D life less nervous. To all friends, near and far away, especially the Vietnamese “gangs” in Gothenburg: I sincerely thank you for sharing lots of joys during the years and recharging my battery when it was getting low. And to the most important people in my life: My lovely wife and daughter - thank you for stepping into my life and making it full of joy and happiness everyday. I also owe much of my success to my parents and grand-fathers, who supported me spiritually throughout writing this thesis and my life in general. Last but not least, I would give many thanks to my brothers and their families for the great suggestions and motivation during my Ph.D life. Truong Ho-Quang Gothenburg, 2019. vii List of Publications Included publications This thesis is based on the following eight (8) papers: [A] T. Ho-Quang, M.R.V. Chaudron, I. Samúelsson, J. Hjaltason, B. Karas- neh, H. Osman “Automatic Classification of UML Class Diagrams from Images”. Published in the Proceedings of the 21st Asia-Pacific Software Engineering Conference (APSEC 2014), Jeju, Korea, December 1 - December 4, 2014. [B] R. Hebig, T. Ho-Quang, M.R.V. Chaudron, G. Robles, F. Miguel Angel “The Quest for Open Source Projects that Use UML: Mining GitHub”. Published in the Proceedings of the ACM/IEEE 19th International Con- ference on Model Driven Engineering Languages and Systems (MODELS 2016), Saint-Malo, France, October 2 - October 7, 2016. [C] T. Ho-Quang, R. Hebig, G. Robles, M.R.V. Chaudron, F. Miguel Angel “Practices and Perceptions of UML Use in Open Source Projects”. Published in the Proceedings of the 39th International Conference on Software Engineering - Software Engineering in Practice Track (ICSE SEIP 2017), Buenos Aires, Argentina, May 20 - May 28, 2017. [D] M.H. Osman, T. Ho-Quang, M.R.V. Chaudron, “An Automated Ap- proach for Classifying Reverse-engineered and Forward-engineered UML Class Diagrams”. Published in the Proceedings of the 44th Euromicro Conference on Soft- ware Engineering and Advanced Applications (SEAA) (pp. 396-399), Prague, Czech Republic, August 29-31, 2018. [E] T. Ho-Quang, M.R.V. Chaudron, R. Hebig, G. Robles “Challenges and Directions for a Community Infrastructure for Big Data-driven Research in Software Architecture” Accepted as a chapter in the book “Model Management and Analytics for Large Scale Systems”, To be published by Elsevier (Expected release date: November 1, 2019). [F] A. Raghuraman, T. Ho-Quang, M.R.V. Chaudron, A. Serebrenik, B. Vasilescu “Does UML Modeling Associate with Higher Software Qual- ity in Open-Source Software?” Accepted at the 16th International Conference on Mining Software Repos- itories (MSR2019), Montr²al, Canada, May 26 - May 27, 2019. ix x [G] T. Ho-Quang, A. Nurwidyantoro, M.R.V. Chaudron “Using Machine Learning for Automated Classification of Class Responsibility Stereotypes in Software Design”. Under Submission. [H] T. Ho-Quang, A. Bergel, A. Nurwidyantoro, M.R.V. Chaudron “In- teractive Role Stereotype-Based Visualization To Comprehend Software Architecture”. Under submission. xi Other publications The following publications were published during my PhD studies, or are currently in submission. However, they are not appended to this thesis, due to contents overlapping that of appended publications or contents not related to the thesis. [a] H. Osman, M.R.V. Chaudron, P. van der Putten, T. Ho-Quang “Con- densing Reverse Engineered Class Diagrams Through Class Name Based Abstraction” 4th World Congress on Information and Communication Technologies (WICT'14), Malacca, Malaysia, December 8 - December 10, 2014. [b] D.R. Stikkolorum, T. Ho-Quang, M.R.V. Chaudron “Revealing Stu- dents' UML Class Diagram Modelling Strategies with WebUML and LogViz” 41st Euromicro Conference on Software Engineering and Advanced Ap- plications (SEAA), Funchal, Madeira, Protugal, August 26 - August 28, 2015. [c] D.R. Stikkolorum, T. Ho-Quang, B. Karasneh, M.R.V. Chaudron “Un- covering Students' Common Difficulties and Strategies During a Class Diagram Design Process: an Online Experiment” Educators Symposium at ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (EduSymp@MoDELS 2015), Ottawa, Canada, September 29, 2015. [d] R. Hebig, T. Ho-Quang, M.R.V. Chaudron, G. Robles, F. Miguel Angel “The Quest for UML in Open Source Projects Initial findings from GitHub” Published in the Proceedings of the Doctoral Consortium at the 12th International Conference on Open Source Systems (OSS 2016), G¨oteborg, Sweden, May 30, 2016 [e] R. Jolak, E. Umuhoza, T. Ho-Quang, M.R.V. Chaudron, M.Brambilla “Dissecting design effort and drawing effort in UML modeling” Published in the Proceedings of the 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Vienna, Austria, 2017. [f] G. Robles, T. Ho-Quang, R. Hebig, M.R.V. Chaudron, F. Miguel Angel “An extensive collection of UML files in GitHub” Published in the Proceedings of the 14th International Conference on Mining Software Repositories (MSR 2017).
Recommended publications
  • Customizing UML with Stereotypes
    Customizing UML with Stereotypes Mirosáaw StaroĔ ii iii Blekinge Institute of Technology Dissertation Series No 2003:06 ISSN 1650-2140 ISBN 91-7295-028-5 Customizing UML with Stereotypes Mirosáaw StaroĔ Department of Software Engineering and Computer Science Blekinge Institute of Technology Sweden iv BLEKINGE INSTITUTE OF TECHNOLOGY Blekinge Institute of Technology, situated on the southeast coast of Sweden, started in 1989 and in 1999 gained the right to run Ph.D programmes in technology. Research programmes have been started in the following areas: • Applied signal processing • Computer science • Computer systems technology • Design and digital media • Human work science with a special focus on IT • IT and gender research • Mechanical engineering • Software engineering • Spatial planning • Telecommunication systems Research studies are carried out in all faculties and about a third of the annual budget is dedicated to research. Blekinge Institute of Technology S-371 79 Karlskrona, Sweden http://www.bth.se v Jacket illustration: © 2003 GillWorth gallery, www.gillworthreptiles.co.uk Publisher: Blekinge Institute of Technology Printed by Kaserntryckeriet, Karlskrona, Sweden 2003 ISBN 91-7295-028-5 vi Abstract The Unified Modeling Language (UML) is a visual modeling language for documenting and specifying software. It is gaining popularity as a language for a variety of purposes. It was designed as a result of a unifying activity in the last decade. Since this general purpose language cannot suit all possible needs, it has built-in mechanisms for providing extensibility for specific purposes. One such mechanism is the notion of stereotype, which is a means of branding the existing model element with a new semantics.
    [Show full text]
  • OMG Systems Modeling Language (OMG Sysml™) Tutorial 25 June 2007
    OMG Systems Modeling Language (OMG SysML™) Tutorial 25 June 2007 Sanford Friedenthal Alan Moore Rick Steiner (emails included in references at end) Copyright © 2006, 2007 by Object Management Group. Published and used by INCOSE and affiliated societies with permission. Status • Specification status – Adopted by OMG in May ’06 – Finalization Task Force Report in March ’07 – Available Specification v1.0 expected June ‘07 – Revision task force chartered for SysML v1.1 in March ‘07 • This tutorial is based on the OMG SysML adopted specification (ad-06-03-01) and changes proposed by the Finalization Task Force (ptc/07-03-03) • This tutorial, the specifications, papers, and vendor info can be found on the OMG SysML Website at http://www.omgsysml.org/ 7/26/2007 Copyright © 2006,2007 by Object Management Group. 2 Objectives & Intended Audience At the end of this tutorial, you should have an awareness of: • Benefits of model driven approaches for systems engineering • SysML diagrams and language concepts • How to apply SysML as part of a model based SE process • Basic considerations for transitioning to SysML This course is not intended to make you a systems modeler! You must use the language. Intended Audience: • Practicing Systems Engineers interested in system modeling • Software Engineers who want to better understand how to integrate software and system models • Familiarity with UML is not required, but it helps 7/26/2007 Copyright © 2006,2007 by Object Management Group. 3 Topics • Motivation & Background • Diagram Overview and Language Concepts • SysML Modeling as Part of SE Process – Structured Analysis – Distiller Example – OOSEM – Enhanced Security System Example • SysML in a Standards Framework • Transitioning to SysML • Summary 7/26/2007 Copyright © 2006,2007 by Object Management Group.
    [Show full text]
  • A Model-Driven Engineering Approach to Support the Verification of Compliance to Safety Standards
    A Model-Driven Engineering Approach to Support the Verification of Compliance to Safety Standards Rajwinder Kaur Panesar-Walawege, Mehrdad Sabetzadeh, Lionel Briand Simula Research Laboratory, Lysaker, Norway University of Oslo, Norway Email: {rpanesar,mehrdad,briand}@simula.no Abstract—Certification of safety-critical systems according to system development. This means that they will have to well-recognised standards is the norm in many industries where reconstruct the missing evidence after the fact. Doing so the failure of such systems can harm people or the environment. is often very expensive, and the outcomes might be far Certification bodies examine such systems, based on evidence that the system suppliers provide, to ensure that the relevant from satisfactory. On the certifier side, poorly structured and safety risks have been sufficiently mitigated. The evidence is incomplete evidence often leads to significant delays and aimed at satisfying the requirements of the standards used loss of productivity, and further may not allow the certifier for certification, and naturally a key prerequisite for effective to develop enough trust in the system that needs to be collection of evidence is that the supplier be aware of these certified. It is therefore very important to devise a systematic requirements and the evidence they require. This often proves to be a very challenging task because of the sheer size of the methodology, which is amenable to effective automated standards and the fact that the textual standards are amenable support, to specify, manage, and analyze the safety evidence to subjective interpretation. In this paper, we propose an ap- used to demonstrate compliance to standards.
    [Show full text]
  • UML Notation Guide 3
    UML Notation Guide 3 This guide describes the notation for the visual representation of the Unified Modeling Language (UML). This notation document contains brief summaries of the semantics of UML constructs, but the UML Semantics chapter must be consulted for full details. Contents This chapter contains the following topics. Topic Page “Part 1 - Background” “Introduction” 3-5 Part 2 - Diagram Elements “Graphs and Their Contents” 3-6 “Drawing Paths” 3-7 “Invisible Hyperlinks and the Role of Tools” 3-7 “Background Information” 3-8 “String” 3-8 “Name” 3-9 “Label” 3-10 “Keywords” 3-11 “Expression” 3-11 “Type-Instance Correspondence” 3-14 Part 3 - Model Management March 2003 OMG-Unified Modeling Language, v1.5 3-1 3 UML Notation Guide Topic Page “Package” 3-16 “Subsystem” 3-19 “Model” 3-24 Part 4 - General Extension Mechanisms “Constraint and Comment” 3-26 “Element Properties” 3-29 “Stereotypes” 3-31 Part 5 - Static Structure Diagrams “Class Diagram” 3-34 “Object Diagram” 3-35 “Classifier” 3-35 “Class” 3-35 “Name Compartment” 3-38 “List Compartment” 3-38 “Attribute” 3-41 “Operation” 3-44 “Nested Class Declarations” 3-48 “Type and Implementation Class” 3-49 “Interfaces” 3-50 “Parameterized Class (Template)” 3-52 “Bound Element” 3-54 “Utility” 3-56 “Metaclass” 3-57 “Enumeration” 3-57 “Stereotype Declaration” 3-57 “Powertype” 3-61 “Class Pathnames” 3-61 “Accessing or Importing a Package” 3-62 “Object” 3-64 “Composite Object” 3-67 “Association” 3-68 “Binary Association” 3-68 3-2 OMG-Unified Modeling Language, v1.5 March 2003 3 UML Notation Guide
    [Show full text]
  • Plantuml Language Reference Guide (Version 1.2021.2)
    Drawing UML with PlantUML PlantUML Language Reference Guide (Version 1.2021.2) PlantUML is a component that allows to quickly write : • Sequence diagram • Usecase diagram • Class diagram • Object diagram • Activity diagram • Component diagram • Deployment diagram • State diagram • Timing diagram The following non-UML diagrams are also supported: • JSON Data • YAML Data • Network diagram (nwdiag) • Wireframe graphical interface • Archimate diagram • Specification and Description Language (SDL) • Ditaa diagram • Gantt diagram • MindMap diagram • Work Breakdown Structure diagram • Mathematic with AsciiMath or JLaTeXMath notation • Entity Relationship diagram Diagrams are defined using a simple and intuitive language. 1 SEQUENCE DIAGRAM 1 Sequence Diagram 1.1 Basic examples The sequence -> is used to draw a message between two participants. Participants do not have to be explicitly declared. To have a dotted arrow, you use --> It is also possible to use <- and <--. That does not change the drawing, but may improve readability. Note that this is only true for sequence diagrams, rules are different for the other diagrams. @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: Another authentication Response @enduml 1.2 Declaring participant If the keyword participant is used to declare a participant, more control on that participant is possible. The order of declaration will be the (default) order of display. Using these other keywords to declare participants
    [Show full text]
  • UML 2001: a Standardization Odyssey
    UML 2001: A Standardization Odyssey As the UML reaches the ripe age of four, both its proponents and its critics are scanning the recent changes in the UML 1.3 revision. CRIS KOBRYN In a relatively short period of time the Unified Modeling Language has emerged as the software industry’s dominant modeling language. UML is not only a de facto modeling language standard; it is fast becoming a de jure standard. Nearly two years ago the Object Management Group (OMG) adopted UML as its standard modeling language. As an approved Publicly Available Specification (PAS) submitter to the International Organization for Standardization (ISO), the OMG is proposing the UML specification for international timescales of standards usually conflict with the standardization. It is anticipated that the “fast competitive need to use the latest technology as track” PAS process will complete sometime next early as possible. From a technical perspective, the year, at which time UML will be formally recog- need to achieve consensus encourages “design by nized as an international standard for information committee” processes. In this sort of environment, technology. sound technical tradeoffs are often overridden by The major benefits of international standardiza- inferior political compromises. Too frequently the tion for a specification include wide recognition and resulting specifications become bloated with patches acceptance, which typically enlarge the market for in a manner similar to the way laws become fattened products based on it. However, these benefits often with riders in “pork belly” legislation. demand a high price. Standardization processes are This article explores how the UML is faring in typically formal and protracted, seeking to accom- the international standardization process.
    [Show full text]
  • Plantuml Language Reference Guide
    Drawing UML with PlantUML Language Reference Guide (Version 5737) PlantUML is an Open Source project that allows to quickly write: • Sequence diagram, • Usecase diagram, • Class diagram, • Activity diagram, • Component diagram, • State diagram, • Object diagram. Diagrams are defined using a simple and intuitive language. 1 SEQUENCE DIAGRAM 1 Sequence Diagram 1.1 Basic examples Every UML description must start by @startuml and must finish by @enduml. The sequence ”->” is used to draw a message between two participants. Participants do not have to be explicitly declared. To have a dotted arrow, you use ”-->”. It is also possible to use ”<-” and ”<--”. That does not change the drawing, but may improve readability. Example: @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response @enduml To use asynchronous message, you can use ”->>” or ”<<-”. @startuml Alice -> Bob: synchronous call Alice ->> Bob: asynchronous call @enduml PlantUML : Language Reference Guide, December 11, 2010 (Version 5737) 1 of 96 1.2 Declaring participant 1 SEQUENCE DIAGRAM 1.2 Declaring participant It is possible to change participant order using the participant keyword. It is also possible to use the actor keyword to use a stickman instead of a box for the participant. You can rename a participant using the as keyword. You can also change the background color of actor or participant, using html code or color name. Everything that starts with simple quote ' is a comment. @startuml actor Bob #red ' The only difference between actor and participant is the drawing participant Alice participant "I have a really\nlong name" as L #99FF99 Alice->Bob: Authentication Request Bob->Alice: Authentication Response Bob->L: Log transaction @enduml PlantUML : Language Reference Guide, December 11, 2010 (Version 5737) 2 of 96 1.3 Use non-letters in participants 1 SEQUENCE DIAGRAM 1.3 Use non-letters in participants You can use quotes to define participants.
    [Show full text]
  • Software Evolution of Legacy Systems a Case Study of Soft-Migration
    Software Evolution of Legacy Systems A Case Study of Soft-migration Andreas Furnweger,¨ Martin Auer and Stefan Biffl Vienna University of Technology, Inst. of Software Technology and Interactive Systems, Vienna, Austria Keywords: Software Evolution, Migration, Legacy Systems. Abstract: Software ages. It does so in relation to surrounding software components: as those are updated and modern- ized, static software becomes evermore outdated relative to them. Such legacy systems are either tried to be kept alive, or they are updated themselves, e.g., by re-factoring or porting—they evolve. Both approaches carry risks as well as maintenance cost profiles. In this paper, we give an overview of software evolution types and drivers; we outline costs and benefits of various evolution approaches; and we present tools and frameworks to facilitate so-called “soft” migration approaches. Finally, we describe a case study of an actual platform migration, along with pitfalls and lessons learned. This paper thus aims to give software practitioners—both resource-allocating managers and choice-weighing engineers—a general framework with which to tackle soft- ware evolution and a specific evolution case study in a frequently-encountered Java-based setup. 1 INTRODUCTION tainability. We look into different aspects of software maintenance and show that the classic meaning of Software development is still a fast-changing environ- maintenance as some final development phase after ment, driven by new and evolving hardware, oper- software delivery is outdated—instead, it is best seen ating systems, frameworks, programming languages, as an ongoing effort. We also discuss program porta- and user interfaces. While this seemingly constant bility with a specific focus on porting source code.
    [Show full text]
  • On UML's Composite Structure Diagram
    On UML's Composite Structure Diagram Ian Oliver, Vesa Luukkala Nokia Research Center Helsinki, Finland fian.oliver,[email protected] Abstract. The composite structure diagram and related notions have been introduced into UML2.0 to supplement already existing artifacts such as classes. However the usage of these constructs by engineers and/or modellers is not always in the spirit of inventors of these con- structs. A number of additional interpretations develop which are not always consistent with the intended usage of the structure nor with the language itself. Understanding these additional usages assists in under- standing areas of ambiguity, extension, inconsistency and the future de- velopment of the language. 1 Introduction The composite structure diagram's and related structures' uses and semantics are well described in [1{3] while the notions of composition are adequately de- scribed in [4, 5]. Its function is to extend the modelling capabilities of the UML beyond that of classes and their relationships and is primarily aimed to assist the modelling of the internal structures of classes with a more well defined notion of decomposition. Similar notions exist in methods such as ROOM [6] (capsules) and languages such as SDL [7] and SysML [8] for example. As tools become more UML compliant and support more UML constructs, en- gineers and/or modellers start to use these additional constructs. The effect of this is that the semantics of these constructs is often learnt through an implicit process based around the name of the construct and what the tool appears to allow; the semantics are often based on the engineer's expectations and per- ceived meaning [9] rather than on the actual, intended semantics.
    [Show full text]
  • Quantitative Safety Analysis of UML Models
    University of Konstanz Department of Computer and Information Science Master Thesis for the degree Master of Science (M.Sc.) in Information Engineering Quantitative Safety Analysis of UML Models by Florian Leitner-Fischer (Matr.-Nr. 01 / 612538) 1st Referee: Prof. Dr. Stefan Leue 2nd Referee: Prof. Dr. Marc H. Scholl Konstanz, August 2, 2010 2 3 Abstract When developing a safety-critical system it is essential to obtain an assessment of different design alternatives. In particular, an early safety assessment of the architectural design of a system is desirable. In spite of the plethora of available formal quantitative analysis methods it is still difficult for software and system architects to integrate these techniques into their every day work. This is mainly due to the lack of methods that can be directly applied to architecture level models, for instance given as UML diagrams. Another obstacle is, that the methods often require a profound knowledge of formal methods, which can rarely be found in industrial practice. Our approach bridges this gap and improves the integration of quantitative safety analysis methods into the development process. We propose a UML profile that allows for the specification of all inputs needed for the analysis at the level of a UML model. The QuantUM tool which we have developed, automatically translates an UML model into an analysis model. Furthermore, the results gained from the analysis are lifted to the level of the UML specification or other high-level formalism to further facilitate the process. Thus the analysis model and the formal methods used during the analysis are hidden from the user.
    [Show full text]
  • During the Early Days of Computing, Computer Systems Were Designed to Fit a Particular Platform and Were Designed to Address T
    TAGDUR: A Tool for Producing UML Diagrams Through Reengineering of Legacy Systems Richard Millham, Hongji Yang De Montfort University, England [email protected] & [email protected] Abstract: Introducing TAGDUR, a reengineering tool that first transforms a procedural legacy system into an object-oriented, event-driven system and then models and documents this transformed system through a series of UML diagrams. Keywords: TAGDUR, Reengineering, Program Transformation, UML In this paper, we introduce TAGDUR (Transformation from a sequential-driven, procedural structured to an and Automatic Generation of Documentation in UML event-driven, component-based architecture requires a through Reengineering). TAGDUR is a reengineering tool transformation of the original system to an object-oriented, designed to address the problems frequently found in event-driven system. Object orientation, because it many legacy systems such as lack of documentation and encapsulates methods and their variables into modules, is the need to transform the present structure to a more well-suited to a multi-tiered Web-based architecture modern architecture. TAGDUR first transforms a where pieces of software must be defined in encapsulated procedurally-structured system to an object-oriented, modules with cleanly-defined interfaces. This particular event-driven architecture. Then TAGDUR generates legacy system is procedural-driven and is batch-oriented; documentation of the structure and behavior of this a move to a Web-based architecture requires a real-time, transformed system through a series of UML (Unified event-driven response rather than a procedural invocation. Modeling Language) diagrams. These diagrams include class, deployment, sequence, and activity diagrams. Object orientation promises other advantages as well.
    [Show full text]
  • UML Diagrams
    mywbut.com UML Diagrams Overview UML was designed to be the distillation of best practices in software development. To accomplish this ambitious goal, UML provides an extensive set of diagramming tools. Because UML is such a big subject and the diagramming tools are so diverse I thought it would be helpful to give you an overview of the diagrams themselves. This chapter presents some samples of each diagram with a brief introduction describing the purpose and benefits of each diagram. As a kind of roadmap I'll use the UML groupings that divide the diagrams into packages based on their roles in the Model Management, Structural, and Behavioral aspects of system design. Model Management diagrams include Packages, which are used to represent Subsystems, Models, and more. Structural diagrams include the Class diagram, Object diagram, Composite Structure diagram, Component diagram, Deployment diagram, and the Combined Component and Deployment diagram. Behavioral diagrams include the Use Case diagram, Activity diagram, Interaction diagrams, State Machine diagram, and Protocol State Machine diagram. UML Diagrams and Work Products Each diagram reveals a unique yet overlapping view of a system. That sounds a bit strange. How can a diagram be unique yet overlap other diagrams? The uniqueness comes from the different perspective taken by each diagram. The overlap comes from the fact that all of the diagrams are looking at the same problem. The big question that usually crops up about now is, "Why do I have to use all these diagrams? Joe and Susan have always just drawn Class diagrams." This question is valid. For small, simple projects you may not need to create all these diagrams.
    [Show full text]