{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,8,31]],"date-time":"2024-08-31T03:05:50Z","timestamp":1725073550703},"reference-count":60,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2016,7,23]],"date-time":"2016-07-23T00:00:00Z","timestamp":1469232000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"funder":[{"name":"Automotive Partnership Canada","award":["APCPY 386797-09"],"award-info":[{"award-number":["APCPY 386797-09"]}]},{"name":"NSERC CREATE ULSS","award":["397879-2011"],"award-info":[{"award-number":["397879-2011"]}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Softw Syst Model"],"published-print":{"date-parts":[[2018,7]]},"DOI":"10.1007\/s10270-016-0549-6","type":"journal-article","created":{"date-parts":[[2016,7,23]],"date-time":"2016-07-23T08:47:26Z","timestamp":1469263646000},"page":"717-752","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["Model development guidelines for UML-RT: conventions, patterns and antipatterns"],"prefix":"10.1007","volume":"17","author":[{"given":"Tuhin Kanti","family":"Das","sequence":"first","affiliation":[]},{"given":"Juergen","family":"Dingel","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2016,7,23]]},"reference":[{"key":"549_CR1","doi-asserted-by":"crossref","unstructured":"Abbes, M., Khomh, F., Gueheneuc, Y., Antoniol, G.: An empirical study of the impact of two antipatterns, Blob and Spaghetti Code, on program comprehension. In: Proceedings of the 15th European Conference on Software Maintenance and Re-engineering (CSMR \u201911). IEEE Computer Society, pp. 181\u2013190, Washington (2011)","DOI":"10.1109\/CSMR.2011.24"},{"key":"549_CR2","volume-title":"Compilers: Principles, Techniques, and Tools","author":"AV Aho","year":"1986","unstructured":"Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley Longman Publishing Co., Inc., Boston (1986)"},{"key":"549_CR3","volume-title":"Antipatterns Session Notes","author":"M Akroyd","year":"1996","unstructured":"Akroyd, M.: Antipatterns Session Notes. Object World West, San Francisco (1996)"},{"key":"549_CR4","unstructured":"Ambler, S.W.: UML 2 state machine diagrams: an agile introduction. http:\/\/www.agilemodeling.com\/artifacts\/stateMachineDiagram.htm\/ . Accessed 20 Jan 2016"},{"key":"549_CR5","doi-asserted-by":"crossref","unstructured":"Arcelli, D., Cortellessa, V., Trubiani, C.: Antipattern-based model refactoring for software performance improvement. In: ACM (QoSA \u201912), pp. 33\u201342 (2012)","DOI":"10.1145\/2304696.2304704"},{"issue":"4","key":"549_CR6","doi-asserted-by":"crossref","first-page":"1527","DOI":"10.1007\/s10270-013-0390-0","volume":"14","author":"M Balaban","year":"2015","unstructured":"Balaban, M., Maraee, A., Sturm, A., Jelnov, P.: A pattern-based approach for improving model quality. Softw. Syst. Model. (SoSyM) 14(4), 1527\u20131555 (2015)","journal-title":"Softw. Syst. Model. (SoSyM)"},{"key":"549_CR7","unstructured":"Bellekens, G.: UML best practice: 5 rules for better UML diagrams. http:\/\/bellekens.com\/2012\/02\/21\/uml-best-practice-5-rules-for-better-uml-diagrams\/ . Accessed 20 Jan 2016"},{"key":"549_CR8","doi-asserted-by":"crossref","DOI":"10.1017\/CBO9780511546969","volume-title":"Mobile Computing Principles: Designing and Developing Mobile Applications with UML and XML","author":"R B\u2019far","year":"2004","unstructured":"B\u2019far, R.: Mobile Computing Principles: Designing and Developing Mobile Applications with UML and XML. Cambridge University Press, New York (2004)"},{"key":"549_CR9","volume-title":"AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis","author":"WJ Brown","year":"1998","unstructured":"Brown, W.J., Malveau, R.C., McCormick, H.W., Mowbray, T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley, New York (1998)"},{"issue":"2","key":"549_CR10","doi-asserted-by":"crossref","first-page":"151","DOI":"10.1147\/sj.352.0151","volume":"35","author":"FJ Budinsky","year":"1996","unstructured":"Budinsky, F.J., Finnie, M.A., Vlissides, J.M., Yu, P.S.: Automatic code generation from design patterns. IBM Syst. J. 35(2), 151\u2013171 (1996)","journal-title":"IBM Syst. J."},{"key":"549_CR11","doi-asserted-by":"crossref","unstructured":"Cortellessa, V., Di Marco, A., Eramo, R., Pierantonio, A., Trubiani, C.: Digging into UML models to remove performance antipatterns. In: Proceedings of the 2010 ICSE Workshop on Quantitative Stochastic Models in the Verification and Design of Software Systems, QUOVADIS \u201910, ACM, pp. 9\u201316, New York, 2010","DOI":"10.1145\/1808877.1808880"},{"key":"549_CR12","unstructured":"Cunningham and Cunningham Inc.: Global variables are bad. http:\/\/c2.com\/cgi\/wiki?GlobalVariablesAreBad . Accessed 20 Jan 2016"},{"key":"549_CR13","doi-asserted-by":"crossref","unstructured":"Das, T.K., Dingel, J.: State machine antipatterns for UML-RT. In: ACM\/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS\u201915), pp. 54\u201363 (2015)","DOI":"10.1109\/MODELS.2015.7338235"},{"key":"549_CR14","volume-title":"Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns","author":"BP Douglass","year":"1999","unstructured":"Douglass, B.P.: Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston (1999)"},{"key":"549_CR15","unstructured":"Eclipse.: Papyrus for real time (Papyrus-RT). https:\/\/projects.eclipse.org\/proposals\/papyrus-real-time-papyrus-rt . Accessed 20 Jan 2016"},{"key":"549_CR16","volume-title":"Embedded Systems Design for High-Speed Data Acquisition and Control","author":"MDP Emilio","year":"2014","unstructured":"Emilio, M.D.P.: Embedded Systems Design for High-Speed Data Acquisition and Control. Springer Publishing Company, Cham (2014). Incorporated"},{"key":"549_CR17","unstructured":"International Organization for Standardization. ISO\/IEC 25000:2005: Software Engineering\u2014Software product Quality Requirements and Evaluation (SQuaRE)\u2014Guide to SQuaRE. http:\/\/www.iso.org\/iso\/catalogue_detail.htm?csnumber=35683 . Accessed 20 Jan 2016"},{"key":"549_CR18","volume-title":"Refactoring: Improving the Design of Existing Code","author":"M Fowler","year":"1999","unstructured":"Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Longman Publishing Co. Inc., Boston (1999)"},{"key":"549_CR19","doi-asserted-by":"crossref","unstructured":"France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: IEEE Computer Society on Future of Software Engineering (FOSE \u201907), pp. 37\u201354, Washington (2007)","DOI":"10.1109\/FOSE.2007.14"},{"key":"549_CR20","volume-title":"Design Patterns: Elements of Reusable Object-oriented Software","author":"E Gamma","year":"1995","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co. Inc., Boston (1995)"},{"key":"549_CR21","unstructured":"Gopinath, S.: Real-time UML to XMI conversion. Master\u2019s thesis, KTH Computer Science and Communication, Stockholm, Sweden (2006)"},{"key":"549_CR22","unstructured":"GrammaTech.: FDA recommends static analysis for medical devices. http:\/\/citeseerx.ist.psu.edu\/viewdoc\/download?doi=10.1.1.194.293&rep=rep1&type=pdf , 2010. Accessed 20 Jan 2016"},{"key":"549_CR23","doi-asserted-by":"crossref","unstructured":"Henzinger, T.A., Sifakis, J.: The embedded systems design challenge. In: Proceedings of the 14th international conference on Formal Methods (FM\u201906), pp. 1\u201315. Springer-Verlag, Berlin, Heidelberg (2006)","DOI":"10.1007\/11813040_1"},{"key":"549_CR24","unstructured":"IBM.: Modeling real-time applications in RSARTE. https:\/\/www.ibm.com\/developerworks\/community\/wikis\/home?lang=en#!\/wiki\/W0c4a14ff363e_436c_9962_2254bb5cbc60\/page\/Modeling%20Real-Time%20Applications%20in%20RSARTE . Accessed 20 Jan 2016"},{"key":"549_CR25","unstructured":"IBM.: Rational Rose Real Time (RT) documentation: capsule instances and capsule behavior. ftp:\/\/ftp.software.ibm.com\/software\/rational\/docs\/v2003\/win_solutions\/rational_rosert\/rosert_java_ref_guide.pdf . Accessed 20 Jan 2016"},{"key":"549_CR26","unstructured":"IBM.: Rational Rose RealTime. ftp:\/\/ftp.software.ibm.com\/software\/rational\/docs\/documentation\/manuals\/rosert.html . Accessed 20 Jan 2016"},{"key":"549_CR27","doi-asserted-by":"crossref","unstructured":"Jetley, R.P., Jones, P.L., Anderson, P.: Static analysis of medical device software using codesonar. In: Proceedings of the 2008 Workshop on Static Analysis, SAW \u201908, ACM, pp. 22\u201329, New York (2008)","DOI":"10.1145\/1394504.1394507"},{"issue":"3","key":"549_CR28","doi-asserted-by":"crossref","first-page":"243","DOI":"10.1007\/s10664-011-9171-y","volume":"17","author":"F Khomh","year":"2012","unstructured":"Khomh, F., Penta, M.D., Gu\u00e9h\u00e9neuc, Y., Antoniol, G.: An exploratory study of the impact of antipatterns on class change- and fault-proneness. Empir Softw. Eng. 17(3), 243\u2013275 (2012)","journal-title":"Empir Softw. Eng."},{"key":"549_CR29","volume-title":"Real-Time Systems: Design Principles for Distributed Embedded Applications","author":"H Kopetz","year":"1997","unstructured":"Kopetz, H.: Real-Time Systems: Design Principles for Distributed Embedded Applications, 1st edn. Kluwer Academic Publishers, Norwell (1997)","edition":"1"},{"key":"549_CR30","unstructured":"Nancy Leveson.: Medical devices: the therac-25. http:\/\/sunnyday.mit.edu\/papers\/therac.pdf . Accessed 20 Jan 2016"},{"key":"549_CR31","unstructured":"Sparx Systems Pty Ltd.: UML 2 state machine diagram. http:\/\/www.sparxsystems.com\/resources\/uml2_tutorial\/uml2_statediagram.html\/ . Accessed 20 Jan 2016"},{"key":"549_CR32","unstructured":"MathWorks Automotive Advisory Board (MAAB).: Control algorithm modeling guidelines using MATLAB Simulink and Stateflow version 2.0. http:\/\/www.idsc.ethz.ch\/Courses\/embedded_control_systems\/Exercises\/Maab_styleguide_v_2_0.pdf\/ (2007). Accessed 20 Jan 2016"},{"key":"549_CR33","unstructured":"Adam Neal.: RSARTE cheatsheet. https:\/\/www.ibm.com\/developerworks\/community\/wikis\/form\/anonymous\/api\/wiki\/b7da455c-5c51-4706-91c9-dcca9923c303\/page\/a7287c71-8e14-429d-80df-a0051a8b44b7\/attachment\/2eb38295-77c0-48e5-86e2-5903e4b4c224\/media\/cheatsheet._adam.pdf . Accessed 20 Jan 2016"},{"key":"549_CR34","doi-asserted-by":"crossref","first-page":"25","DOI":"10.4236\/jcc.2014.26004","volume":"2","author":"EE Ogheneovo","year":"2014","unstructured":"Ogheneovo, E.E.: Software dysfunction: why do software fail? J. Comput. Commun. 2, 25\u201335 (2014)","journal-title":"J. Comput. Commun."},{"key":"549_CR35","unstructured":"Object Management Group (OMG).: How to deliver resilient, secure, efficient, and easily changed it systems in line with CISQ recommendations. http:\/\/www.omg.org\/CISQ_compliant_IT_Systemsv.4-3.pdf . Accessed 20 Jan 2016"},{"key":"549_CR36","unstructured":"Oracle.: Comments. http:\/\/www.oracle.com\/technetwork\/java\/javase\/documentation\/codeconventions-141999.html#385 . Accessed 13 June 2016"},{"key":"549_CR37","unstructured":"Oracle.: Indentation. http:\/\/www.oracle.com\/technetwork\/java\/javase\/documentation\/codeconventions-136091.html . Accessed 13 June 2016"},{"key":"549_CR38","unstructured":"Oracle.: Naming conventions. http:\/\/www.oracle.com\/technetwork\/java\/codeconventions-135099.html . Accessed 13 June 2016"},{"key":"549_CR39","unstructured":"Oracle.: Code conventions for the Java programming language. http:\/\/www.oracle.com\/technetwork\/java\/codeconvtoc-136057.html (1999). Accessed 20 Jan 2016"},{"key":"549_CR40","doi-asserted-by":"crossref","first-page":"55","DOI":"10.5381\/jot.2008.7.3.a1","volume":"7","author":"T Parsons","year":"2008","unstructured":"Parsons, T., Murphy, J.: Detecting performance antipatterns in component based enterprise systems. J. Object Technol. 7, 55\u201390 (2008)","journal-title":"J. Object Technol."},{"key":"549_CR41","volume-title":"Software Engineering: A Practitioner\u2019s Approach","author":"RS Pressman","year":"1986","unstructured":"Pressman, R.S.: Software Engineering: A Practitioner\u2019s Approach, 2nd edn. McGraw-Hill Inc., New York (1986)","edition":"2"},{"key":"549_CR42","unstructured":"Kepler Project.: Software development guidelines. https:\/\/kepler-project.org\/developers\/reference\/software-development-guidelines . Accessed 20 Jan 2016"},{"key":"549_CR43","doi-asserted-by":"crossref","unstructured":"Romano, D., Raila, P., Pinzger, M., Khomh, F.: Analyzing the impact of antipatterns on change-proneness using fine-grained source code changes. In: IEEE Computer Society on (WCRE \u201912), pp. 437\u2013446 (2012)","DOI":"10.1109\/WCRE.2012.53"},{"key":"549_CR44","unstructured":"Safyan, M.: Avoid global variables, environment variables, and singletons. https:\/\/sites.google.com\/site\/michaelsafyan\/software-engineering\/avoid-global-variables-environment-variables-and-singletons . Accessed 20 Jan 2016"},{"key":"549_CR45","doi-asserted-by":"crossref","DOI":"10.1201\/b16463","volume-title":"Practical UML Statecharts in C\/C++, Second Edition: Event-Driven Programming for Embedded Systems","author":"M Samek","year":"2008","unstructured":"Samek, M.: Practical UML Statecharts in C\/C++, Second Edition: Event-Driven Programming for Embedded Systems. Newnes, Newton (2008)"},{"key":"549_CR46","doi-asserted-by":"crossref","unstructured":"Selic, B.: Using UML for modeling complex real-time systems. In: Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES \u201998), pp. 250\u2013260. Springer-Verlag, London (1998)","DOI":"10.1007\/BFb0057795"},{"key":"549_CR47","doi-asserted-by":"crossref","unstructured":"Selic, B., Gullekson, G., McGee, J., Engelberg, I.: ROOM: an object-oriented methodology for developing real-time systems. In: Proceedings of Computer-Aided Software Engineering, Fifth International Workshop, pp. 230\u2013240 (1992)","DOI":"10.1109\/CASE.1992.200156"},{"key":"549_CR48","volume-title":"Real-Time Object-Oriented Modeling","author":"B Selic","year":"1994","unstructured":"Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object-Oriented Modeling. Wiley, New York (1994)"},{"key":"549_CR49","unstructured":"Selic, B.: An architectural pattern for real-time control software. In: Pattern Languages of Program Design 2, pp. 4\u20136. Addison-Wesley (1996)"},{"key":"549_CR50","unstructured":"Smith, C.U., Williams, L.G.: More new software performance antipatterns: Even more ways to shoot yourself in the foot. In: CMG Conference, pp. 717\u2013725 (2011)"},{"key":"549_CR51","unstructured":"Thunderstone Software.: Variable scope: Global vs. local. https:\/\/www.thunderstone.com\/site\/vortexman\/variable_scope_global_vs_local.html . Accessed 20 Jan 2016"},{"key":"549_CR52","volume-title":"Design Patterns Application in UML","author":"G Suny\u00e9","year":"2000","unstructured":"Suny\u00e9, G., Guennec, A.L., J\u00e9z\u00e9quel, J.: Design Patterns Application in UML. Springer, Berlin, Heidelberg (2000)"},{"key":"549_CR53","doi-asserted-by":"crossref","unstructured":"Suny\u00e9, G., Pollet, D., Traon, Y.L., J\u00e9z\u00e9quel, J.: Refactoring UML models. In: Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, pp. 134\u2013148. Springer-Verlag, London (2001)","DOI":"10.1007\/3-540-45441-1_11"},{"key":"549_CR54","doi-asserted-by":"crossref","unstructured":"Taba, S.E.S., Khomh, F., Zou, Y., Hassan, A.E., Nagappan, M.: Predicting bugs using antipatterns. In: Proceedings of the 2013 IEEE International Conference on Software Maintenance (ICSM \u201913), IEEE Computer Society, pp. 270\u2013279. Washington (2013)","DOI":"10.1109\/ICSM.2013.38"},{"key":"549_CR55","doi-asserted-by":"crossref","unstructured":"Trubiani, C., Koziolek, A.: Detection and solution of software performance antipatterns in Palladio architectural models. In: ACM (ICPE \u201911), pp. 19\u201330 (2011)","DOI":"10.1145\/1958746.1958755"},{"key":"549_CR56","doi-asserted-by":"crossref","unstructured":"Tsantalis, N., Chaikalis, T., Chatzigeorgiou, A.: Jdeodorant: Identification and removal of type-checking bad smells. In: Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering, CSMR \u201908, IEEE Computer Society, pp. 329\u2013331. Washington (2008)","DOI":"10.1109\/CSMR.2008.4493342"},{"key":"549_CR57","unstructured":"WEBster.: Software development guidelines. http:\/\/www.literateprogramming.com\/sdg.pdf . Accessed 20 Jan 2016"},{"key":"549_CR58","unstructured":"Wong, S., Vassiliadis, S., Vassiliadis, S., Cotofana, S.: Embedded processors: Characteristics and trends. Technical report. In: Proceedings of the 2001 ASCI Conference (2004)"},{"issue":"2","key":"549_CR59","doi-asserted-by":"crossref","first-page":"28","DOI":"10.1145\/953353.953355","volume":"8","author":"W Wulf","year":"1973","unstructured":"Wulf, W., Shaw, M.: Global variable considered harmful. SIGPLAN Not. 8(2), 28\u201334 (1973)","journal-title":"SIGPLAN Not."},{"key":"549_CR60","doi-asserted-by":"crossref","unstructured":"Xi, H.: Dead code elimination through dependent types. In: Proceedings of the First International Workshop on Practical Aspects of Declarative Languages, PADL \u201999, pp. 228\u2013242. Springer-Verlag, London (1998)","DOI":"10.1007\/3-540-49201-1_16"}],"container-title":["Software &amp; Systems Modeling"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10270-016-0549-6\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-016-0549-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-016-0549-6","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-016-0549-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,9,11]],"date-time":"2019-09-11T12:58:51Z","timestamp":1568206731000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10270-016-0549-6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,7,23]]},"references-count":60,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2018,7]]}},"alternative-id":["549"],"URL":"https:\/\/doi.org\/10.1007\/s10270-016-0549-6","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"value":"1619-1366","type":"print"},{"value":"1619-1374","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,7,23]]}}}