<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article
  PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "https://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article article-type="research-article" dtd-version="1.1" specific-use="sps-1.8" xml:lang="en" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
	<front>
		<journal-meta>
			<journal-id journal-id-type="publisher-id">dyna</journal-id>
			<journal-title-group>
				<journal-title>DYNA</journal-title>
				<abbrev-journal-title abbrev-type="publisher">Dyna rev.fac.nac.minas</abbrev-journal-title>
			</journal-title-group>
			<issn pub-type="ppub">0012-7353</issn>
			<publisher>
				<publisher-name>Universidad Nacional de Colombia</publisher-name>
			</publisher>
		</journal-meta>
		<article-meta>
			<article-id pub-id-type="doi">10.15446/dyna.v86n211.75574</article-id>
			<article-categories>
				<subj-group subj-group-type="heading">
					<subject>Artículos</subject>
				</subj-group>
			</article-categories>
			<title-group>
				<article-title>Usable and interactive application generator for Digital TV</article-title>
				<trans-title-group xml:lang="es">
					<trans-title>Generador de aplicaciones interactivas y usables para TV Digital</trans-title>
				</trans-title-group>
			</title-group>
			<contrib-group>
				<contrib contrib-type="author">
					<name>
						<surname>Miranda</surname>
						<given-names>Mirtha</given-names>
					</name>
					<xref ref-type="aff" rid="aff1"><sup>a</sup></xref>
				</contrib>
				<contrib contrib-type="author">
					<name>
						<surname>Casas</surname>
						<given-names>Sandra</given-names>
					</name>
					<xref ref-type="aff" rid="aff1"><sup>a</sup></xref>
				</contrib>
				<aff id="aff1">
					<label>a</label>
					<institution content-type="original"> Instituto de Tecnología Aplicada, Unidad Académica Rió Gallegos, Universidad Nacional de la Patagonia Austral, Río Gallegos, Argentina, mirfamir@gmail.com, scasas@unpa.edu.ar </institution>
					<institution content-type="normalized">Universidad Nacional de la Patagonia Austral</institution>
					<institution content-type="orgdiv1">Instituto de Tecnología Aplicada</institution>
					<institution content-type="orgname">Universidad Nacional de la Patagonia Austral</institution>
					<addr-line>
						<city>Río Gallegos</city>
					</addr-line>
					<country country="AR">Argentina</country>
					<email>scasas@unpa.edu.ar</email>
				</aff>
			</contrib-group>
			<pub-date pub-type="collection">
				<season>Oct-Dec</season>
				<year>2019</year>
			</pub-date>
			<volume>86</volume>
			<issue>211</issue>
			<fpage>174</fpage>
			<lpage>183</lpage>
			<history>
				<date date-type="received">
					<day>15</day>
					<month>10</month>
					<year>2018</year>
				</date>
				<date date-type="rev-recd">
					<day>19</day>
					<month>09</month>
					<year>2019</year>
				</date>
				<date date-type="accepted">
					<day>21</day>
					<month>10</month>
					<year>2019</year>
				</date>
			</history>
			<permissions>
				<license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by-nc-nd/4.0" xml:lang="en">
					<license-p>The author; licensee Universidad Nacional de Colombia.</license-p>
				</license>
			</permissions>
			<abstract>
				<title>Abstract</title>
				<p>Interactive Digital TV (iDTV) enhances viewers’ experience and participation by engaging them with an active role. The development of interactive software requires the employment of usability criteria to provide satisfactory experiences for users. In addition, the diverse characteristics of television programs require efficient processes for interactive software development. In Latin America, the process of implementing DTV is in progress, so the current stage of development of interactive applications is too incipient and immature to support industrial, quality-level development. This paper proposes combining software reuse strategies, specifically, software product lines (SPLs) and user-centered interaction design patterns, to improve productivity and quality. A generic feature model for the automatic generation of iDTV applications and an SPL-iDTV tool that supports the model are presented. The proposal is evaluated with two studies: an experiment that attempts to reproduce real application prototypes that were originally developed manually, through the use of patterns, and an evaluation of the quality of the SPL.</p>
			</abstract>
			<trans-abstract xml:lang="es">
				<title>Resumen</title>
				<p>La TV Digital interactiva (iDTV) mejora la experiencia y la participación de los espectadores. El desarrollo de software interactivo requiere el empleo de criterios de usabilidad para proporcionar experiencias satisfactorias a los usuarios. Además, las diversas características de los programas de televisión requieren procesos eficientes para el desarrollo de software interactivo. En América Latina, el proceso de implementación de TVD está en progreso, por lo que la etapa actual de desarrollo de aplicaciones interactivas es muy incipiente e inmadura como para afrontar el desarrollo a nivel industrial y de calidad. Este trabajo propone combinar estrategias de reutilización de software, específicamente, líneas de productos de software (SPL) y patrones de diseño de interacción centrados en el usuario, para mejorar la productividad y la calidad. Se presenta un modelo de características genérico para la generación automática de aplicaciones de iDTV y la herramienta SPL-iDTV que da soporte al modelo. La propuesta se evalúa con dos estudios: un experimento reproduce prototipos de aplicaciones reales que originalmente se desarrollaron manualmente, usando los patrones, y la evaluación de la calidad de la SPL.</p>
			</trans-abstract>
			<kwd-group xml:lang="en">
				<title><bold>
 <italic>Keywords</italic>:</bold></title>
				<kwd>interactivity</kwd>
				<kwd>Digital TV</kwd>
				<kwd>software product line</kwd>
				<kwd>interaction design patterns</kwd>
				<kwd>feature model</kwd>
				<kwd>Ginga-NCL</kwd>
			</kwd-group>
			<kwd-group xml:lang="es">
				<title><bold>
 <italic>Palabras clave</italic>:</bold></title>
				<kwd>interactividad</kwd>
				<kwd>TV Digital</kwd>
				<kwd>líneas de producto de software</kwd>
				<kwd>patrones de diseño de interacción</kwd>
				<kwd>modelo de características</kwd>
				<kwd>Ginga-NCL</kwd>
			</kwd-group>
			<counts>
				<fig-count count="6"/>
				<table-count count="6"/>
				<equation-count count="0"/>
				<ref-count count="35"/>
				<page-count count="10"/>
			</counts>
		</article-meta>
	</front>
	<body>
		<sec sec-type="intro">
			<title>1. Introduction</title>
			<p>Digital TV (DTV) is a set of technologies for the generation, transmission, and reception of optimal-quality images and sounds using digital signals. Digital signals allow data, video, audio files, software, and more to be sent over transmission channels. Television stations can also send several services over the same channel. Interactive DTV (iDTV) applications, which are based on the capabilities of DTV, are multimedia software that enables viewers to interact with linked content via remote control [<xref ref-type="bibr" rid="B1">1</xref>]. In addition to providing information, iDTV applications offer different mechanisms for viewer participation, for example, polls, debates, voting, and games. For this reason, interactive applications are very powerful, valuable content communication tools that can benefit society in general. Incorporation of the “interactivity” factor can lead actors in the television industry to experiment, create, and search for appropriate interactive applications [<xref ref-type="bibr" rid="B2">2</xref>].</p>
			<p>Usability [<xref ref-type="bibr" rid="B3">3</xref>] is a key factor that must characterize interactive applications in order to provide satisfactory user experiences [<xref ref-type="bibr" rid="B4">4</xref>]. The design and subsequent implementation of the software must consider adequate criteria for the screen layout, buttons, menus, colors, and so forth, that will guarantee reasonable use of the interactivity and audiovisual content. However, if usability is implemented based on an evaluation of the product after it has been created, the required changes revealed by these software tests can delay the product delivery time, create higher costs, and require greater effort. Therefore, usability engineering [<xref ref-type="bibr" rid="B5">5</xref>] proposes that this evaluation be incorporated into the development process, which is more appropriate but has the drawback that developers must dominate this area or hire usability process engineers, which will increase the product cost.</p>
			<p>The television industry is very diverse in terms of content (news, entertainment, magazines, debates, series, documentaries, etc.), frequency of broadcasts (daily, weekly), mode of production (live, recorded), audience (children, youth, etc.) and more. In addition, all combinations are possible; for example, a newscast can have several daily broadcasts and a documentary can have live performances but be based on recorded content. To address this heterogeneity, which is typical of television, highly efficient and productive interactive software development processes are necessary.</p>
			<p>In Latin America, the transition from analogue to digital transmission (the “analog blackout”) is in progress and will be completed by 2024. Seventy percent of Latin American countries have adopted the ISDB-Tb standard (Integrated Services Digital Broadcasting, Terrestrial, Brazilian version) that uses Ginga middleware [<xref ref-type="bibr" rid="B6">6</xref>] for the execution of iDTV applications, which must therefore be encoded in Nested Context Language (NCL; [<xref ref-type="bibr" rid="B6">6</xref>]) or Java. NCL code is basically an XML document that defines how media objects (videos, images, sounds, and text) are structured and related in time and space.</p>
			<p>As the tasks to complete the technological infrastructure necessary for the implementation of DTV are being carried out, the analog and digital systems coexist. During this time, the following two problems arise from the development of iDTV applications in Latin America:</p>
			<p>
				<list list-type="bullet">
					<list-item>
						<p>the interactive application development processes are still too immature to support the construction of iDTV applications on an industrial scale, because the development is essentially manual and artisanal, reinforced by the distance between the software and television industries;</p>
					</list-item>
					<list-item>
						<p>effective methods to incorporate usability criteria in developed iDTV applications in a generalized manner are lacking.</p>
					</list-item>
				</list>
			</p>
			<p>Overcoming these shortcomings is an important challenge because, as in any productive process, it is necessary to reduce costs, effort, and development time as well as improve the quality of the final product. In short, this study seeks to address these challenges in order to facilitate the adoption of interactivity in Latin America and benefit the citizens.</p>
			<p>The present study provides a solution to these challenges posed by the iDTV domain that combines two approaches to reusing software: It integrates the concepts of Software Product Lines (SPLs; [<xref ref-type="bibr" rid="B7">7</xref>]) and interaction design patterns for iDTV [<xref ref-type="bibr" rid="B8">8</xref>]. We present an SPL that can generate executable iDTV applications in Ginga middleware by automatically producing NCL code. The SPL-iDTV tool was built from a generic feature model (FM; [<xref ref-type="bibr" rid="B9">9</xref>]), based on patterns and design languages for iDTV [<xref ref-type="bibr" rid="B8">8</xref>]. The design patterns provide the tool with variability and reusability. We also present three case studies and an evaluation of the SPL quality.</p>
			<p>The rest of this paper is organized as follows. Section 2 presents materials and methods used in this work. Section 3 discusses related work. Section 4 briefly describes the approaches and strategies used in this work. Section 5 presents an FM based on the design patterns. Section 6 discusses the SPL-iDTV tool that implements the model. Section 7 presents the evaluations. Section 8 presents the study’s conclusions and future research directions.</p>
		</sec>
		<sec sec-type="materials|methods">
			<title>2. Materials and methods</title>
			<p>In this work, the approach called Design Science Research [<xref ref-type="bibr" rid="B10">10</xref>] was applied. It is generally used in research related to engineering, computer science and information systems. This approach proposes the production of artifacts, such as instances, constructs, models or methods. The steps that have been followed in this study are: (1) Identification of the problem for which a solution is sought, in which the background was elaborated, from the documentary research (presented in sections 3 and 4); (2) design and construction of the artifact that represents a solution to the problem. The Feature Model [<xref ref-type="bibr" rid="B8">8</xref>] approach was used for the construction of a generic model. The Java and FeatureIDE tools [<xref ref-type="bibr" rid="B11">11</xref>] with the AHEAD component [<xref ref-type="bibr" rid="B12">12</xref>] were used for the development of SPL-iDTV software; and (3) Artifact evaluation in which three complete case studies were developed to analyze the functionality of the SPL-iDTV software. It was completed with the evaluation of the model quality, using a specific method based on the SQuaRE standard.</p>
		</sec>
		<sec>
			<title>3. Related works</title>
			<p>A variety of tools have been proposed for the development of iDTV applications compatible with Ginga.</p>
			<p>NCL Eclipse is a tool developed as a plugin for Eclipse. This plugin is intended for programmers; it is used to write the source code and correct syntax errors and has other very useful features for the NCL-Lua application developer. Basically, it is a code editor and compiler.</p>
			<p>NCL Composer [<xref ref-type="bibr" rid="B14">14</xref>] is an author tool that supports several integrated views-structural, temporal, design, and textual-to create an NCL document. The views work synchronously, to provide integrated development. Minimal knowledge of the NCL language is required for using NCL Composer.</p>
			<p>Ginga Game [<xref ref-type="bibr" rid="B15">15</xref>] is a framework for the development of DTV games for Ginga. It offers different packages for reuse, interfaces (GingaGame), components (GameComponent), and specific classes of the platform (GingaGameJavaTV).</p>
			<p>FrameIDTV [<xref ref-type="bibr" rid="B16">16</xref>] presents a framework created on the multimedia home platform (MHP) that offers components for the implementation of various kinds of services and allows generation of the following types of applications: electronic voting, e-mail, electronic program guides (EPGs), application portals, t-banking, and t-commerce. </p>
			<p>NCL-Inspector [<xref ref-type="bibr" rid="B17">17</xref>] is an NCL code quality review tool that allows experienced programmers to define new rules to be validated. The specification of the rules is done in a Java or XSLT document. It also enables modifications for improving programming practices.</p>
			<p>ATHUS [<xref ref-type="bibr" rid="B18">18</xref>] is a generic framework that aims to facilitate the development of games for Ginga. The authors present two versions, one based on Java for use in Ginga-J and the other based on Lua for use in Ginga-NCL.</p>
			<p>ITV-Learning [<xref ref-type="bibr" rid="B19">19</xref>] is a tool for educational instructors that allow the creation of learning objects, which facilitates development of interactive digital materials by abstracting them from programming knowledge for the creation of iDTV applications.</p>
			<p>Crea Digital TV [<xref ref-type="bibr" rid="B20">20</xref>] is a tool for creating NCL-Lua applications, aimed at content producers. It implements a graphic timeline model to represent the life of the application elements, the interactivity with the viewer, and the events that occur throughout the application. Users are not required to have knowledge of NCL.</p>
			<p>SGAi [<xref ref-type="bibr" rid="B21">21</xref>] is a tool that automatically generates surveys for NCL-Lua applications, handling the return channel and preserving the result through a web application.</p>
			<p>iTV Suite Tool [<xref ref-type="bibr" rid="B22">22</xref>] proposes a required hardware and software architecture for producing interactive applications. It also proposes a software development process methodology and applying design patterns to guarantee usability. The software used to program the interactive application is iTV Suite. An important feature of the iTV Suite tool is that the programming structure is by scenes.</p>
			<p>NCL-Textual Data Mixer [<xref ref-type="bibr" rid="B23">23</xref>] is a tool that facilitates graphic design for creating media (images, scripts, and NCL code), by means of metadata types declared in the NCL documents that use web services, simple object access protocol (SOAP), repositories, and other technologies to access information for the creation of applications.</p>
			<p>API TVD [<xref ref-type="bibr" rid="B24">24</xref>] is a wizart tool that consists of graphic templates. It handles the management of temporal synchronism between media and their lifespan. The purpose of this generator is to simplify the development process by allowing the user to engage with “what” the application should do rather than “how” it is done. To this end, the user does not require knowledge of the NCL language.</p>
			<p>IT NEWs [<xref ref-type="bibr" rid="B25">25</xref>] is a tool that reuses previously created news templates to generate new applications. These templates consist of NCL code. By focusing on the elements of communicability and usability, this tool allows users to create journalistic applications without having to learn how to program.</p>
			<p>Template Generator [<xref ref-type="bibr" rid="B26">26</xref>] is a tool that allows users to automatically create code for an interactive application by modifying the relevant fields of a pre-established template. The templates are based on usability parameters such as level, service, and type of interactivity.</p>
			<p>Dr. Nau [<xref ref-type="bibr" rid="B27">27</xref>] is an NCL code (web) generator that uses some [<xref ref-type="bibr" rid="B8">8</xref>] patterns as its main abstraction. It is an assistant aimed at end users.</p>
		</sec>
		<sec>
			<title>4. Strategies and approaches</title>
			<sec>
				<title><italic>4.1. Software product lines and feature models</italic></title>
				<p>SPL [<xref ref-type="bibr" rid="B7">7</xref>, <xref ref-type="bibr" rid="B28">28</xref>] is an approach to developing families of systems based on using reusable assets to improve software quality and reduce production costs and time to market. The products developed with an SPL are specified in terms of various features. A feature is defined as an increase in the functionality of the product, and an SPL can offer both common and variable features. An FM [<xref ref-type="bibr" rid="B9">9</xref>, <xref ref-type="bibr" rid="B29">29</xref>-<xref ref-type="bibr" rid="B30">30</xref>] can be used to provide a compact representation of all the products of a product line in terms of features and relationships between them. FMs can specify which elements of the product family are similar or variable throughout the development life cycle. In addition, FMs can incorporate a set of rules in the form of logical expressions formed by features, logical connectives, and quantifiers. The reason for using predicate logic to express default rules is to avoid the ambiguities of natural language.</p>
				<p>Several tools [<xref ref-type="bibr" rid="B31">31</xref>] support the development of feature-oriented software. Among these, we selected FeatureIDE [<xref ref-type="bibr" rid="B11">11</xref>] as the framework for the present study. <xref ref-type="fig" rid="f1">Fig. 1</xref> presents an FM represented in the FeatureIDE tool. The FM nodes represent features, and the lines indicate the relationships between them. The root node, A, represents the domain concept being modeled. The features of the model are classified as mandatory, optional, or alternative. Optional features, such as node C, are represented with an empty circle and may or may not be part of a product. Mandatory features, such as nodes B, D, and E, are represented by a filled-in circle and will be part of all products that the SPL can generate. Alternative features can be exclusive (XOR) or nonexclusive (OR). XOR (“Alternative”) indicates that only one subfeature can be selected, e.g., F or G; while OR (“Or”) allows more than one option to be selected for a product, e.g., H or I or both H and I. In addition, the diagram includes abstract and concrete features. Feature A, which is abstract, represents an interface; and the rest, which are concrete, are the features that implement the functionalities. FMs can also be specified through textual notations [<xref ref-type="bibr" rid="B32">32</xref>].</p>
			</sec>
			<sec>
				<title><italic>4.2. Interactivity design patterns for DTV applications</italic></title>
				<p>An interaction design pattern is a design pattern for the field of HCI [<xref ref-type="bibr" rid="B33">33</xref>]. It documents proven solutions to interaction design problems in a systematic and understandable way, which is why interaction design patterns are said to be centered on the user. Different formats for interaction design patterns have been proposed [<xref ref-type="bibr" rid="B34">34</xref>,<xref ref-type="bibr" rid="B35">35</xref>]; these vary in their elements, the number of elements, and the names and order of the elements.</p>
				<p>For the domain of iDTV applications, Kunert [<xref ref-type="bibr" rid="B8">8</xref>] presents the most complete, richest, and widely accepted collection. This catalog of interactivity design patterns, centered on the DTV user, describes 41 patterns, classified into 10 groups. The catalog provides a template for each pattern that indicates its name, examples, the context of use, the problems it solves, the solutions it provides, citations, and related patterns. The groups and patterns are as follows:</p>
				<p><italic>Page Layout Group:</italic> Choosing the right page layout, Overlay, Full-screen with video, Full-screen without video</p>
				<p><italic>Navigation Group:</italic> Multiple ways to navigate, Menu, Video multi-screen, Index, Page numbers, Tabs.</p>
				<p>
					<fig id="f1">
						<label>Figure 1</label>
						<caption>
							<title>Feature Model Graphical Representation</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gf1.png"/>
						<attrib>Source. The Authors.</attrib>
					</fig>
				</p>
				<p><italic>Remote Control Keys Group:</italic> Choosing the right keys, Arrow keys, OK-key, Colour keys, Number keys, Special keys.</p>
				<p><italic>Basic Functions Group:</italic> Initial call to action, Starting, Loading indication, Exiting, Hiding application, Going one level up.</p>
				<p><italic>Content Presentation Group:</italic> Text design, Content box, Paging, Scrolling, Switching between content items, Synchronized content.</p>
				<p><italic>User Participation Group:</italic> Multiple ways of user participation, Voting and multiple-choice question, Allocation of items, Text completion, Approval for connectivity.</p>
				<p><italic>Text Input Group:</italic> Multiple ways to input text, On-screen qwerty or alphabetical keyboard, Mobile phone keyboard.</p>
				<p><italic>Help Group:</italic> On-screen instruction, Help section.</p>
				<p><italic>Accessibility &amp; Personalization Group:</italic> Accessibility, Personalization)</p>
				<p><italic>Specific User Groups:</italic> Children.</p>
				<p>All the groups refer to specific types of content and are classified into three classes: tasks of generic users of iDTV, general content requirements, and general usability requirements. We concluded that the concepts in the patterns meet the usability levels required for iDTV, that they can be used effectively, efficiently, safely, and satisfactorily, and that they can be recast as features to provide variability.</p>
			</sec>
		</sec>
		<sec>
			<title>5. Feature models for iDTV applications</title>
			<p>Feature modeling consists of analyzing the domain of the product line, defining its scope, identifying the common elements and variable components of the product line, identifying the restrictions of the model, and designing the reusable devices that support the product line. The result is expressed in a feature diagram, graphic or textual, and a set of rules. We carried out the modeling in two stages: initial modeling and complete modeling.</p>
			<sec>
				<title>5.1. Initial modeling</title>
				<p>This stage defined the scope of the product line as iDTV applications with local interactivity, which involves representing patterns of presentation and selecting additional information. The relevant patterns in the catalog are in the Page Layout, Navigation, Basic Functions, Content, Remote Control Keys, and Help groups, a subset that includes 27 of the 41 patterns in the catalog.</p>
				<p>To obtain a first representation, we manually and carefully prepared a feature diagram for 32 iDTV applications using their corresponding patterns. These iDTV applications were taken from [<xref ref-type="bibr" rid="B8">8</xref>], and our strategy for defining the hierarchies of the diagrams was to place the iDTV application as the root of the diagram, the groups of patterns at the second level, and the patterns used from each group at the third level. Then we recorded the patterns used by each application in a matrix that grouped the applications into 19 families, in order to identify their similarities and differences.</p>
				<p>An initial set of relationships was obtained from this analysis: (1) The Page Layout group is present in all applications. (2) Only one pattern of the Page Layout group (Overlay, Full-screen with video or Full-screen without video) is used in each application. (3) One or more patterns in the Navigation group (Menu, Video Multi-screen, Index, Page Numbers, and/or Tabs) are used in some applications. (4) One or more patterns of the Remote Control group (Arrow, OK, Color, Number, and/or Special) can be selected. (5) One or more patterns of the Basic Functions group (Initial call to action, Starting, Loading indication, Exiting, Hiding application, and/or Going one level up) can be selected. (6) One or more patterns of the Content Presentation group (Text design, Content Box, Paging, Scrolling, Switching between content items, and/or Synchronized content) can be selected. (7) Only one pattern from the Help group (On-screen instruction or help section) is used in an application.</p>
				<p>The obtained results allowed us to design the feature diagram shown in <xref ref-type="fig" rid="f2">Fig. 2</xref>, in which the groups of patterns are located at the second level as abstract features and the patterns are represented at the third level as concrete features. The diagram also indicates the classifications corresponding to mandatory, optional, and alternative features.</p>
				<p>
					<fig id="f2">
						<label>Figure 2</label>
						<caption>
							<title>iDTV Feature Diagram</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gf2.png"/>
						<attrib>Source. The Authors.</attrib>
					</fig>
				</p>
				<p>Next, we added a set of rules to the model. These specify restrictions that must be met by the configurations that are derived from the model for the products (applications). In addition, these rules allow debugging valid products and in turn contribute to the traceability of the created model. The rules are obtained from the same catalog, which defines the relationships between groups of patterns and patterns, and their importance lies in the fact that they allow compliance with the imposed usability guidelines. Because the patterns define complementary and/or exclusionary relationships with other patterns, these guidelines are indicated by rules in the model. Given that they arise at the level of pattern groups, we considered the following initial rules:</p>
				<p><italic>Navigation =&gt; PageLayout</italic></p>
				<p><italic>Remote Control =&gt; PageLayout ˄ Navigation</italic></p>
				<p><italic>BasicFunction=&gt;PageLayout˄Navigation ˄ RemoteControl</italic></p>
				<p><italic>Content =&gt; PageLayout ˄ Navigation ˄ RemoteControl</italic></p>
				<p><italic>Help =&gt; PageLayout ˄ Navigation ˄ RemoteControl</italic></p>
				<p>These rules indicate, for example, that to use the patterns of the Remote Control group, patterns of the Page Layout and Navigation group are required, and that to use the patterns of the Basic Functions group, at least one pattern from each of the following groups is required: Page Layout, Navigation, and Remote Control.</p>
				<p>Using the presented model, configurations can be derived and valid products can be generated. The configuration of a product is its specification or general instantiation. A configuration of an FM is the result of selecting certain model elements and eliminating others. Through the model presented, a number of configurations or instances of new products can be obtained, such as the following examples: </p>
				<p><italic>Product1 = {Overlay, Menu, Color, TextDesign}</italic></p>
				<p><italic>Product2={FullWithVideo,Menu,Color,InitialCall,TextDesign}</italic></p>
				<p><italic>Product3 = {FullWithoutVideo, Menu, Color, Starting, Loading, Exiting, TextDesign}</italic></p>
			</sec>
			<sec>
				<title>5.2 Final Modeling</title>
				<p>The complete FM for iDTV applications, graphically represented, and the corresponding set of rules can be found in this link<sup>1</sup>.The diagram incorporates a fourth level of features, which represent the attributes or elements of each pattern. The elements of a pattern can be mandatory, optional, or alternative. Similarly, these new features impose their own restrictions, so that rules to handle them are also incorporated.</p>
				<p>
					<xref ref-type="fig" rid="f3">Fig. 3</xref> is a cutout of the complete diagram, presenting the graphical representation of the Page Layout group of patterns, which is mandatory and whose specification requires a total of 33 features. </p>
				<p>
					<fig id="f3">
						<label>Figure 3</label>
						<caption>
							<title>Feature Diagram for the Page Layout Pattern Group</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gf3.png"/>
						<attrib>Source. The Authors.</attrib>
					</fig>
				</p>
				<p>The three patterns of the group (Overlay, Full-screen with video and Full-screen without video) are optional and concrete features. All the elements of these patterns are represented at the fourth level. For example, Overlay consists of two obligatory features, SizeOver (the size of the area that the video occupies on the screen) and TransOver (transparency over the video) that is, whenever Overlay is chosen, the SizeOver and TransOver elements must be specified. SizeOver, in turn, has two options, TotalSize (the video occupies 100% of the screen) or PercSize (the percentage of the screen the video occupies). The latter also offers the options Horizontal or Vertical, which in turn each present three options for the location of the video: Top, Center, or Bottom in the case of Horizontal, and Left, CenterV, or Right in the case of Vertical. TransOver only offers three options, without transparency (NoTrans), Trans30 (30% transparency), or Trans100 (100% transparency).</p>
				<p>Thus, the groups of features that are located at the fourth level of the diagram comprise the constituent elements of the patterns, indicating the precise details of the interface. Some patterns do not require more features for their configuration, as is the case with Full-screen without video.</p>
				<p>As previously mentioned, the model also includes a set of rules that, when applied to the FM, allow the usability properties specified in the pattern catalog to be met. We defined and applied a set of 50 rules in total for the FM, which can be categorized as rules to control certain features of the same group of patterns and rules to restrict features of different groups of patterns. Examples of rules include:</p>
				<p><italic>R#1: TopVideo ˄ LeftVideo ˄ TopMenu =&gt; ¬LeftMenu</italic></p>
				<p><italic>R#2: LeftVideo ∧ LeftMenu =&gt; ¬ LeftCont</italic></p>
				<p>R#1 is a restriction that allows placing the video in the upper left while prohibiting placement of the menu in the same position on the screen; this rule is related to the Full-screen with video and Menu patterns, which correspond to different groups. R#2 restricts the position of elements on the screen: if the video and the menu will be on the left side, the content should not be on the left; this rule is related to the Full-screen with video, Menu, and Content patterns. R#1 and R#2 are rules that control the validation of different groups of patterns: R#1 concerns patterns of the Page Layout and Navigation groups, while R#2 concerns patterns of the Page Layout, Navigation, and Content groups.</p>
				<p>In summary, to model the 27 interaction design patterns for the design of an SPL, a total of 172 features were required, as detailed in <xref ref-type="table" rid="t1">Table 1</xref>.</p>
				<p>
					<table-wrap id="t1">
						<label>Table 1</label>
						<caption>
							<title>Details of Features in the Model</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gt1.png"/>
						<table-wrap-foot>
							<fn id="TFN1">
								<p>Source. The Authors.</p>
							</fn>
						</table-wrap-foot>
					</table-wrap>
				</p>
			</sec>
		</sec>
		<sec>
			<title>6. SPL-IDTV Tool</title>
			<sec>
				<title><italic>6.1. Design and implementation</italic></title>
				<p>The SPL-iDTV tool implements the abstract, generic conceptual model described above. SPL-iDTV was implemented in Java and FeatureIDE [<xref ref-type="bibr" rid="B11">11</xref>] with the AHEAD component [<xref ref-type="bibr" rid="B12">12</xref>]. This last component allows applying feature-oriented programming [<xref ref-type="bibr" rid="B9">9</xref>] techniques. The central idea of the implementation is to modularize iDTV design patterns as features and automatically generate the required sections of code in an NCL document.</p>
				<p>The class diagram in <xref ref-type="fig" rid="f4">Fig. 4</xref> illustrates the most important classes that make up the tool. These classes have been divided into two groups. The classes on the left (App, WinNewProduct, Main, Product, WritelnFile and Connector) are the classes that control and execute the entire process of specifying, configuring, and generating code, regardless of the patterns that are chosen. For example, the App class is the main module that controls all of the execution, offers the functionality of creating a configuration, and allows generating an NCL application, and the Main class realizes the invocation of the classes and methods that implement the patterns involved in a given configuration and controls the entire generation of a final product (the NCL code) through invocation of the WinNewProduct class.</p>
				<p>
					<fig id="f4">
						<label>Figure 4</label>
						<caption>
							<title>Class Diagram for SPL-iDTV Tool</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gf4.png"/>
						<attrib>Source. The Authors.</attrib>
					</fig>
				</p>
				<p>The classes on the right correspond to each of the specific features of the FM and interaction design patterns (Overlay, FullWithVideo, FullWithoutVideo, Menu, VidMultiScreen, Index, PageNumbers, Tabs, Arrow, Ok, Color, Number, Special, InitialCall, Starting, Loading, Exiting, HidingApp, GoingOneLevelUp, TextDesign, ContentBox, Paging, Scrolling, Switching, Synchronized, Instruction, and Section).</p>
				<p>The classes that correspond to the concrete features of the FM (patterns and pattern elements) contain all the logic needed to implement a pattern in an NCL document. For this reason, some attributes are concordant with NCL tags, such as region, descriptor, media, and link, which are required in NCL. But each class also specifies its own data for the implementation of the pattern in question.</p>
			</sec>
			<sec>
				<title>6.2. Instrumentation</title>
				<p>The SPL-iDTV tool generates an application in three steps:</p>
				<disp-quote>
					<p>(1) Configuration design: The first step for the generation of a product is to indicate the product’s features (patterns). To do this, the user must specify which interaction elements the application will incorporate (images, text, menus, buttons, etc.) from the design patterns. For this purpose, SPL-iDTV offers a menu of characteristics with all the patterns. At this point, each group with its set of patterns is identified and ordered. An SPL product is specified by selecting or canceling the selection of features according to the user’s needs. A configuration is obtained as the result.</p>
				</disp-quote>
				<disp-quote>
					<p>(2) Media selection: Once the configuration is created, the user must specify the media (image, video, text) required for the design. For this, SPL-iDTV offers an interface that allows searching for the media files from a browser window. Once the media are selected, the system assigns them to the corresponding configuration elements.</p>
				</disp-quote>
				<disp-quote>
					<p>(3) Generation of the product: The user selects a created configuration and the set of associated media and orders the automatic generation of the NCL code for the new product, which implements the functionality of the application.</p>
				</disp-quote>
				<p>These three simple steps allow users to automatically generate iDTV applications. The tool is very economical for developing different configurations using the same media until the product that best suits the needs of the TV producer is obtained. Similarly, once the optimal configuration that corresponds to the style of a TV program is found, updating the media is even simpler. The user repeats the task from step 2, that is, updating the media, according to the different broadcasts of a program. This last capability of the tool works as a template generator.</p>
			</sec>
		</sec>
		<sec>
			<title>7. Evaluations</title>
			<sec>
				<title><italic>7.1. Prototyping, Experiments, and Case Studies</italic></title>
				<p>This part of the study consisted in using the SPL-iDTV tool to reproduce three iDTV applications, which were later executed using a Ginga emulator. The case study experimentation had several objectives: to prove the correct functionality of the SPL-iDTV tool, to verify the design of different configurations, to verify that the restrictions that fit the model are correct and flexible, to verify that the generated code is valid, and primarily to verify that the tool can be used to develop applications at the same level of complexity as manually developed application prototypes. For this last reason, the experimentation consisted of replicating manually developed prototypes that make intensive use of the patterns. </p>
				<p>The prototypes were extracted from [<xref ref-type="bibr" rid="B8">8</xref>]. The Anke Late Night prototype is an entertainment and interview program, produced and issued by the Ilmenau Technology University (Germany) in 2004. The Music prototype is a musical program, also produced and broadcast by the same german university in 2004. The Sport prototype is a sports program, produced and broadcast by the UK’s BBC since 1997. </p>
				<p>After the prototypes were selected, the input sets (pattern information and media) necessary for steps 1 and 2 of the development using SPL-iDTV, as indicated in Section 4.2, were determined. <xref ref-type="table" rid="t2">Table 2</xref> specifies the input for the Anke Late Night prototype, <xref ref-type="table" rid="t3">Table 3</xref> for the Music prototype, and <xref ref-type="table" rid="t4">Table 4</xref> for the Sport prototype.</p>
				<p>
					<table-wrap id="t2">
						<label>Table 2</label>
						<caption>
							<title>Input for the Anke Late Night Prototype.</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gt2.png"/>
						<table-wrap-foot>
							<fn id="TFN2">
								<p>Source. The Authors.</p>
							</fn>
						</table-wrap-foot>
					</table-wrap>
				</p>
				<p>
					<table-wrap id="t3">
						<label>Table 3</label>
						<caption>
							<title>Input for the Music Prototype.</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gt3.gif"/>
					</table-wrap>
				</p>
				<p>
					<table-wrap id="t4">
						<label>Table 4</label>
						<caption>
							<title>Input for the Sport Prototype.</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gt4.png"/>
						<table-wrap-foot>
							<fn id="TFN3">
								<p>Source. The Authors.</p>
							</fn>
						</table-wrap-foot>
					</table-wrap>
				</p>
				<p>The entries for each case study were entered into SPL-iDTV. <xref ref-type="fig" rid="f5">Fig. 5</xref> shows the SPL-iDTV configuration interface for the Anke Late Night prototype. The chosen options are highlighted with different shapes: rectangle without corner for the groups of patterns, rectangle for the patterns, and ellipse for the elements of each pattern.</p>
				<p>
					<fig id="f5">
						<label>Figure 5</label>
						<caption>
							<title>Configuration Design for Anke Late Night prototype</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gf5.png"/>
						<attrib>Source. The Authors.</attrib>
					</fig>
				</p>
				<p>After creating the three configurations and associating the corresponding media, the code for the applications was generated. The applications were then executed in a Ginga emulator. <xref ref-type="fig" rid="f6">Fig. 6</xref> presents images from these executions.</p>
				<p>
					<fig id="f6">
						<label>Figure 6</label>
						<caption>
							<title>Images of prototypes generated by SPL-iDTV</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gf6.png"/>
						<attrib>Source. The Authors.</attrib>
					</fig>
				</p>
				<p>The reproductions of the prototypes verify that the tool functions correctly, as it was possible to design diverse configurations that include different sets of patterns consisting of various elements and a considerable amount and diversity of medias. The code generated by the tool is correct and executed correctly. The prototypes developed with the tool are not trivial examples, and it was possible to automatically reproduce the manually designed and coded iDTV applications.</p>
				<p>To complete the analysis of the prototypes developed in the experimentation, some results are listed in <xref ref-type="table" rid="t5">Table 5</xref>. The first column indicates the numbers of pattern groups, patterns, concrete and terminal features, and rules represented by the model and implemented by SPL-iDTV. The last three columns indicate the quantities for each prototype. The bottom two rows indicate the amount of media (images, videos, texts) and the number of automatically generated lines of code (LOC) for each prototype.</p>
				<p>
					<table-wrap id="t5">
						<label>Table 5</label>
						<caption>
							<title>Results.</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gt5.png"/>
						<table-wrap-foot>
							<fn id="TFN4">
								<p>Source. The Authors.</p>
							</fn>
						</table-wrap-foot>
					</table-wrap>
				</p>
			</sec>
			<sec>
				<title>7.2. Evaluation of the SPL-iDTV</title>
				<p>We conducted an evaluation of the quality of the SPL developed with SPL-iDTV, using the method proposed in [<xref ref-type="bibr" rid="B13">13</xref>]. This method is based on the quality standard SQuaRE. The main advantage of this method is that it is general and can be applied to any developed SPL. In addition, it is flexible insofar as it allows the independent evaluation of activities at any stage of the SPL development. Although the quality assessment process always involves the same activities at each stage of the SPL’s life cycle, these should be adapted for the conditions of each phase. </p>
				<p>In this study, we applied this method to evaluate the maintainability of the SPL. A high degree of maintainability indicates that a product is structured in a way that makes it is easy to modify. This property is one of the most evaluated properties for SPLs, since it considers their modularity and reusability. Modularity analyzes the active proportion by feature, and reusability employs four metrics to independently mediate commonality and variability. Commonality is evaluated by taking into account aspects related to the reuse of assets, because these are common parts of different products, and variability is evaluated based on the SPL’s richness and complexity. The attributes and metrics for commonality involve functional commonality, the functional coverage of an asset, and its cumulative applicability. The attributes and metrics for variability include the variability in an asset and the complexity of the variability of the SPL, captured by measuring the number of variabilities in the SPL.</p>
				<p>The results of the evaluation are presented in <xref ref-type="table" rid="t6">Table 6</xref>. This table also provides the formulas used for the calculations, the acceptable values, the bases, the derived metrics, and the dependencies between them. The possible values of the metrics are continuous values between 0 and 1. Since these are subjective values, we consider each evaluated attribute as accepted or not accepted for an independent reason. The values for the calculation of the metrics were taken from the statistics provided by FeatureIDE.</p>
				<p>
					<table-wrap id="t6">
						<label>Table 6</label>
						<caption>
							<title>Evaluation of SPL quality.</title>
						</caption>
						<graphic xlink:href="0012-7353-dyna-86-211-174-gt6.png"/>
						<table-wrap-foot>
							<fn id="TFN5">
								<p>Source. The Authors.</p>
							</fn>
						</table-wrap-foot>
					</table-wrap>
				</p>
				<p>The FM defined for the creation of the proposed SPL presents an acceptable degree of maintainability. Each asset is defined by a feature, which facilitates the modularity of the model. The level of reuse of an asset covered by the functional features of the model does not reach the average possible value, while the coverage of variability is favorable. The predominance of optional and alternative features (variability) controls this tension, giving the model a high level of flexibility.</p>
			</sec>
		</sec>
		<sec sec-type="conclusions">
			<title>8. Conclusion</title>
			<p>In Section 3, we describe some tools to develop iDTV applications for Ginga middleware. A group of these tools clearly aimed at developers [<xref ref-type="bibr" rid="B14">14</xref>-<xref ref-type="bibr" rid="B19">19</xref>,<xref ref-type="bibr" rid="B23">23</xref>], since they require knowledge of programming and software design. These tools offer different levels of reuse, placing the frameworks of specific domains [<xref ref-type="bibr" rid="B15">15</xref>,<xref ref-type="bibr" rid="B18">18</xref>] on a more prominent level than general-purpose text editors. The generators [<xref ref-type="bibr" rid="B20">20</xref>,<xref ref-type="bibr" rid="B21">21</xref>,<xref ref-type="bibr" rid="B24">24</xref>-<xref ref-type="bibr" rid="B26">26</xref>] are intended for TV producers, allowing applications to be made mainly using predesigned template, of general purpose or specific domains. [<xref ref-type="bibr" rid="B27">27</xref>] an assistant to generate NCL applications with a certain level of usability for end users. Here SPL-iDTV presents an advantage, since it not only generates the code of a certain configuration, but also allows designing a configuration that fulfills the function of a template. Thus, a user could design configurations that are then used as templates or style guides, in specific domains. Among the generators mentioned, the possibilities that the generated applications have usability criteria as SPL-iDTV does, are very limited, this marks an important difference. The applications generated with SPL-iDTV do not require subsequent evaluations of usability. Furthermore there is no need to spend time in the design of iDTV applications that use usability guidelines, which means lower costs.</p>
			<p>This study offers two main contributions. The first is a model that enables building an SPL to generate families of iDTV applications. Three important advantages of this model are as follows: It is an abstract model because it is independent of the DTV standard, middleware, and interactivity programming language used; it is defined and structured based on proven usability patterns; and it is extensible, as it can easily incorporate new patterns (features). The second contribution is a tool that supports deployment of the SPL for the design and creation of configurations (templates) and automatic generation of Ginga-NCL code. These capabilities allow development of iDTV applications with reduced time, cost, and effort. </p>
			<p>The evaluations we conducted indicate that the products generated with this approach are at a similar level to applications that were manually produced, even though the tool is not yet a professional version. The proposed approach promotes the automatic reuse of design and code, the modular design facilitates the derivation of products and the evolution of the product line, and the level of supported variability is high, which enhances the tool’s ability to design flexible configurations.</p>
			<p>Our planned objectives for future work are (1) to incorporate more patterns in the model and in the tool, in order to implement the entire catalog of patterns, (2) to add a module to the tool that will allow configuring different target languages for the generated code, and (3) to optimize the code generated by the tool.</p>
		</sec>
	</body>
	<back>
		<ref-list>
			<title>References</title>
			<ref id="B1">
				<label>[1]</label>
				<mixed-citation>[1] Rodrigues, R. e Soares, L., Produção de conteúdo declarativo para TV Digital. Proceedings of SemiSH-XXXIII Seminario integrado de software e hardware. Campo Grande, Brazil. pp. 287-300, 2006.</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Rodrigues</surname>
							<given-names>R.</given-names>
						</name>
						<name>
							<surname>Soares</surname>
							<given-names>L</given-names>
						</name>
					</person-group>
					<source>Produção de conteúdo declarativo para TV Digital</source>
					<conf-name>Proceedings of SemiSH-XXXIII Seminario integrado de software e hardware</conf-name>
					<conf-loc>Campo Grande, Brazil</conf-loc>
					<fpage>287</fpage>
					<lpage>300</lpage>
					<year>2006</year>
				</element-citation>
			</ref>
			<ref id="B2">
				<label>[2]</label>
				<mixed-citation>[2] Fernández, F. and Goldenberg, S., Aplicaciones interactivas para la Televisión Digital en Chile. Cuadernos de Información, 22, pp. 6-17. 2008. DOI: 10.7764/cdi.22.86</mixed-citation>
				<element-citation publication-type="journal">
					<person-group person-group-type="author">
						<name>
							<surname>Fernández</surname>
							<given-names>F.</given-names>
						</name>
						<name>
							<surname>Goldenberg</surname>
							<given-names>S</given-names>
						</name>
					</person-group>
					<article-title>Aplicaciones interactivas para la Televisión Digital en Chile</article-title>
					<source>Cuadernos de Información</source>
					<volume>22</volume>
					<fpage>6</fpage>
					<lpage>17</lpage>
					<year>2008</year>
					<pub-id pub-id-type="doi">10.7764/cdi.22.86</pub-id>
				</element-citation>
			</ref>
			<ref id="B3">
				<label>[3]</label>
				<mixed-citation>[3] Nielsen, J., Usability engineering. Morgan Kaufmannm, Ed. San Francisco, CA, USA, 1993.</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Nielsen</surname>
							<given-names>J</given-names>
						</name>
					</person-group>
					<source>Usability engineering. Morgan Kaufmannm</source>
					<publisher-loc>Ed. San Francisco, CA, USA</publisher-loc>
					<year>1993</year>
				</element-citation>
			</ref>
			<ref id="B4">
				<label>[4]</label>
				<mixed-citation>[4] Solano, A., Rusu, C., Collazos, C., Roncagliolo, V., Arciniegas J. and Rusu, V., Usability heuristics for interactive digital television. Proceedings of the 3rd International Conference on Advances in Future Internet. IARA, Nice, France, 2011.</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Solano</surname>
							<given-names>A</given-names>
						</name>
					</person-group>
					<person-group person-group-type="author">
						<name>
							<surname>Rusu</surname>
							<given-names>C</given-names>
						</name>
					</person-group>
					<person-group person-group-type="author">
						<name>
							<surname>Collazos</surname>
							<given-names>C</given-names>
						</name>
					</person-group>
					<person-group person-group-type="author">
						<name>
							<surname>Roncagliolo</surname>
							<given-names>V</given-names>
						</name>
					</person-group>
					<person-group person-group-type="author">
						<name>
							<surname>Arciniegas</surname>
							<given-names>J</given-names>
						</name>
					</person-group>
					<person-group person-group-type="author">
						<name>
							<surname>Rusu</surname>
							<given-names>V</given-names>
						</name>
					</person-group>
					<source>Usability heuristics for interactive digital television</source>
					<conf-name>Proceedings of the 3rd International Conference on Advances in Future Internet</conf-name>
					<conf-sponsor>IARA, Nice</conf-sponsor>
					<conf-loc>France</conf-loc>
					<year>2011</year>
				</element-citation>
			</ref>
			<ref id="B5">
				<label>[5]</label>
				<mixed-citation>[5] Dix, A., Finlay, J., Abowd, G. and Beale, R., Human-computer interaction, 3rd ed., Pearson, Edinburgh, UK, 2003.</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Dix</surname>
							<given-names>A.</given-names>
						</name>
						<name>
							<surname>Finlay</surname>
							<given-names>J.</given-names>
						</name>
						<name>
							<surname>Abowd</surname>
							<given-names>G.</given-names>
						</name>
						<name>
							<surname>Beale</surname>
							<given-names>R</given-names>
						</name>
					</person-group>
					<source>Human-computer interaction</source>
					<edition>3</edition>
					<publisher-loc>Pearson, Edinburgh</publisher-loc>
					<publisher-name>UK</publisher-name>
					<year>2003</year>
				</element-citation>
			</ref>
			<ref id="B6">
				<label>[6]</label>
				<mixed-citation>[6] Soares, L., Rodrigues, R. and Moreno, M., Ginga-NCL: the declarative environment of the Brazilian digital TV system. Journal of the Brazilian Computer Society, 12, pp. 37-46. 2007. DOI: 10.1007/BF03192400</mixed-citation>
				<element-citation publication-type="journal">
					<person-group person-group-type="author">
						<name>
							<surname>Soares</surname>
							<given-names>L.</given-names>
						</name>
						<name>
							<surname>Rodrigues</surname>
							<given-names>R.</given-names>
						</name>
						<name>
							<surname>Moreno</surname>
							<given-names>M</given-names>
						</name>
					</person-group>
					<article-title>Ginga-NCL: the declarative environment of the Brazilian digital TV system</article-title>
					<source>Journal of the Brazilian Computer Society</source>
					<volume>12</volume>
					<fpage>37</fpage>
					<lpage>46</lpage>
					<year>2007</year>
					<pub-id pub-id-type="doi">10.1007/BF03192400</pub-id>
				</element-citation>
			</ref>
			<ref id="B7">
				<label>[7]</label>
				<mixed-citation>[7] Clements, P. and Northrop, L., Software product lines: practices and patterns. Addison-Wesley Professional, Boston, MA, USA, 2002.</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Clements</surname>
							<given-names>P.</given-names>
						</name>
						<name>
							<surname>Northrop</surname>
							<given-names>L.</given-names>
						</name>
					</person-group>
					<source>Software product lines: practices and patterns</source>
					<publisher-name>Addison-Wesley Professional</publisher-name>
					<publisher-loc>Boston, MA, USA</publisher-loc>
					<year>2002</year>
				</element-citation>
			</ref>
			<ref id="B8">
				<label>[8]</label>
				<mixed-citation>[8] Kunert, T., User-centered interaction design patterns for interactive digital television applications. Springer-Verlag, London, UK, 2009. DOI: 10.1007/978-1-84882-275-7</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Kunert</surname>
							<given-names>T</given-names>
						</name>
					</person-group>
					<source>User-centered interaction design patterns for interactive digital television applications</source>
					<publisher-loc>Springer-Verlag, London</publisher-loc>
					<publisher-name>UK</publisher-name>
					<year>2009</year>
					<pub-id pub-id-type="doi">10.1007/978-1-84882-275-7</pub-id>
				</element-citation>
			</ref>
			<ref id="B9">
				<label>[9]</label>
				<mixed-citation>[9] Apel, S. and Kästner, C., An overview of feature-oriented software development. Journal of Object Technology, 8(5), pp. 49-84. 2009. DOI: 10.5381/jot.2009.8.5.c5</mixed-citation>
				<element-citation publication-type="journal">
					<person-group person-group-type="author">
						<name>
							<surname>Apel</surname>
							<given-names>S.</given-names>
						</name>
						<name>
							<surname>Kästner</surname>
							<given-names>C</given-names>
						</name>
					</person-group>
					<article-title>An overview of feature-oriented software development</article-title>
					<source>Journal of Object Technology</source>
					<volume>8</volume>
					<issue>5</issue>
					<fpage>49</fpage>
					<lpage>84</lpage>
					<year>2009</year>
					<pub-id pub-id-type="doi">10.5381/jot.2009.8.5.c5</pub-id>
				</element-citation>
			</ref>
			<ref id="B10">
				<label>[10]</label>
				<mixed-citation>[10] Hevner, A. and Chatterjee, S., Design research in information systems, theory and practice. Springer, Boston, MA, USA, 2010. DOI: 10.1007/978-1-4419-5653-8.</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Hevner</surname>
							<given-names>A.</given-names>
						</name>
						<name>
							<surname>Chatterjee</surname>
							<given-names>S</given-names>
						</name>
					</person-group>
					<source>Design research in information systems, theory and practice</source>
					<publisher-name>Springer</publisher-name>
					<publisher-loc>Boston, MA, USA</publisher-loc>
					<year>2010</year>
					<pub-id pub-id-type="doi">10.1007/978-1-4419-5653-8</pub-id>
				</element-citation>
			</ref>
			<ref id="B11">
				<label>[11]</label>
				<mixed-citation>[11] Kästner, C., Thüm, T., Saake, G., Feigenspan, J., Leich, T., Wielgorz, F. and Apel, S., Feature IDE: a tool framework for feature-oriented software development. Proceedings of the International Conference on Software Engineering, IEEE Computer Society, Vancouver, Canada, 2009, pp. 611-614, DOI: 10.1109/ICSE.2009.5070568</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Kästner</surname>
							<given-names>C.</given-names>
						</name>
						<name>
							<surname>Thüm</surname>
							<given-names>T.</given-names>
						</name>
						<name>
							<surname>Saake</surname>
							<given-names>G.</given-names>
						</name>
						<name>
							<surname>Feigenspan</surname>
							<given-names>J.</given-names>
						</name>
						<name>
							<surname>Leich</surname>
							<given-names>T.</given-names>
						</name>
						<name>
							<surname>Wielgorz</surname>
							<given-names>F.</given-names>
						</name>
						<name>
							<surname>Apel</surname>
							<given-names>S</given-names>
						</name>
					</person-group>
					<source>Feature IDE: a tool framework for feature-oriented software development</source>
					<conf-name>Proceedings of the International Conference on Software Engineering</conf-name>
					<conf-sponsor>IEEE Computer Society</conf-sponsor>
					<conf-loc>Vancouver, Canada</conf-loc>
					<year>2009</year>
					<fpage>611</fpage>
					<lpage>614</lpage>
					<pub-id pub-id-type="doi">10.1109/ICSE.2009.5070568</pub-id>
				</element-citation>
			</ref>
			<ref id="B12">
				<label>[12]</label>
				<mixed-citation>[12] Batory, D., AHEAD tool suite. [online]. 2017. Available at: <ext-link ext-link-type="uri" xlink:href="https://www.cs.utexas.edu/~schwartz/ATS/fopdocs">https://www.cs.utexas.edu/~schwartz/ATS/fopdocs</ext-link>.</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Batory</surname>
							<given-names>D</given-names>
						</name>
					</person-group>
					<source>AHEAD tool suite</source>
					<year>2017</year>
					<ext-link ext-link-type="uri" xlink:href="https://www.cs.utexas.edu/~schwartz/ATS/fopdocs">https://www.cs.utexas.edu/~schwartz/ATS/fopdocs</ext-link>
				</element-citation>
			</ref>
			<ref id="B13">
				<label>[13]</label>
				<mixed-citation>[13] Montagud, G., Un método para la evaluación de la calidad de líneas de productos software basado en SQuaRE. MSc. Tesis. [en línea]. 2009. RiUnet repository UPV Disponible en: <ext-link ext-link-type="uri" xlink:href="Http://hdl.handle.net/10251/11923">Http://hdl.handle.net/10251/11923</ext-link>
				</mixed-citation>
				<element-citation publication-type="thesis">
					<person-group person-group-type="author">
						<name>
							<surname>Montagud</surname>
							<given-names>G</given-names>
						</name>
					</person-group>
					<source>Un método para la evaluación de la calidad de líneas de productos software basado en SQuaRE</source>
					<comment content-type="degree">MSc. Tesis</comment>
					<year>2009</year>
					<publisher-name>RiUnet repository UPV</publisher-name>
					<ext-link ext-link-type="uri" xlink:href="Http://hdl.handle.net/10251/11923">Http://hdl.handle.net/10251/11923</ext-link>
				</element-citation>
			</ref>
			<ref id="B14">
				<label>[14]</label>
				<mixed-citation>[14] Guimarães, R., de Resende-Costa, R. and Soares, L., Composer: authoring tool for iTV programs. European Conference on Interactive Television, Springer Berlin Heidelberg, pp. 61-71, 2008.</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Guimarães</surname>
							<given-names>R.</given-names>
						</name>
						<name>
							<surname>de Resende-Costa</surname>
							<given-names>R.</given-names>
						</name>
						<name>
							<surname>Soares</surname>
							<given-names>L</given-names>
						</name>
					</person-group>
					<source>Composer: authoring tool for iTV programs</source>
					<conf-name>European Conference on Interactive Television</conf-name>
					<conf-sponsor>Springer Berlin Heidelberg</conf-sponsor>
					<fpage>61</fpage>
					<lpage>71</lpage>
					<year>2008</year>
				</element-citation>
			</ref>
			<ref id="B15">
				<label>[15]</label>
				<mixed-citation>[15] Barboza, D. and Clua, E., Ginga Game: a framework for game development for the interactive digital television. Proceedings of the VIII Brazilian Symposium on Games and Digital Entertainment. IEEE Computer Society, Rio de Janeiro, Brazil, 2009, pp. 162-167. DOI: 10.1109/SBGAMES.26</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Barboza</surname>
							<given-names>D.</given-names>
						</name>
						<name>
							<surname>Clua</surname>
							<given-names>E</given-names>
						</name>
					</person-group>
					<source>Ginga Game: a framework for game development for the interactive digital television</source>
					<conf-name>Proceedings of the VIII Brazilian Symposium on Games and Digital Entertainment</conf-name>
					<conf-sponsor>IEEE Computer Society</conf-sponsor>
					<conf-loc>Rio de Janeiro, Brazil</conf-loc>
					<year>2009</year>
					<fpage>162</fpage>
					<lpage>167</lpage>
					<pub-id pub-id-type="doi">10.1109/SBGAMES.26</pub-id>
				</element-citation>
			</ref>
			<ref id="B16">
				<label>[16]</label>
				<mixed-citation>[16] Pequeno, H., Gomes, G. and Castro, M., FrameIDTV: a framework for developing interactive applications on digital television environments. International Journal on Network and Computer Applications, 33(9), pp. 503-511, 2010. DOI: 10.1016/j.jnca.2010.01.002. </mixed-citation>
				<element-citation publication-type="journal">
					<person-group person-group-type="author">
						<name>
							<surname>Pequeno</surname>
							<given-names>H.</given-names>
						</name>
						<name>
							<surname>Gomes</surname>
							<given-names>G.</given-names>
						</name>
						<name>
							<surname>Castro</surname>
							<given-names>M</given-names>
						</name>
					</person-group>
					<article-title>FrameIDTV: a framework for developing interactive applications on digital television environments</article-title>
					<source>International Journal on Network and Computer Applications</source>
					<volume>33</volume>
					<issue>9</issue>
					<fpage>503</fpage>
					<lpage>511</lpage>
					<year>2010</year>
					<pub-id pub-id-type="doi">10.1016/j.jnca.2010.01.002</pub-id>
				</element-citation>
			</ref>
			<ref id="B17">
				<label>[17]</label>
				<mixed-citation>[17] Honorato, G. and Barbosa, S., NCL-inspector: towards improving NCL code. Proceedings of the ACM Symposium on Applied Computing, ACM. Sierre, Switzerland, 2010, pp. 1946-1947. DOI: 10.1145/1774088.1774500</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Honorato</surname>
							<given-names>G.</given-names>
						</name>
						<name>
							<surname>Barbosa</surname>
							<given-names>S</given-names>
						</name>
					</person-group>
					<source>NCL-inspector: towards improving NCL code</source>
					<conf-name>Proceedings of the ACM Symposium on Applied Computing</conf-name>
					<conf-sponsor>ACM</conf-sponsor>
					<conf-loc>Sierre, Switzerland</conf-loc>
					<year>2010</year>
					<fpage>1946</fpage>
					<lpage>1947</lpage>
					<pub-id pub-id-type="doi">10.1145/1774088.1774500</pub-id>
				</element-citation>
			</ref>
			<ref id="B18">
				<label>[18]</label>
				<mixed-citation>[18] Segundo, R., da Silva, J. and Tavares, T., ATHUS: a generic framework for game development on Ginga middleware. Proceedings of Brazilian Symposium on Games and Digital Entertainment. IEEE, Florianopolis, Brazil, 2010, pp. 89-96. DOI: 10.1109/SBGAMES.2010.28</mixed-citation>
				<element-citation publication-type="journal">
					<person-group person-group-type="author">
						<name>
							<surname>Segundo</surname>
							<given-names>R.</given-names>
						</name>
						<name>
							<surname>da Silva</surname>
							<given-names>J.</given-names>
						</name>
						<name>
							<surname>Tavares</surname>
							<given-names>T</given-names>
						</name>
					</person-group>
					<article-title>ATHUS: a generic framework for game development on Ginga middleware. Proceedings of Brazilian Symposium on Games and Digital Entertainment</article-title>
					<source>IEEE, Florianopolis, Brazil</source>
					<year>2010</year>
					<fpage>89</fpage>
					<lpage>96</lpage>
					<pub-id pub-id-type="doi">10.1109/SBGAMES.2010.28</pub-id>
				</element-citation>
			</ref>
			<ref id="B19">
				<label>[19]</label>
				<mixed-citation>[19] Neto, S., Bezerra, P. and Dias, D., ITV-Learning: a prototype for construction of learning objects for interactive digital television. Proceedings of the International Conference on the Future of Education, Pixel. Florence, Italy, 2012, pp. 486-490.</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Neto</surname>
							<given-names>S.</given-names>
						</name>
						<name>
							<surname>Bezerra</surname>
							<given-names>P.</given-names>
						</name>
						<name>
							<surname>Dias</surname>
							<given-names>D</given-names>
						</name>
					</person-group>
					<source>ITV-Learning: a prototype for construction of learning objects for interactive digital television</source>
					<conf-name>Proceedings of the International Conference on the Future of Education</conf-name>
					<conf-sponsor>Pixel</conf-sponsor>
					<conf-loc>Florence, Italy</conf-loc>
					<year>2012</year>
					<fpage>486</fpage>
					<lpage>490</lpage>
				</element-citation>
			</ref>
			<ref id="B20">
				<label>[20]</label>
				<mixed-citation>[20] Arroyo, M., Schwartz, S., Cardozo, S. and Tardivo, L., CreaTVDigital: Composición Visual de Aplicaciones Interactivas para TV Digital. Proceedings of the 41st Jornadas Argentinas de Informática, SADIO, La Plata, Argentina, 2012, pp. 305-321.</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Arroyo</surname>
							<given-names>M.</given-names>
						</name>
						<name>
							<surname>Schwartz</surname>
							<given-names>S.</given-names>
						</name>
						<name>
							<surname>Cardozo</surname>
							<given-names>S.</given-names>
						</name>
						<name>
							<surname>Tardivo</surname>
							<given-names>L</given-names>
						</name>
					</person-group>
					<source>CreaTVDigital: Composición Visual de Aplicaciones Interactivas para TV Digital</source>
					<conf-name>Proceedings of the 41st Jornadas Argentinas de Informática</conf-name>
					<conf-sponsor>SADIO</conf-sponsor>
					<conf-loc>La Plata, Argentina</conf-loc>
					<year>2012</year>
					<fpage>305</fpage>
					<lpage>321</lpage>
				</element-citation>
			</ref>
			<ref id="B21">
				<label>[21]</label>
				<mixed-citation>[21] Bernal, I., Cabezas, G. and Quezada, M., Sistema de generación de aplicaciones interactivas para TV Digital para la evaluación de servicios masivos. Revista Politécnica, 32(2), pp. 11-22, 2013</mixed-citation>
				<element-citation publication-type="journal">
					<person-group person-group-type="author">
						<name>
							<surname>Bernal</surname>
							<given-names>I.</given-names>
						</name>
						<name>
							<surname>Cabezas</surname>
							<given-names>G.</given-names>
						</name>
						<name>
							<surname>Quezada</surname>
							<given-names>M</given-names>
						</name>
					</person-group>
					<article-title>Sistema de generación de aplicaciones interactivas para TV Digital para la evaluación de servicios masivos</article-title>
					<source>Revista Politécnica</source>
					<volume>32</volume>
					<issue>2</issue>
					<fpage>11</fpage>
					<lpage>22</lpage>
					<year>2013</year>
				</element-citation>
			</ref>
			<ref id="B22">
				<label>[22]</label>
				<mixed-citation>[22] Gutiérrez-Duarte, S., Guía para el desarrollo de aplicaciones interactivas en TDT para Colombia. Bdigital Repository. Universidad Nacional de Colombia, Bogota, 2013.</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Gutiérrez-Duarte</surname>
							<given-names>S</given-names>
						</name>
					</person-group>
					<source>Guía para el desarrollo de aplicaciones interactivas en TDT para Colombia. Bdigital Repository</source>
					<publisher-name>Universidad Nacional de Colombia</publisher-name>
					<publisher-loc>Bogota</publisher-loc>
					<year>2013</year>
				</element-citation>
			</ref>
			<ref id="B23">
				<label>[23]</label>
				<mixed-citation>[23] Cevallos-Salas, D., Cevallos-Salas, F., Bernal-Carrillo, I. and Mejía-Navarrete, R., Generación automática de contenido para aplicaciones interactivas de Televisión Digital con Ginga-NCL. Proceedings of the III Jornadas iberoamericanas de difusión y capacitación sobre aplicaciones y usabilidad de la TVD, SBC, João Pessoa, Brazil, 2014, pp. 114-121.</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Cevallos-Salas</surname>
							<given-names>D.</given-names>
						</name>
						<name>
							<surname>Cevallos-Salas</surname>
							<given-names>F.</given-names>
						</name>
						<name>
							<surname>Bernal-Carrillo</surname>
							<given-names>I.</given-names>
						</name>
						<name>
							<surname>Mejía-Navarrete</surname>
							<given-names>R</given-names>
						</name>
					</person-group>
					<source>Generación automática de contenido para aplicaciones interactivas de Televisión Digital con Ginga-NCL</source>
					<conf-name>Proceedings of the III Jornadas iberoamericanas de difusión y capacitación sobre aplicaciones y usabilidad de la TVD, SBC</conf-name>
					<conf-loc>João Pessoa, Brazil</conf-loc>
					<year>2014</year>
					<fpage>114</fpage>
					<lpage>121</lpage>
				</element-citation>
			</ref>
			<ref id="B24">
				<label>[24]</label>
				<mixed-citation>[24] Oyarzo, F., Herrera, F. and Casas, S., API TVD: a wizart for interactive applications for Digital TV. Proceedings of the XL Latin American Computer Conference, IEEE. Montevideo, Uruguay, 2014, pp. 1-8.</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Oyarzo</surname>
							<given-names>F.</given-names>
						</name>
						<name>
							<surname>Herrera</surname>
							<given-names>F.</given-names>
						</name>
						<name>
							<surname>Casas</surname>
							<given-names>S</given-names>
						</name>
					</person-group>
					<source>API TVD: a wizart for interactive applications for Digital TV</source>
					<conf-name>Proceedings of the XL Latin American Computer Conference</conf-name>
					<conf-sponsor>IEEE</conf-sponsor>
					<conf-loc>Montevideo, Uruguay</conf-loc>
					<year>2014</year>
					<fpage>1</fpage>
					<lpage>8</lpage>
				</element-citation>
			</ref>
			<ref id="B25">
				<label>[25]</label>
				<mixed-citation>[25] De Souza, V., Galabo, A., Fernándes-Pinto, R., Araujo, F. e De Salles Sores, C., Plataforma online orientada a templates para a criação de aplicativos de telejornalismo. Proceedings of JAUTI, RedAUTI 2014, Palma de Mallorca, Spain, 2014, pp. 102-108.</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>De Souza</surname>
							<given-names>V.</given-names>
						</name>
						<name>
							<surname>Galabo</surname>
							<given-names>A.</given-names>
						</name>
						<name>
							<surname>Fernándes-Pinto</surname>
							<given-names>R.</given-names>
						</name>
						<name>
							<surname>Araujo</surname>
							<given-names>F.</given-names>
						</name>
						<name>
							<surname>De Salles Sores</surname>
							<given-names>C</given-names>
						</name>
					</person-group>
					<source>Plataforma online orientada a templates para a criação de aplicativos de telejornalismo</source>
					<conf-name>Proceedings of JAUTI, RedAUTI 2014</conf-name>
					<conf-loc>Palma de Mallorca, Spain</conf-loc>
					<year>2014</year>
					<fpage>102</fpage>
					<lpage>108</lpage>
				</element-citation>
			</ref>
			<ref id="B26">
				<label>[26]</label>
				<mixed-citation>[26] Ochoa, S., Pillajo, A., Acosta, F. and Olmedo, G., Template generator: software para la generación de aplicaciones interactivas para la televisión digital terrestre a partir de plantilla Ginga y LUA. Proceedings of III Jornadas iberoamericanas de difusión y capacitación sobre aplicaciones y usabilidad de la TVDi, Palma de Mallorca, Spain, 2014, pp. 109-113.</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Ochoa</surname>
							<given-names>S.</given-names>
						</name>
						<name>
							<surname>Pillajo</surname>
							<given-names>A.</given-names>
						</name>
						<name>
							<surname>Acosta</surname>
							<given-names>F.</given-names>
						</name>
						<name>
							<surname>Olmedo</surname>
							<given-names>G</given-names>
						</name>
					</person-group>
					<source>Template generator: software para la generación de aplicaciones interactivas para la televisión digital terrestre a partir de plantilla Ginga y LUA</source>
					<conf-name>Proceedings of III Jornadas iberoamericanas de difusión y capacitación sobre aplicaciones y usabilidad de la TVDi</conf-name>
					<conf-loc>Palma de Mallorca, Spain</conf-loc>
					<year>2014</year>
					<fpage>109</fpage>
					<lpage>113</lpage>
				</element-citation>
			</ref>
			<ref id="B27">
				<label>[27]</label>
				<mixed-citation>[27] Casas S., Herrera F., Oyarzo F. and Trinidad F., Dr. Nau, a Web generator of interactive applications for Digital TV. In: Abásolo, M., Silva, T. and González, N., Eds., Applications and usability of interactive TV. Communications in Computer and Information Science, vol. 1004. Springer, 2019. DOI: 10.1007/978-3-030-23862-9_6</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Casas</surname>
							<given-names>S.</given-names>
						</name>
						<name>
							<surname>Herrera</surname>
							<given-names>F.</given-names>
						</name>
						<name>
							<surname>Oyarzo</surname>
							<given-names>F.</given-names>
						</name>
						<name>
							<surname>Trinidad</surname>
							<given-names>F</given-names>
						</name>
					</person-group>
					<chapter-title>Dr. Nau, a Web generator of interactive applications for Digital TV</chapter-title>
					<person-group person-group-type="author">
						<name>
							<surname>Abásolo</surname>
							<given-names>M.</given-names>
						</name>
						<name>
							<surname>Silva</surname>
							<given-names>T.</given-names>
						</name>
						<name>
							<surname>González</surname>
							<given-names>N</given-names>
						</name>
					</person-group>
					<source>Applications and usability of interactive TV</source>
					<publisher-name>Communications in Computer and Information Science</publisher-name>
					<volume>1004</volume>
					<publisher-name>Springer</publisher-name>
					<year>2019</year>
					<pub-id pub-id-type="doi">10.1007/978-3-030-23862-9_6</pub-id>
				</element-citation>
			</ref>
			<ref id="B28">
				<label>[28]</label>
				<mixed-citation>[28] Pohl, K., Böckle, G. and van der Linden, F., Software product line engineering: foundations, principles and techniques. Springer-Verlag, New York, USA, 2005. DOI: 10.1007/3-540-28901-1</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Pohl</surname>
							<given-names>K.</given-names>
						</name>
						<name>
							<surname>Böckle</surname>
							<given-names>G</given-names>
						</name>
					</person-group>
					<person-group person-group-type="author">
						<name>
							<surname>van der Linden</surname>
							<given-names>F</given-names>
						</name>
					</person-group>
					<source>Software product line engineering: foundations, principles and techniques</source>
					<publisher-name>Springer-Verlag</publisher-name>
					<publisher-loc>New York, USA</publisher-loc>
					<year>2005</year>
					<pub-id pub-id-type="doi">10.1007/3-540-28901-1</pub-id>
				</element-citation>
			</ref>
			<ref id="B29">
				<label>[29]</label>
				<mixed-citation>[29] Batory, D., Feature models, grammars, and propositional formulas. NAMES (Eds.), LNCS: Vol. 3714. Proceedings of Software Product Lines, 9th International Conference, Springer. Rennes, France, 2005, pp. 7-20. DOI: 10.1007/11554844_3</mixed-citation>
				<element-citation publication-type="confproc">
					<person-group person-group-type="author">
						<name>
							<surname>Batory</surname>
							<given-names>D</given-names>
						</name>
					</person-group>
					<source>Feature models, grammars, and propositional formulas</source>
					<person-group person-group-type="author">
						<collab>NAMES</collab>
					</person-group>
					<conf-name>LNCS: Vol. 3714. Proceedings of Software Product Lines, 9th International Conference</conf-name>
					<conf-loc>Springer, Rennes, France</conf-loc>
					<year>2005</year>
					<fpage>7</fpage>
					<lpage>20</lpage>
					<pub-id pub-id-type="doi">10.1007/11554844_3</pub-id>
				</element-citation>
			</ref>
			<ref id="B30">
				<label>[30]</label>
				<mixed-citation>[30] Kang, K., Cohen, S., Hess, J., Novak, W. and Peterson, A., Feature-oriented domain analysis (FODA) feasibility study (Technical Report CMU/SEI-90-TR-021, SEI/CMU). [online]. 1990. SEI Digital Library. Available at: <ext-link ext-link-type="uri" xlink:href="https://resources.sei.cmu.edu/asset_files/technicalreport/1990_005_001_15872.pdf">https://resources.sei.cmu.edu/asset_files/technicalreport/1990_005_001_15872.pdf</ext-link>. 1990.</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Kang</surname>
							<given-names>K.</given-names>
						</name>
						<name>
							<surname>Cohen</surname>
							<given-names>S.</given-names>
						</name>
						<name>
							<surname>Hess</surname>
							<given-names>J.</given-names>
						</name>
						<name>
							<surname>Novak</surname>
							<given-names>W.</given-names>
						</name>
						<name>
							<surname>Peterson</surname>
							<given-names>A</given-names>
						</name>
					</person-group>
					<source>Feature-oriented domain analysis (FODA) feasibility study (Technical Report CMU/SEI-90-TR-021, SEI/CMU)</source>
					<year>1990</year>
					<publisher-name>SEI Digital Library</publisher-name>
					<ext-link ext-link-type="uri" xlink:href="https://resources.sei.cmu.edu/asset_files/technicalreport/1990_005_001_15872.pdf">https://resources.sei.cmu.edu/asset_files/technicalreport/1990_005_001_15872.pdf</ext-link>
					<year>1990</year>
				</element-citation>
			</ref>
			<ref id="B31">
				<label>[31]</label>
				<mixed-citation>[31] Dammagh, M. and Troyer, O., Feature modeling tools: evaluation and lessons learned. In: De Troyer, O., Bauzer-Medeiros, C., Billen, R., Hallot, P., Simitsis, A. and Van Mingroot, H., Eds., LNCS, Vol. 6999. Advances in conceptual modeling: recent developments and new directions: ER 2011, Springer, Berlin, Germany: 2011, pp.120-129. DOI: 10.1007/978-3-642-24574-9_17</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Dammagh</surname>
							<given-names>M.</given-names>
						</name>
						<name>
							<surname>Troyer</surname>
							<given-names>O</given-names>
						</name>
					</person-group>
					<chapter-title>Feature modeling tools: evaluation and lessons learned</chapter-title>
					<person-group person-group-type="author">
						<name>
							<surname>De Troyer</surname>
							<given-names>O.</given-names>
						</name>
						<name>
							<surname>Bauzer-Medeiros</surname>
							<given-names>C.</given-names>
						</name>
						<name>
							<surname>Billen</surname>
							<given-names>R.</given-names>
						</name>
						<name>
							<surname>Hallot</surname>
							<given-names>P.</given-names>
						</name>
						<name>
							<surname>Simitsis</surname>
							<given-names>A.</given-names>
						</name>
						<name>
							<surname>Van Mingroot</surname>
							<given-names>H</given-names>
						</name>
					</person-group>
					<source>LNCS, Vol. 6999. Advances in conceptual modeling: recent developments and new directions: ER 2011</source>
					<publisher-name>Springer</publisher-name>
					<publisher-loc>Berlin, Germany</publisher-loc>
					<year>2011</year>
					<fpage>120</fpage>
					<lpage>129</lpage>
					<pub-id pub-id-type="doi">10.1007/978-3-642-24574-9_17</pub-id>
				</element-citation>
			</ref>
			<ref id="B32">
				<label>[32]</label>
				<mixed-citation>[32] Capilla, R., Bosch, J., Trinidad, P., Ruiz-Cortés, A. and Hincheyd, M., An overview of Dynamic Software Product Line architectures and techniques: observations from research and industry. Journal of Systems and Software, 91, pp. 3-23, 2014. DOI: 10.1016/j.jss.2013.12.038</mixed-citation>
				<element-citation publication-type="journal">
					<person-group person-group-type="author">
						<name>
							<surname>Capilla</surname>
							<given-names>R.</given-names>
						</name>
						<name>
							<surname>Bosch</surname>
							<given-names>J.</given-names>
						</name>
						<name>
							<surname>Trinidad</surname>
							<given-names>P.</given-names>
						</name>
						<name>
							<surname>Ruiz-Cortés</surname>
							<given-names>A.</given-names>
						</name>
						<name>
							<surname>Hincheyd</surname>
							<given-names>M</given-names>
						</name>
					</person-group>
					<article-title>An overview of Dynamic Software Product Line architectures and techniques: observations from research and industry</article-title>
					<source>Journal of Systems and Software</source>
					<volume>91</volume>
					<fpage>3</fpage>
					<lpage>23</lpage>
					<year>2014</year>
					<pub-id pub-id-type="doi">10.1016/j.jss.2013.12.038</pub-id>
				</element-citation>
			</ref>
			<ref id="B33">
				<label>[33]</label>
				<mixed-citation>[33] Borchers, J., A pattern approach to interaction design. Wiley Eds., New York, USA, 2001.</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Borchers</surname>
							<given-names>J</given-names>
						</name>
					</person-group>
					<source>A pattern approach to interaction design</source>
					<publisher-name>Wiley Eds.</publisher-name>
					<publisher-loc>New York, USA</publisher-loc>
					<year>2001</year>
				</element-citation>
			</ref>
			<ref id="B34">
				<label>[34]</label>
				<mixed-citation>[34] Tidwell, J., Common ground: a pattern language for human-computer interface design. [online]. 1999. Available at: <ext-link ext-link-type="uri" xlink:href="http://www.mit.edu/~jtidwell/common_ground.html">http://www.mit.edu/~jtidwell/common_ground.html</ext-link>
				</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>Tidwell</surname>
							<given-names>J</given-names>
						</name>
					</person-group>
					<source>Common ground: a pattern language for human-computer interface design</source>
					<year>1999</year>
					<ext-link ext-link-type="uri" xlink:href="http://www.mit.edu/~jtidwell/common_ground.html">http://www.mit.edu/~jtidwell/common_ground.html</ext-link>
				</element-citation>
			</ref>
			<ref id="B35">
				<label>[35]</label>
				<mixed-citation>[35] van Welie, M., A pattern library for interaction design. [online]. 2000. Available at: <ext-link ext-link-type="uri" xlink:href="http://www.welie.com/patterns">http://www.welie.com/patterns</ext-link>.</mixed-citation>
				<element-citation publication-type="book">
					<person-group person-group-type="author">
						<name>
							<surname>van Welie</surname>
							<given-names>M</given-names>
						</name>
					</person-group>
					<source>A pattern library for interaction design</source>
					<year>2000</year>
					<ext-link ext-link-type="uri" xlink:href="http://www.welie.com/patterns">http://www.welie.com/patterns</ext-link>
				</element-citation>
			</ref>
		</ref-list>
		<fn-group>
			<fn fn-type="other" id="fn1">
				<label>M. Miranda,</label>
				<p> is an assistant at the Institute of Applied Technology of the National University of Southern Patagonia, Argentina. She received her MSc. from the same university at 2018. Her research interests include software development for Digital TV applications. ORCID: 0000-0001-7240-167X.</p>
			</fn>
			<fn fn-type="other" id="fn2">
				<label>S. Casas,</label>
				<p> is an associate professor at the Institute of Applied Technology of the National University of Southern Patagonia, Argentina. She received his PhD from the University of Vigo of Spain at 2008. Her research interests include the study and application of software development improvement techniques. ORCID: 0000-0002-8289-6132</p>
			</fn>
			<fn fn-type="other" id="fn3">
				<label>How to cite:</label>
				<p> Miranda, M. and Casas, S, Usable and Interactive Application Generator for Digital TV. DYNA, 86(211), pp. 174-183, October - December, 2019. </p>
			</fn>
		</fn-group>
	</back>
</article>