<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Automated Size Measurement of Embedded System based on XML using COSMIC FSM</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Thandar</forename><surname>Zaw</surname></persName>
							<email>thandarzaw@uit.edu.mm</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Information Technology</orgName>
								<address>
									<country key="MM">Myanmar</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Zin</forename><surname>Swe</surname></persName>
							<email>swezin@uit.edu.mm</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Information Technology</orgName>
								<address>
									<country key="MM">Myanmar</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><roleName>Myint</roleName><forename type="first">Myint</forename><surname>Hlaing</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Information Technology</orgName>
								<address>
									<country key="MM">Myanmar</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Koichiro</forename><surname>Lwin</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Information Technology</orgName>
								<address>
									<country key="MM">Myanmar</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><surname>Ochimizu</surname></persName>
							<email>ochimizu@jaist.ac.jp</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Information Technology</orgName>
								<address>
									<country key="MM">Myanmar</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Automated Size Measurement of Embedded System based on XML using COSMIC FSM</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">BCA787BE294AE4DB2FBC4BD2904873F3</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T16:18+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Common Software Measurement International Consortium (COSMIC FSM)</term>
					<term>Sequence diagram</term>
					<term>UML</term>
					<term>SysML</term>
					<term>Petri net</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Nowadays, function size is an important role for measuring software before the development phase in software development life cycle. Industries need well-defined different notations and measurement method. Thus, COSMIC FSM is one of the International Standards of FSM for measuring the size of embedded software. Manual measurement is time consuming and complicated to measure the size of large system. This paper proposes the automated measurement tool that accepts the XML documents from three different notations such as the UML, SysML and Petri net. Then, the XML documents of these diagrams have been translated to COSMIC FSM by using mapping rules with the case study of cooker system. This paper shows the result of software size by using the prototype tool that is the same with the result of manual measurement.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Software size estimation is an important input for estimating the effort required to develop the measured software. Software sizing is the prediction of the software size to build the system. Several size measurement methods have been proposed to measure the size of software. The most popular size estimation methods are source line of code (SLOC) and functional size measurement (FSM). Size-related measure is based on some output from the software process and it is language dependence. And function-related measure such as functional measurement (FSM) is based on an estimate of the functionality of the delivered software. Function size measurement methods are technology independent and can be estimated early in analysis and design. Functional Size Measurement (FSM) is a great method in industrial development as it supports the input to estimate the effort. Software functional size measurement methods that have been recognized as various ISO FSM: IFPUG FPA, MKII, NESMA, FISMA, and COSMIC FSM <ref type="bibr" target="#b0">[1]</ref>. The other traditional methods are applied only in business software but they are hardly applied in real-time software and embedded software. But COSMIC can be applied in both software.</p><p>Many researchers proposed the software estimation methods which are not applicable for various modeling notations. To address this limitation, this paper proposed the automated software size measurement tool for different modeling notations to estimate the functional size of software. These notations have been translated to COSMIC by using mapping rules with a simple case study of cooker system. This paper is organized as follows: the second section provides related work; the third section presents the proposed system; the fourth section explains the evaluation and final section is conclusion and future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Related Work</head><p>In <ref type="bibr" target="#b1">[2]</ref>, Symons, C. described the COSMIC concepts that can be applied in any realtime software requirements to measure the functional size of real-time software to understand clearly for any software engineer with alarm example. In <ref type="bibr" target="#b2">[3]</ref>, Soubra, H., et al. proposed the design of the FSM procedure based on the documentation of the mapping of the Simulink concepts to COSMIC concepts for the embedded real-time software system. In <ref type="bibr" target="#b4">[5]</ref>, Luigi Lavazza., et al proposed the UML that can be used to build models according to the COSMIC measurement rules. Asma Sellami et al. <ref type="bibr" target="#b5">[6]</ref> proposed the measurement method for sizing of sequence diagram that can be measured both the functional and structural size at different level of granularity. In <ref type="bibr" target="#b3">[4]</ref>, the author proposed the automated functional and structural measurement of software size from XML structure of sequence diagram to calculate COSMIC CFP. This paper proposed the automated FSM tool which is based on the XML documents from different design model notations. Then, the mapping rules are defined between these notations and COSMIC. It is expected that the result of the functional size of software can be provided by many industries to increase effort and productivity.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Proposed System</head><p>This section describes the proposed method to calculate the functional size of software by using the XML structure of three different notations. The proposed system of three phases is shown in Fig 1 <ref type="figure">.</ref> In measurement strategy, the proposed system is analyzed XML document from the popular notations such as UML and SysML sequence diagram and Petri net. In mapping phase, after analyzing the design models with COSMIC concepts, the design models have been translated into COSMIC by using the mapping rules. In measurement phase, the actual size of software is calculated by using COSMIC method. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">UML Use Case Model of Cooker System as Functional User Requirements</head><p>This paper discusses the specification of a simple version of the cooker system which is used as a case study to determine the counting of COSMIC <ref type="bibr" target="#b5">[6]</ref>. Before developing the UML, SysML and Petri net representation, the specification of the cooker system must be defined. The functional user requirements of this system are as follows:</p><p>1. The cooker software can get the input from a door sensor and start button. Then, it can show the light and heater on/off when the power is switched on.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">COSMIC FSM in UML , SysML Sequence Diagram and Petri net</head><p>The measurement process of cooker system mainly comes from the basic functional requirements. In this system, there are two functional processes of UML and SysML sequence diagrams for cooker system as shown in Fig. <ref type="figure">3 and 4</ref>. In Fig. <ref type="figure">3</ref>, the cooker checks that the door is open or closed. When the door is closed, it sends the signals to heater, light and timer for one minute of cooking. The XML structure of UML and SysML sequence diagram is extracted from Papyrus and several related tags to message notation is identified and analyzed to calculate CFP. SysML borrowed from UML are reused without modification. So, the concepts and features of SysML are the same as UML. The &lt;message&gt; tag is an important to calculate the data movements based on COSMIC method. There are several types of message. In the XML structure, "Cooker Software" is defined as the boundary. If "messageSort" attribute in &lt;message&gt; tag is "asynchCall", it will identify Entry and Exit data movements. If it is synchronous call and move the data between the Cooker Software and other object, it will identify Read and Write data movements. Entry data movement is defined by extracting the value in "coveredBy" attribute in&lt; lifeline&gt; tag that is matched from value in "receiveEvent" attribute in &lt;message&gt; tag and value in "xmi:id" attribute in fragment tag. Exit data movement is also defined by extracting the value in "cov-eredBy" attribute in &lt;lifeline&gt; tag that is matched from value in "sendEvent" attribute in &lt;message&gt; tag and value in "xmi:id" attribute in &lt;fragment&gt; tag.  According to COSMIC measurement, each of the data movement in each functional process is added to get the functional size of that process. Rule 7: Aggregate the functional size measurements. Aggregate all of the data movements of the functional processes of the whole system into a single functional size value to obtain the functional size of the system.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">Measurement Phase</head><p>After defining the mapping rules, the data movements of each functional process have been identified as shown in Fig. <ref type="figure">3</ref> to 6. According to COSMIC standard, 1CFP is defined as the size of one data movement. In the functional process of Cook End, it has 1 Entry data movement that calculated the Stop attribute from timer. It also identified 2 Exit data movements which also counted the HeaterOff attribute to Heater, the LightOff attribute to Light respectively. The subtotal of functional size for that functional process is 3CFP. The total size from each function is 8CFP by adding all number of data movements. The data movement of each sequence diagram in this system is as shown in Table <ref type="table" target="#tab_0">1</ref>. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.5">Automated Measurement for UML, SysML and Petri net</head><p>The prototype tool for the automatic measurement of the functions is developed as an example in Java. The measurement result of the cooker system is shown in Fig7.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Evaluation</head><p>The automated function size measurement for cooker system is successfully implemented in the three different notations. The manual measurement of FSM is time consumption because different measurers need to measure the manual count of </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusion and Future Work</head><p>Software function size can be measured throughout the design phase in the software development process. Like the other FSM methods, COSMIC FSM is the estimation method for measuring the size of embedded software. In this paper, the proposed tool applied the mapping rules between the XML structure from three different notations and COSMIC FSM to estimate the functional size of software. The automated tool contains the COSMIC rules for a simple case study of cooker system and helps to estimate the effort in the early stages of development. It has been intended to propose the large case studies by extending the COSMIC rules.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Proposed System based on different design notations</figDesc><graphic coords="3,136.80,147.35,321.60,83.75" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>2 .</head><label>2</label><figDesc>When the start button is pressed and the door is closed, the cooking starts. If the door is open, the start button has no effect. 3. Either the door is open while the cooking is in progress or when cooking is completed, the timer signals will stop. The use case diagram is illustrated for the common process of the cooker system as shown in Fig. 2. This system consists of two main functionalities: Start Cooking and End Cooking. The functional users of the input side of the cooker system are DoorSensor, Start Button and the output sides of the functional users are Light and Heater. Timer is on both sides of functional user.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Use case diagram of Cooker System</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 3 . 4 .</head><label>34</label><figDesc>Fig. 3. Start Cooking of UML and SysML Fig. 4. End Cooking of UML and SysML The XML structure of Petri net is extracted from HiPS. Places are drawn as ellipses and held multi-sets (bags) of tokens. A place models a local state given by its tokens. Transitions model behaviors are drawn as boxes. A transition is connected to input places and output places by arcs. Each data movement corresponds to the transition. The &lt;transition&gt; is a key to define the data movements. The Petri net diagrams of cooker system are shown in Fig.5 and Fig.6.</figDesc><graphic coords="4,124.70,291.35,176.40,72.75" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 5 . 6 . 1 : 2 : 3 : 4 : 5 : 5 . 1 :Rule 5 . 2 : 5 . 3 : 6 :</head><label>56123455152536</label><figDesc>Fig.5. Start Cooking in Petri net Fig. 6. End Cooking in Petri net</figDesc><graphic coords="4,132.25,463.90,156.45,59.65" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Fig. 7 .</head><label>7</label><figDesc>Fig. 7. Automated Functional Size measurement results of Cooker System</figDesc><graphic coords="6,158.75,147.35,277.70,81.35" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1 .</head><label>1</label><figDesc>Measurement of data movements for cooker system</figDesc><table><row><cell cols="2">Process Message</cell><cell>Functional User</cell><cell>Data Movement</cell><cell>CFP</cell></row><row><cell>Start</cell><cell>PressSignal()</cell><cell>Start button</cell><cell>Entry</cell><cell>5 CFP</cell></row><row><cell>Cooking</cell><cell cols="2">Getdoor-status(Close) Door Sensor</cell><cell>Entry</cell><cell></cell></row><row><cell></cell><cell>HeatOn()</cell><cell>Heater</cell><cell>Exit</cell><cell></cell></row><row><cell></cell><cell>LightOn()</cell><cell>Light</cell><cell>Exit</cell><cell></cell></row><row><cell></cell><cell>StartCooking()</cell><cell>Timer</cell><cell>Exit</cell><cell></cell></row><row><cell>End</cell><cell>Stop()</cell><cell>Timer</cell><cell>Entry</cell><cell>3</cell></row><row><cell>Cooking</cell><cell>HeatOff()</cell><cell>Heater</cell><cell>Exit</cell><cell>CFP</cell></row><row><cell></cell><cell>LightOff()</cell><cell>Light</cell><cell>Exit</cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell cols="2">Total Size 8 CFP</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">IWSM/Mensura'18, September 18-20, 2018, Beijing, China</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<idno>ISO 19761</idno>
		<title level="m">Software Engineering -COSMIC : A Functional Size Measurement Method</title>
				<meeting><address><addrLine>ISO; Geneva</addrLine></address></meeting>
		<imprint>
			<publisher>International Organization for Standardization</publisher>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Sizing and Estimating for Real-time Software -the COSMIC-FFP method</title>
		<author>
			<persName><forename type="first">C</forename><surname>Symons</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Data &amp; Analysis Center for Software</title>
				<meeting><address><addrLine>USA DOD; Rome NY</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="page" from="5" to="11" />
		</imprint>
	</monogr>
	<note>DOD Software Tech News</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Design of a Functional Size Measurement Procedure for Real-Time Embedded Software Requirements Expressed using the Simulink Model</title>
		<author>
			<persName><forename type="first">H</forename><surname>Soubra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Abran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Stern</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ramdan-Cherif</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2011">2011</date>
			<publisher>IWSM-MENSURA</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Automating Functional and Structural Software Size Measurement based on XML Structure of UML Sequence Diagram</title>
	</analytic>
	<monogr>
		<title level="j">IEEE International Conference on Cybernetics and Computational Intelligence</title>
		<imprint>
			<biblScope unit="page" from="20" to="22" />
			<date type="published" when="2017-11">2017. Nov. 2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">A Case Study in COSMIC Functional Size Measurement: the Rice Cooker Revisited</title>
		<author>
			<persName><forename type="first">Luigi</forename><surname>Lavazza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Vieri</forename><surname>Del</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bianco</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IWSM/Mensura</title>
				<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">A measurement method for sizing the structure of UML sequence diagrams</title>
		<author>
			<persName><forename type="first">A</forename><surname>Sellami</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information and Software Technology</title>
		<imprint>
			<biblScope unit="volume">59</biblScope>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
