{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,6,16]],"date-time":"2024-06-16T08:40:15Z","timestamp":1718527215999},"reference-count":12,"publisher":"MDPI AG","issue":"1","license":[{"start":{"date-parts":[[2019,3,2]],"date-time":"2019-03-02T00:00:00Z","timestamp":1551484800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Computers"],"abstract":"One of the most widely used models for specifying functional requirements is a use case model. The viewpoint of the use case model that views a system as a black box focuses on descriptions of external interactions between the system and related environments. However, for embedded systems that do not disclose most implementation logics outside the system, black box-based use case models may experience the drawback that considerable information that must be defined for system developments is omitted. To solve this shortcoming, several studies have been proposed on the use of kind of white box technique in which the dynamic behaviors of embedded systems are defined first using a state diagram and the results are reflected in the requirement specifications. However, white box-based modeling has not been widely adopted by developers due to tasks that require a lot of time in the requirement analysis phase in the initial phase of the software development life cycle. This study proposes a gray box-based requirement specification method as a trade-off between two contradictory elements (the amount of information required to develop an embedded system and the cost of the effort required during the requirement analysis phase) in terms of the two approaches, the black and the white box-based models. The proposed method suggests that an appropriate depth level of embedded system modeling is required to define the requirements. This study also proposes a mechanism that automatically generates an application programming interface for each component based on the created model. The proposed method was applied to the development of a camera sensor controller in a mobile phone, and the case results proved the feasibility of the method through discussion of the application results.<\/jats:p>","DOI":"10.3390\/computers8010020","type":"journal-article","created":{"date-parts":[[2019,3,4]],"date-time":"2019-03-04T10:22:26Z","timestamp":1551694946000},"page":"20","source":"Crossref","is-referenced-by-count":1,"title":["Software Requirement Specification Based on a Gray Box for Embedded Systems: A Case Study of a Mobile Phone Camera Sensor Controller"],"prefix":"10.3390","volume":"8","author":[{"ORCID":"http:\/\/orcid.org\/0000-0002-5935-9523","authenticated-orcid":false,"given":"Soojin","family":"Park","sequence":"first","affiliation":[{"name":"Graduate School of Management of Technology, Sogang University, Seoul 04107, Korea"}]}],"member":"1968","published-online":{"date-parts":[[2019,3,2]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"18","DOI":"10.1109\/2.868693","article-title":"What\u2019s ahead for embedded software?","volume":"33","author":"Lee","year":"2000","journal-title":"Computer"},{"key":"ref_2","unstructured":"Booch, G., Rumbaugh, J., and Jacobson, I. (2005). The Unified Modeling Language User Guide, Addison-Wesley Professional. [2nd ed.]."},{"key":"ref_3","unstructured":"(2019, January 15). What\u2019s Wrong with Use Cases?. Available online: https:\/\/pythonconquerstheuniverse.wordpress.com\/2009\/10\/17\/whats-wrong-with-use-cases\/."},{"key":"ref_4","unstructured":"Douglass, B.P. (1999). Real-Time UML: Developing Efficient Objects for Embedded Systems, Pearson Education."},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Gomaa, H. (2006, January 20\u201328). Designing concurrent, distributed, and real-time applications with UML. Proceedings of the 28th international conference on Software engineering(ICSE \u201906), Shanghai, China.","DOI":"10.1145\/1134285.1134504"},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"684","DOI":"10.1109\/32.317428","article-title":"Requirements Specification for Process-Control Systems","volume":"20","author":"Leveson","year":"1994","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_7","unstructured":"Lattemann, F., and Lehmann, E. (1997, January 12\u201314). A methodological approach to the requirement specification of embedded systems. Proceedings of the 1st IEEE International Conference on Formal Engineering, Hiroshima, Japan."},{"key":"ref_8","unstructured":"Lavi, J.Z., and Kudish, J. (2004, January 27). Systems modeling & requirements specification using ECSAM: A method for embedded computer-based systems analysis. Proceedings of the 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2004), Brno, Czech Republic."},{"key":"ref_9","unstructured":"Glinz, M. (2002, January 19\u201325). Statecharts For Requirements Specification\u2014As Simple As Possible, As Rich As Needed. Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), Workshop: Scenarios & State machines, Orlando, FL, USA."},{"key":"ref_10","unstructured":"Broy, M., and Stauner, T. Requirements engineering for embedded systems. Proceedings of the FemSys\u201997, Available online: http:\/\/citeseerx.ist.psu.edu\/viewdoc\/summary?doi=10.1.1.10.5614&rank=1."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Humphrey, W.S. (1997). Introduction to the Personal Software Process, Addison Wesley.","DOI":"10.1109\/FIE.1997.644799"},{"key":"ref_12","first-page":"175","article-title":"Bridge between Black Box and White Box\u2014Gray Box Testing Technique","volume":"2","author":"Acharya","year":"2013","journal-title":"Int. J. Electron. Comput. Sci. Eng."}],"container-title":["Computers"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-431X\/8\/1\/20\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,6,16]],"date-time":"2024-06-16T08:05:02Z","timestamp":1718525102000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-431X\/8\/1\/20"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,3,2]]},"references-count":12,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2019,3]]}},"alternative-id":["computers8010020"],"URL":"https:\/\/doi.org\/10.3390\/computers8010020","relation":{},"ISSN":["2073-431X"],"issn-type":[{"value":"2073-431X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,3,2]]}}}