<?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">Measuring the Functional Size of Conceptual Models in an MDA Environment 1</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Beatriz</forename><surname>Marín</surname></persName>
							<email>bmarin@dsic.upv.es</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Information Systems and Computation</orgName>
								<orgName type="institution">Technical University of Valencia</orgName>
								<address>
									<addrLine>Camino de Vera s/n</addrLine>
									<postCode>46022</postCode>
									<settlement>Valencia</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Nelly</forename><surname>Condori-Fernández</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Information Systems and Computation</orgName>
								<orgName type="institution">Technical University of Valencia</orgName>
								<address>
									<addrLine>Camino de Vera s/n</addrLine>
									<postCode>46022</postCode>
									<settlement>Valencia</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Oscar</forename><surname>Pastor</surname></persName>
							<email>opastor@dsic.upv.es</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Information Systems and Computation</orgName>
								<orgName type="institution">Technical University of Valencia</orgName>
								<address>
									<addrLine>Camino de Vera s/n</addrLine>
									<postCode>46022</postCode>
									<settlement>Valencia</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Alain</forename><surname>Abran</surname></persName>
							<email>abran.alain@etsmtl.ca</email>
							<affiliation key="aff1">
								<orgName type="department">Department of Software Engineering &amp; Information Technology</orgName>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="department">École de technologie supérieure</orgName>
								<orgName type="institution">Université du Québec</orgName>
								<address>
									<addrLine>1100 Notre-Dame Ouest</addrLine>
									<postCode>H3C 1K3</postCode>
									<settlement>Montréal (</settlement>
									<region>Québec)</region>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Measuring the Functional Size of Conceptual Models in an MDA Environment 1</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">9C60BDEA1B8D971B0A1BC49D4CF139AD</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T23:14+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>Conceptual modeling</term>
					<term>Object orientation</term>
					<term>Functional size measurement</term>
					<term>COSMIC</term>
					<term>MDA</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The measurement of the functional size of applications generated in MDA environments is a challenge for the software development industry. This paper presents the OO-Method COSMIC Function Points (OOmCFP), a measurement procedure that has been designed to measure the functional size of object-oriented applications generated from their conceptual models by means of model transformations.</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>The MDA approach separates application and business logic from the platform technology, allowing code generation by means of model transformations. This is the case of the OO-Method approach <ref type="bibr" target="#b6">[7]</ref>, which is an object-oriented method that provides the semantic formalization needed to define complete and unambiguous conceptual models, allowing the automatic generation of software products using a MDA-based technology.</p><p>The adoption of MDA-based technology has presented new challenges, such as measuring the size of the generated products. The COSMIC measurement method <ref type="bibr" target="#b4">[5]</ref> can be used to perform this task. Currently, there are some approaches that apply COSMIC to estimate the functional size of future software applications from highlevel specifications <ref type="bibr" target="#b1">[2]</ref>  <ref type="bibr" target="#b2">[3]</ref>. Since the functionality to be measured using these proposals is not detailed enough to generate the final application, the definition of an FSM procedure that allows the measure of the correct size of applications is needed.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Proceedings of CAiSE'08 Forum</head><p>In practical settings, it is very important to know the correct size of the conceptual models that are built with the MDA-based approaches, since the functional size of the models must be known in order to estimate the cost of the software product that is generated automatically. This paper presents the OOmCFP proposal, which is a procedure based on COSMIC that allows the measurement of the functional size of the OO-Method conceptual models from which the applications will be generated.</p><p>The rest of the paper is organized as follows: section 2 presents the design of the OOmCFP, and section 3 presents some conclusions and suggestions for further work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Design of a Measurement Procedure</head><p>According to the process model for software measurement proposed by Jacquet and Abran <ref type="bibr" target="#b5">[6]</ref>, the design phase of a measurement procedure is related to the definition of the concept to be measured and the rules to measure this concept. This relevant phase is divided into four sub-steps: the definition of the objectives, the characterization of the concept to be measured, the selection of the metamodel, and the definition of the numerical assignment rules.</p><p>In the sub-step definition of the objectives, the objective of OOmCFP is to design a procedure in accordance with the COSMIC functional size measurement method for measuring the functional size of software applications that are generated using an MDA approach from their conceptual models which are built with OO-Method.</p><p>In the sub-step characterization of the concept to be measured, we define the entity and the attribute to be measured. The input artefact used to measure the functional size of the OO-Method applications is the Conceptual Model. This model is comprised of four models (Object, Dynamic, Functional, and Presentation) that allow the generation of a fully working software application. The conceptual model of OO-Method is described in detail in <ref type="bibr" target="#b6">[7]</ref>. Therefore, the entity to be measured by OOmCFP will be an OO-Method conceptual model, and the attribute to be measured will be the functional size, which is defined by the ISO/IEC 14143-1 standard as the size of software derived by quantifying the functional user requirements <ref type="bibr" target="#b3">[4]</ref>.</p><p>In the sub-step selection of the metamodel, we have selected the COSMIC standard because, in contrast to other FSM standards like IFPG FPA, NESMA FPA or MARK II FPA, it allows the functional size measurement of multi-layer applications (like OO-Method) from different viewpoints. Figure <ref type="figure" target="#fig_0">1</ref> shows the COSMIC metamodel according to the COSMIC measurement manual version 3.0 <ref type="bibr" target="#b0">[1]</ref>, which illustrates the information that should be represented by the software artefact to be measured. The purpose of the measurement in OOmCFP is to measure the functional size of the OO-Method conceptual models to estimate the cost of the applications generated by the OlivaNova Suite.</p><p>The scope of the measurement in OOmCFP is the OO-Method Conceptual Model from which the final software application will be built.</p><p>The granularity level of the measurement is low because all the details in the OO-Method conceptual model are needed to generate the applications.</p><p>The OO-Method software applications are generated according to a three-tier software architecture: the presentation tier (Client layer), the logic tier (Server layer), and database tier (Database layer) -see Figure <ref type="figure" target="#fig_1">2</ref>. Each tier can be developed for different software environments.</p><p>As Figure <ref type="figure" target="#fig_1">2</ref> shows, the human user is a functional user of the client layer of the software and is separated from that layer by a boundary. In turn, the client layer of the software is a functional user of the server layer and is separated from that layer by a boundary. The server layer of the software is both a functional user of the client layer and a functional user of the database layer of the software and is separated from these layers by a boundary. In addition, the legacy systems are functional users of the server layer and are separated from that layer by a boundary.</p><p>The human user carries out the triggering events that occur in the real world. This user starts the functional processes that are direct successors of the hierarchy action tree (HAT) of the presentation model of OO-Method conceptual model. Each child represents a single functional process. The 'client user' starts the functional processes, which are the actions that the server layer carries out in response to the functional processes that occur in the client layer. The 'server user' starts the functional processes, which are the actions related to the database layer in response to the functional processes that occur in the server layer. The 'legacy user' starts the functional processes, which are the actions that the server layer carries out in response to the functional processes that occur in the legacy systems.</p><p>Every functional process has a set of data movements that can be entry data movements (E), exit data movements (X), read data movements (R) or write data movements (W). In the measurement guide<ref type="foot" target="#foot_1">2</ref> we have defined 69 mapping rules for the data movements that can occur in the OO-Method applications -see Figure <ref type="figure" target="#fig_1">2</ref>. Each single data movement moves one data group. The data groups are the classes of the object model of OO-Method that participate in a functional process. Every class has a set of attributes that will be the data attributes of a data group.</p><p>In the sub-step definition of the numerical assignment rules, we have determined the measurement rules for the data movements that can occur in an OO-Method application. One size unit, referred to as 1 cfp, will be assigned to each data movement. Thus, the functional size of a functional process will be the addition of the data movements that occur in that functional process. Next, the functional size of a layer will be the addition of the functional sizes of the functional processes that are contained in that layer. Last, the functional size of a generated OO-Method application will be the addition of the functional size of every layer of the application.</p><p>In terms of the validation of the OOmCFP procedure, we have verified how the measurement process works in practice using some predefined OO-Method conceptual models. In addition, we can infer that OOmCFP has been theoretically validated because the theoretical validation of COSMIC was carried out successfully in <ref type="bibr" target="#b1">[2]</ref> using the DISTANCE framework. Moreover, an expert<ref type="foot" target="#foot_3">3</ref> has validated the conformity of the OOmCFP procedure with the COSMIC version 3.0.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Conclusions and Further Work</head><p>In this paper, we have presented OOmCFP, which is an FSM procedure based on COSMIC for object-oriented applications generated in MDA environments from their conceptual models. The design of OOmCFP was presented using a generic process model for software measurement. We consider that OOmCFP specifies the issues that must be considered for the development of a tool to automate the measurement of the functional size of applications generated in MDA environments. Further work includes empirical studies of the reproducibility and the repeatability of OOmCFP, and the creation of a tool that automatically implements OOmCFP.</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. Metamodel of COSMIC.</figDesc><graphic coords="2,163.14,557.10,285.72,72.18" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Data movements that could occur in an OO-Method application.</figDesc><graphic coords="3,143.40,495.66,325.20,63.00" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">This work has been developed with the support of MEC under the project SESAMO TIN2007-62894 and co financed by FEDER.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">http://oomethod.dsic.upv.es/labs/images/OOmCFP/guide.pdf</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_2">Proceedings of CAiSE'08 Forum</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_3">We would like to thank to Charles Symons for his helpful comments.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><forename type="first">A</forename><surname>Abran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Desharnais</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Lesterhuis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Londeix</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Meli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Morris</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Oligny</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>O'neil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Rollo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Rule</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Santillo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Symons</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Toivonen</surname></persName>
		</author>
		<ptr target="www.gelog.etsmtl.ca" />
		<title level="m">The COSMIC Functional Size Measurement Method</title>
				<imprint/>
	</monogr>
	<note>version 3.0 In GELOG web site</note>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<author>
			<persName><forename type="first">N</forename><surname>Condori-Fernández</surname></persName>
		</author>
		<title level="m">Un procedimiento de medición de tamaño funcional a partir de especificaciones de requisitos</title>
				<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
		<respStmt>
			<orgName>Univ. Politécnica de Valencia, España</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Doctoral thesis</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Using the PRiM method to Evaluate Requirements Model with COSMIC-FFP In: IWSM-MENSURA 2007</title>
		<author>
			<persName><forename type="first">G</forename><surname>Grau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2007-11">November 2007</date>
			<pubPlace>Mallorca, Spain</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<author>
			<persName><surname>Iso</surname></persName>
		</author>
		<title level="m">ISO/IEC 14143-1, Information Technology -Software Measurement -Functional Size Measurement -Part 1: Definition of Concepts</title>
				<imprint>
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<author>
			<persName><forename type="first">Iso</forename><surname>Iso</surname></persName>
		</author>
		<title level="m">/IEC 19761, Software Engineering -CFF -A Functional Size Measurement Method</title>
				<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">From Software Metrics to Software Measurement Methods: A Process Model</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Jacquet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Abran</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">In: 3 rd International Standard Symposium and Forum on Software Engineering Standards</title>
				<meeting><address><addrLine>ISESS; Walnut Creek, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1997">1997. 1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">Model-Driven Architecture in Practice</title>
		<author>
			<persName><forename type="first">O</forename><surname>Pastor</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Molina</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2007">2007</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

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