{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,24]],"date-time":"2026-01-24T18:35:07Z","timestamp":1769279707759,"version":"3.49.0"},"reference-count":62,"publisher":"MDPI AG","issue":"3","license":[{"start":{"date-parts":[[2023,8,12]],"date-time":"2023-08-12T00:00:00Z","timestamp":1691798400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Software"],"abstract":"<jats:p>Embedded systems have attracted more attention and have become more critical due to the recent computer technology advancements and applications in various areas, such as healthcare, transportation, and manufacturing. Traditional software design approaches and the finite state machine cannot provide sufficient support due to two major reasons: the increasing need for more functions in designing an embedded system and sequential controls in the implementation. This deficiency particularly discourages inexperienced engineers who use conventional methods to design embedded software. Hence, we proposed a design method, the Synthesis-Based Stateful Software Design Approach (SSSDA), which synthesizes two existing methods, the Synthesis-Based Software Design Framework (SSDF) and Process and Artifact State Transition Abstraction (PASTA), to remedy the drawback of conventional methods. To show how to conduct our proposed design approach and investigate how it supports embedded system design, we studied an industrial project developed by a sophomore student team. Our results showed that our proposed approach could significantly help students lay out modules, improve testability, and reduce defects.<\/jats:p>","DOI":"10.3390\/software2030016","type":"journal-article","created":{"date-parts":[[2023,8,14]],"date-time":"2023-08-14T12:35:25Z","timestamp":1692016525000},"page":"332-349","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["A Synthesis-Based Stateful Approach for Guiding Design Thinking in Embedded System Development"],"prefix":"10.3390","volume":"2","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2913-4419","authenticated-orcid":false,"given":"Hung-Fu","family":"Chang","sequence":"first","affiliation":[{"name":"R. B. Annis School of Engineering, University of Indianapolis, Indianapolis, IN 46227, USA"}]},{"given":"Supannika Koolmanojwong","family":"Mobasser","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Southern California, Los Angeles, CA 90007, USA"}]}],"member":"1968","published-online":{"date-parts":[[2023,8,12]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Marwedel, P. (2021). Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things, Springer Nature.","DOI":"10.1007\/978-3-030-60910-8"},{"key":"ref_2","unstructured":"Lavagno, L., Sangiovanni-Vincentelli, A., and Sentovich, E.M. (2000). Architecture Design and Validation Methods, Springer."},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"69","DOI":"10.1007\/BF00134684","article-title":"A co-synthesis approach to embedded system design automation","volume":"1","author":"Gup","year":"1996","journal-title":"Des. Autom. Embed. Syst."},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Wang, S., and Shin, K.G. (2000, January 17\u201319). An architecture for embedded software integration using reusable components. Proceedings of the 2000 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, San Jose, CA, USA.","DOI":"10.1145\/354880.354896"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"276","DOI":"10.1109\/JSEE.2012.00035","article-title":"Real-time embedded software testing method based on extended finite state machine","volume":"23","author":"Yin","year":"2012","journal-title":"J. Syst. Eng. Electron."},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Mondragon-Torres, A.F., and Christman, J.W. (2013, January 2\u20133). A comprehensive embedded systems design course and laboratory. Proceedings of the 2013 IEEE International Conference on Microelectronic Systems Education (MSE), Austin, TX, USA.","DOI":"10.1109\/MSE.2013.6566704"},{"key":"ref_7","unstructured":"Jacobson, I. (1993). Object-Oriented Software Engineering: A Use Case Driven Approach, Pearson Education India."},{"key":"ref_8","unstructured":"Booch, G., Maksimchuk, R.A., Engel, M.W., Young, B.J., Conallen, J., and Houston, K. (2007). Object-Oriented Analysis and Design with Applications, Addison-Wesley. [3rd ed.]."},{"key":"ref_9","unstructured":"DeMarco, T. (1978). Structured Analysis and Systems Specification, Prentice Hall."},{"key":"ref_10","unstructured":"Gane, C., and Sarson, T. (1979). Structured Systems Analysis: Tools and Techniques, Prentice Hall."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"6","DOI":"10.1109\/TSE.1977.229899","article-title":"Structured analysis for requirements definition","volume":"SE-3","author":"Ross","year":"1977","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_12","unstructured":"Yourdon, E. (1988). Modern Structured Analysis, Prentice Hall."},{"key":"ref_13","unstructured":"Wagner, F., and Wolstenholme, P. (2003, January 7\u201310). Modeling and building reliable, re-useable software. Proceedings of the 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, Huntsville, AL, USA."},{"key":"ref_14","unstructured":"Wehrmeister, M.A., Becker, L.B., Wagner, F.R., and Pereira, C.E. (2005, January 18\u201320). An object-oriented platform-based design process for embedded real-time systems. Proceedings of the Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC\u201905), Seattle, WA, USA."},{"key":"ref_15","unstructured":"Lindberg, T., Meinel, C., and Wagner, R. (2011). Design Thinking: Understand\u2013Improve\u2013Apply, Springer."},{"key":"ref_16","unstructured":"Walker, B., Uebernickel, F., and Abrell, T. (2016). Design Thinking for Innovation: Research and Practice, Springer."},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Dobrigkeit, F., and De Paula, D. (2019, January 26\u201330). Design thinking in practice: Understanding manifestations of design thinking in software engineering. Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Tallinn, Estonia.","DOI":"10.1145\/3338906.3340451"},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"111217","DOI":"10.1016\/j.jss.2022.111217","article-title":"How has design thinking being used and integrated into software development activities? A systematic mapping","volume":"187","author":"Parizi","year":"2022","journal-title":"J. Syst. Softw."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"775","DOI":"10.1016\/j.procs.2018.10.101","article-title":"Design thinking integrated in agile software development: A systematic literature review","volume":"138","author":"Pereira","year":"2018","journal-title":"Procedia Comput. Sci."},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Alhazmi, A., and Huang, S. (2020, January 22\u201324). Integrating design thinking into scrum framework in the context of requirements engineering management. Proceedings of the 3rd International Conference on Computer Science and Software Engineering, Beijing, China.","DOI":"10.1145\/3403746.3403902"},{"key":"ref_21","unstructured":"Dobrigkeit, F., Matthies, C., Teusner, R., and Perscheid, M. (2021). Design Thinking Research: Translation, Prototyping, and Measurement, Springer."},{"key":"ref_22","unstructured":"Luedeke, T.F., K\u00f6hler, C., Conrad, J., Grashiller, M., Sailer, A., and Vielhaber, M. (2018, January 14\u201317). CPM\/PDD in the context of design thinking and agile development of cyber-physical systems. Proceedings of the DS 91: NordDesign 2018, Link\u00f6ping, Sweden."},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Levy, M., and Huli, C. (2019, January 23\u201327). Design thinking in a nutshell for eliciting requirements of a business process: A case study of a design thinking workshop. Proceedings of the 2019 IEEE 27th International Requirements Engineering Conference (RE), Jeju, Republic of Korea.","DOI":"10.1109\/RE.2019.00044"},{"key":"ref_24","unstructured":"Chang, H.-F. (2013). A Synthesis-Based to Manage Complexity in Software Systems Design. [Ph.D. Dissertation, University of Southern California]."},{"key":"ref_25","unstructured":"Weiss, D., and Lai, C.T.R. (1999). Software Product Line Engineering, Addison Wesley."},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"221","DOI":"10.1145\/362575.362577","article-title":"Program development by stepwise refinement","volume":"14","author":"Wirth","year":"1971","journal-title":"Commun. ACM"},{"key":"ref_27","doi-asserted-by":"crossref","unstructured":"Jackson, M. Jackson development methods. Encycl. Softw. Eng., 2002.","DOI":"10.1002\/0471028959.sof173"},{"key":"ref_28","first-page":"61","article-title":"The origins of JSP and JSD: A personal recollection","volume":"22","author":"Jackson","year":"2000","journal-title":"IEEE Ann. Softw. Eng."},{"key":"ref_29","unstructured":"Shlaer, S., and Mellor, S.J. (1991). Object Lifecycles: Modeling the World in States, Prentice Hall."},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"71","DOI":"10.1145\/74878.74885","article-title":"Object-oriented design: A responsibility-driven approach","volume":"24","author":"Wilkerson","year":"1989","journal-title":"ACM SIGPLAN Not."},{"key":"ref_31","unstructured":"Pohthong, A., and Budgen, D. (2000, January 5\u20138). Accessing software component documentation during design: An observational study. Proceedings of the Seventh Asia-Pacific Software Engeering Conference, APSEC 2000, Singapore."},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"561","DOI":"10.1016\/S0950-5849(01)00166-5","article-title":"Reuse strategies in software development: An empirical study","volume":"43","author":"Pohthong","year":"2001","journal-title":"Inf. Softw. Technol."},{"key":"ref_33","first-page":"84","article-title":"Design thinking","volume":"86","author":"Brown","year":"2008","journal-title":"Harv. Bus. Rev."},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Ferreira Martins, H., Carvalho de Oliveira Junior, A., Dias Canedo, E., Dias Kosloski, R.A., \u00c1vila Pald\u00eas, R., and Costa Oliveira, E. (2019). Design thinking: Challenges for software requirements elicitation. Information, 10.","DOI":"10.3390\/info10120371"},{"key":"ref_35","doi-asserted-by":"crossref","first-page":"41","DOI":"10.1109\/MS.2019.2958012","article-title":"Three phases of transforming a project-based IT company into a lean and design-led digital service provider","volume":"37","author":"Kuula","year":"2019","journal-title":"IEEE Softw."},{"key":"ref_36","doi-asserted-by":"crossref","first-page":"109","DOI":"10.5585\/gep.v8i2.528","article-title":"Agile design: A combined model based on design thinking and agile methodologies for digital games projects","volume":"8","author":"Higuchi","year":"2017","journal-title":"Rev. Gest\u00e3o Proj."},{"key":"ref_37","unstructured":"Lucena, P., Braz, A., Chicoria, A., and Tizzei, L. (2016, January 7\u20139). IBM design thinking software development framework. Proceedings of the Agile Methods: 7th Brazilian Workshop, WBMA 2016, Curitiba, Brazil. Revised Selected Papers 7."},{"key":"ref_38","doi-asserted-by":"crossref","unstructured":"Ara\u00fajo, R., dos Anjos, E.G., and Silva, D.R. (2015, January 22\u201325). Trends in the Use of Design Thinking for Embedded Systems. Proceedings of the ICCSA (Short Papers\/Poster Papers\/PhD Student Showcase Works), Banff, AB, Canada.","DOI":"10.1109\/ICCSA.2015.25"},{"key":"ref_39","doi-asserted-by":"crossref","unstructured":"Angelov, C., Sierszecki, K., and Marian, N. (2005, January 6\u20139). Design models for reusable and reconfigurable state machines. Proceedings of the International Conference on Embedded and Ubiquitous Computing, Nagasaki, Japan.","DOI":"10.1007\/11596356_18"},{"key":"ref_40","unstructured":"Douglass, B.P. (2000). Real-Time UML: Developing Efficient Objects for Embedded Systems, Addison-Wesley."},{"key":"ref_41","doi-asserted-by":"crossref","first-page":"107","DOI":"10.1016\/0020-0255(96)00063-1","article-title":"A visualization model for concurrent systems","volume":"93","author":"Astley","year":"1996","journal-title":"Inf. Sci."},{"key":"ref_42","unstructured":"Ren, S.S., and Agha, G.A. (1996, January 25\u201329). A modular approach for programming embedded systems. Proceedings of the School organized by the European Educational Forum, Veldhoven, The Netherlands."},{"key":"ref_43","doi-asserted-by":"crossref","unstructured":"Orozco, O.J.L., and Lastra, J.L. (2006, January 20\u201322). Adding function blocks of IEC 61499 semantic description to automation objects. Proceedings of the 2006 IEEE Conference on Emerging Technologies and Factory Automation, Prague, Czech Republic.","DOI":"10.1109\/ETFA.2006.355455"},{"key":"ref_44","unstructured":"Zoitl, A., Strasser, T., Hall, K., Staron, R., S\u00fcnder, C., and Favre-Bulle, B. (2007, January 3\u20135). The past, present, and future of IEC 61499. Proceedings of the Holonic and Multi-Agent Systems for Manufacturing: Third International Conference on Industrial Applications of Holonic and Multi-Agent Systems, HoloMAS 2007, Regensburg, Germany."},{"key":"ref_45","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1109\/5.811598","article-title":"Embedded systems education for the future","volume":"88","author":"Wolf","year":"2000","journal-title":"Proc. IEEE"},{"key":"ref_46","doi-asserted-by":"crossref","first-page":"83","DOI":"10.1109\/TE.2003.817618","article-title":"Cooperative and progressive design experience for embedded systems","volume":"47","author":"Bruce","year":"2004","journal-title":"IEEE Trans. Educ."},{"key":"ref_47","doi-asserted-by":"crossref","first-page":"180","DOI":"10.1109\/TE.2011.2159795","article-title":"FPGA-based laboratory assignments for NoC-based manycore systems","volume":"55","author":"Ttofis","year":"2011","journal-title":"IEEE Trans. Educ."},{"key":"ref_48","doi-asserted-by":"crossref","first-page":"306","DOI":"10.1109\/TE.2007.910434","article-title":"A senior-level course in hardware\u2013software codesign","volume":"51","author":"Schaumont","year":"2008","journal-title":"IEEE Trans. Educ."},{"key":"ref_49","doi-asserted-by":"crossref","first-page":"502","DOI":"10.1109\/TE.2004.825926","article-title":"System-on-a-programmable-chip development platforms in the classroom","volume":"47","author":"Hall","year":"2004","journal-title":"IEEE Trans. Educ."},{"key":"ref_50","doi-asserted-by":"crossref","first-page":"279","DOI":"10.1109\/TE.2004.842911","article-title":"An undergraduate system-on-chip (SoC) course for computer engineering students","volume":"48","author":"Bindal","year":"2005","journal-title":"IEEE Trans. Educ."},{"key":"ref_51","doi-asserted-by":"crossref","first-page":"11","DOI":"10.1145\/1217809.1217812","article-title":"Bringing embedded software closer to computer science students","volume":"4","author":"Muppala","year":"2007","journal-title":"ACM SIGBED Rev."},{"key":"ref_52","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/1121812.1121814","article-title":"Embedded systems education: Future directions, initiatives, and cooperation","volume":"2","author":"Jackson","year":"2005","journal-title":"ACM SIGBED Rev."},{"key":"ref_53","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/1534480.1534489","article-title":"Multi-processor programming in the embedded system curriculum","volume":"6","author":"Hansson","year":"2009","journal-title":"ACM SIGBED Rev."},{"key":"ref_54","doi-asserted-by":"crossref","first-page":"500","DOI":"10.1145\/1086519.1086522","article-title":"Undergraduate embedded system education at Carnegie Mellon","volume":"4","author":"Koopman","year":"2005","journal-title":"ACM Trans. Embed. Comput. Syst."},{"key":"ref_55","doi-asserted-by":"crossref","unstructured":"Roggow, D., Uhing, P., Jones, P.H., and Zambreno, J. (2015, January 20\u201321). A project-based embedded systems design course using a reconfigurable SoC platform. Proceedings of the 2015 IEEE International Conference on Microelectronics Systems Education (MSE), Pittsburgh, PA, USA.","DOI":"10.1109\/MSE.2015.7160005"},{"key":"ref_56","doi-asserted-by":"crossref","first-page":"5","DOI":"10.1145\/1121812.1121815","article-title":"Embedded system education: A new paradigm for engineering schools?","volume":"2","author":"Pinto","year":"2005","journal-title":"ACM SIGBED Rev."},{"key":"ref_57","doi-asserted-by":"crossref","unstructured":"Kumar, A., Fernando, S., and Manoharan, M. (2011, January 13). Bringing soccer to the field of real-time embedded systems education. Proceedings of the 6th Workshop on Embedded Systems Education, Taipei, Taiwan.","DOI":"10.1145\/2077370.2077377"},{"key":"ref_58","doi-asserted-by":"crossref","first-page":"42","DOI":"10.1109\/52.469759","article-title":"Architectural Blueprints\u2014The 4 + 1 View Model of Software Architecture","volume":"12","author":"Kruchten","year":"1995","journal-title":"IEEE Softw."},{"key":"ref_59","doi-asserted-by":"crossref","first-page":"979","DOI":"10.1016\/j.infsof.2005.09.003","article-title":"A measurement framework for object-oriented software testability","volume":"47","author":"Mouchawrab","year":"2005","journal-title":"Inf. Softw. Technol."},{"key":"ref_60","unstructured":"Jungmayr, S. (2004). Improving Testability of Object Oriented Systems. [Ph.D. Dissertation, University of Hagen]."},{"key":"ref_61","first-page":"166","article-title":"Quality models in software engineering literature: An analytical and comparative study","volume":"6","year":"2010","journal-title":"J. Am. Sci."},{"key":"ref_62","unstructured":"Boehm, B.W., Brown, J.R., and Lipow, M. (1976, January 13\u201315). Quantitative evaluation of software quality. Proceedings of the 2nd International Conference on Software Engineering, San Francisco, CA, USA."}],"container-title":["Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2674-113X\/2\/3\/16\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T20:32:19Z","timestamp":1760128339000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2674-113X\/2\/3\/16"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,8,12]]},"references-count":62,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2023,9]]}},"alternative-id":["software2030016"],"URL":"https:\/\/doi.org\/10.3390\/software2030016","relation":{},"ISSN":["2674-113X"],"issn-type":[{"value":"2674-113X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,8,12]]}}}