<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://onlinelibrarystatic.wiley.com/xslt/wol-journal-rss.xsl"
            type="text/xsl"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><channel rdf:about="http://onlinelibrary.wiley.com/rss/journal/10.1002/(ISSN)1097-024X" xmlns="http://purl.org/rss/1.0/"><title>Software: Practice and Experience</title><description> Wiley Online Library : Software: Practice and Experience</description><link>http://dx.doi.org/10.1002%2F%28ISSN%291097-024X</link><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc</dc:publisher><dc:language xmlns:dc="http://purl.org/dc/elements/1.1/">en</dc:language><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/">© John Wiley &amp; Sons, Ltd.</dc:rights><prism:issn xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">0038-0644</prism:issn><prism:eIssn xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">1097-024X</prism:eIssn><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-01T00:00:00-05:00</dc:date><prism:coverDisplayDate xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">February 2012</prism:coverDisplayDate><prism:volume xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">42</prism:volume><prism:number xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">2</prism:number><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">131</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">260</prism:endingPage><image rdf:resource="http://onlinelibrary.wiley.com/store/10.1002/spe.v42.2/asset/cover.gif?v=1&amp;s=e2f7f35fa05fb9d6f8070d44f0481390cff1f11b"/><items><rdf:Seq><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1150"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1151"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.2112"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.2105"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1154"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1156"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1141"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.2101"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1152"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.2111"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.2110"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.2108"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1153"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.2106"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.2102"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.2104"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1155"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1157"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1132"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1149"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1148"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1143"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1146"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1131"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1117"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1139"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1147"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1145"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1144"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1140"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1135"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1138"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1121"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1137"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1129"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1134"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1126"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1128"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1115"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1127"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1125"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1116"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1123"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1119"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1124"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1130"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1122"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1120"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1118"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1113"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1109"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1114"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1110"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1108"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1112"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1052"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1106"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1104"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1105"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1102"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1096"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1095"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1098"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1091"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1086"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1055"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1077"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1093"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1094"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1090"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1088"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1082"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1089"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1085"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1080"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1074"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1076"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1072"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1054"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1057"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1058"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1066"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1071"/><rdf:li rdf:resource="http://dx.doi.org/10.1002%2Fspe.1070"/></rdf:Seq></items></channel><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1150" xmlns="http://purl.org/rss/1.0/"><title>An asynchronous hierarchical router for networks-on-chip-based three-dimensional multi-processor system-on-chip</title><link>http://dx.doi.org/10.1002%2Fspe.1150</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">An asynchronous hierarchical router for networks-on-chip-based three-dimensional multi-processor system-on-chip</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Walid Lafi</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Didier Lattard</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ahmed Jerrya</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-07T22:47:34.381975-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1150</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1150</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1150</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Three-dimensional networks-on-chip (3D NoC) are rising as a good approach to well managed complex interconnections in 3D multi-processor system-on-chip (MPSoC). This paper introduces a new router in order to enhance throughput and latency compared to classic 3D mesh NoC. The proposed router is hierarchical as it is composed of two completely decoupled modules: one for inter-layer communication and one for intra-layer communication. It is fully implemented in asynchronous logic to allow low latency transfer.</p></div><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Synthesis and extrapolation results show that the hierarchical router is competitive with the classic 3D mesh in terms of area and power. Throughput and latency evaluation is performed using a SystemC-TLM NoC simulator. Simulations' results show that the proposed hierarchical router can outperform the 3D mesh by more than 25% in terms of throughput and latency in the case of transpose traffic. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Three-dimensional networks-on-chip (3D NoC) are rising as a good approach to well managed complex interconnections in 3D multi-processor system-on-chip (MPSoC). This paper introduces a new router in order to enhance throughput and latency compared to classic 3D mesh NoC. The proposed router is hierarchical as it is composed of two completely decoupled modules: one for inter-layer communication and one for intra-layer communication. It is fully implemented in asynchronous logic to allow low latency transfer.Synthesis and extrapolation results show that the hierarchical router is competitive with the classic 3D mesh in terms of area and power. Throughput and latency evaluation is performed using a SystemC-TLM NoC simulator. Simulations' results show that the proposed hierarchical router can outperform the 3D mesh by more than 25% in terms of throughput and latency in the case of transpose traffic. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1151" xmlns="http://purl.org/rss/1.0/"><title>Design, implementation and verification of MILS systems</title><link>http://dx.doi.org/10.1002%2Fspe.1151</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Design, implementation and verification of MILS systems</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Julien Delange</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Laurent Pautet</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Fabrice Kordon</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-06T08:55:23.036964-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1151</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1151</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1151</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Safety-critical systems are used in many domains (military, avionics, aerospace, etc.) and handle critical data in hostile environments. To prevent data access by unauthorized subjects, they must protect and isolate information so that only allowed entities can read or write information. However, because of their increased number of functionalities, safety-critical systems design becomes more complex; this increases difficulties in the design and the verification of security functions and potential error in their implementation. The multiple independent levels of security (MILS) approach introduces rules and guidelines for the design of secure systems. It isolates data according to their security levels, reducing system complexity to ease development. However, there is no approach addressing the whole development of MILS systems from high-level specification (application components with their security levels) to the final implementation (code that executes application functions and provide security mechanisms). This paper presents a complete development approach for the design, verification and implementation of MILS architectures. It aims at providing a complete framework to build secure applications based on MILS guidelines. We describe security concerns using a modeling language, verify security requirements and automatically implement the system code generation techniques and a MILS-compliant operating system that provides security functions. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Safety-critical systems are used in many domains (military, avionics, aerospace, etc.) and handle critical data in hostile environments. To prevent data access by unauthorized subjects, they must protect and isolate information so that only allowed entities can read or write information. However, because of their increased number of functionalities, safety-critical systems design becomes more complex; this increases difficulties in the design and the verification of security functions and potential error in their implementation. The multiple independent levels of security (MILS) approach introduces rules and guidelines for the design of secure systems. It isolates data according to their security levels, reducing system complexity to ease development. However, there is no approach addressing the whole development of MILS systems from high-level specification (application components with their security levels) to the final implementation (code that executes application functions and provide security mechanisms). This paper presents a complete development approach for the design, verification and implementation of MILS architectures. It aims at providing a complete framework to build secure applications based on MILS guidelines. We describe security concerns using a modeling language, verify security requirements and automatically implement the system code generation techniques and a MILS-compliant operating system that provides security functions. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.2112" xmlns="http://purl.org/rss/1.0/"><title>Implementation and performance evaluation of a distributed conjugate gradient method in a cloud computing environment</title><link>http://dx.doi.org/10.1002%2Fspe.2112</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Implementation and performance evaluation of a distributed conjugate gradient method in a cloud computing environment</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leila Ismail</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rajeev Barua</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-06T08:49:14.229827-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2112</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2112</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.2112</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Cloud computing is an emerging technology where information technology resources are provisioned to users in a set of a unified computing resources on a pay per use basis. The resources are dynamically chosen to satisfy a user service level agreement and a required level of performance. A cloud is seen as a computing platform for heavy load applications. Conjugate gradient (CG) method is an iterative linear solver that is used by many scientific and engineering applications to solve a linear system of algebraic equations. CG generates a heavy load of computation, and therefore, it slows the performance of the applications using it. Distributing CG is considered as a way to increase its performance. However, running a distributed CG, based on a standard API, such as Message Passing Interface, in a cloud face many challenges, such as the cloud processing and networking capabilities. In this work, we present an in-depth analysis of the CG algorithm and its complexity to develop adequate distributed algorithms. The implementation of these algorithms and their evaluation in our cloud environment reveal the gains and losses achieved by distributing the CG. The performance results show that despite the complexity of the CG processing and communication, a speedup gain of at least 1157.7 is obtained using 128 cores compared with National Aeronautics and Space Administration Advanced Supercomputing sequential execution. Given the emergence of clouds, the results in this paper analyzes performance issues when a generic public cloud, along with a standard development library, such as Message Passing Interface, is used for high-performance applications, without the need of some specialized hardware and software. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Cloud computing is an emerging technology where information technology resources are provisioned to users in a set of a unified computing resources on a pay per use basis. The resources are dynamically chosen to satisfy a user service level agreement and a required level of performance. A cloud is seen as a computing platform for heavy load applications. Conjugate gradient (CG) method is an iterative linear solver that is used by many scientific and engineering applications to solve a linear system of algebraic equations. CG generates a heavy load of computation, and therefore, it slows the performance of the applications using it. Distributing CG is considered as a way to increase its performance. However, running a distributed CG, based on a standard API, such as Message Passing Interface, in a cloud face many challenges, such as the cloud processing and networking capabilities. In this work, we present an in-depth analysis of the CG algorithm and its complexity to develop adequate distributed algorithms. The implementation of these algorithms and their evaluation in our cloud environment reveal the gains and losses achieved by distributing the CG. The performance results show that despite the complexity of the CG processing and communication, a speedup gain of at least 1157.7 is obtained using 128 cores compared with National Aeronautics and Space Administration Advanced Supercomputing sequential execution. Given the emergence of clouds, the results in this paper analyzes performance issues when a generic public cloud, along with a standard development library, such as Message Passing Interface, is used for high-performance applications, without the need of some specialized hardware and software. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.2105" xmlns="http://purl.org/rss/1.0/"><title>MemSafe: ensuring the spatial and temporal memory safety of C at runtime</title><link>http://dx.doi.org/10.1002%2Fspe.2105</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">MemSafe: ensuring the spatial and temporal memory safety of C at runtime</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Matthew S. Simpson</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rajeev K. Barua</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-02T10:08:43.888064-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2105</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2105</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.2105</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended Conference Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Memory access violations are a leading source of unreliability in C programs. As evidence of this problem, a variety of methods exist that retrofit C with software checks to detect memory errors at runtime. However, these methods generally suffer from one or more drawbacks including the inability to detect all errors, the use of incompatible metadata, the need for manual code modifications, and high runtime overheads. This paper presents a compiler analysis and transformation for ensuring the memory safety of C called MemSafe. MemSafe makes several novel contributions that improve upon previous work and lower the cost of safety. These include (i) a method for modeling temporal errors as spatial errors, (ii) a metadata representation that combines features of both object-based and pointer-based approaches, and (iii) a dataflow representation that simplifies optimizations for removing unneeded checks. MemSafe is capable of detecting real errors with lower overheads than previous efforts. Experimental results show that MemSafe detects all memory errors in six programs with known violations as well as two large and widely used open source applications. Finally, MemSafe ensures complete safety with an average overhead of 88% on 30 programs commonly used for evaluating the performance of error detection tools. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Memory access violations are a leading source of unreliability in C programs. As evidence of this problem, a variety of methods exist that retrofit C with software checks to detect memory errors at runtime. However, these methods generally suffer from one or more drawbacks including the inability to detect all errors, the use of incompatible metadata, the need for manual code modifications, and high runtime overheads. This paper presents a compiler analysis and transformation for ensuring the memory safety of C called MemSafe. MemSafe makes several novel contributions that improve upon previous work and lower the cost of safety. These include (i) a method for modeling temporal errors as spatial errors, (ii) a metadata representation that combines features of both object-based and pointer-based approaches, and (iii) a dataflow representation that simplifies optimizations for removing unneeded checks. MemSafe is capable of detecting real errors with lower overheads than previous efforts. Experimental results show that MemSafe detects all memory errors in six programs with known violations as well as two large and widely used open source applications. Finally, MemSafe ensures complete safety with an average overhead of 88% on 30 programs commonly used for evaluating the performance of error detection tools. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1154" xmlns="http://purl.org/rss/1.0/"><title>Development of electric/electronic architectures for safety-related vehicle functions</title><link>http://dx.doi.org/10.1002%2Fspe.1154</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Development of electric/electronic architectures for safety-related vehicle functions</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">M. Hillenbrand</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">M. Heinz</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">J. Matheis</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">K.D. Müller-Glaser</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-31T05:02:46.131254-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1154</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1154</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1154</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The development of software-based systems for vehicles in compliance with the new standard ISO 26262 – functional safety for road vehicles – requires a common understanding between the two domains. In this paper, we consider the impact of the ISO 26262 to the concept phase of the vehicle development, especially the model-based development of electric/electronic architectures. To found a formal basis for the electric/electronic architecture modeling, located in the development process and addressed by ISO 26262, we introduce a meta-model, combining the major concepts and relations of electric/electronic architectures and ISO 26262. Safety analysis can be supported by data available in the electric/electronic architecture model. In this paper, we present a methodology to facilitate and accumulate context-based information from electric/electronic architecture models to use them as input information for safety analysis. We also demonstrate how to perform the safety analysis method, that is, failure mode and effect analysis, based on the same architecture description language as the electric/electronic architecture model and also within the same modeling tool. We also present a methodology for the modeling and consideration of safety aspects and requirements crossing different system perimeters. This facilitates the consistent description and analysis of systems of systems, such as contemporary vehicles. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>The development of software-based systems for vehicles in compliance with the new standard ISO 26262 – functional safety for road vehicles – requires a common understanding between the two domains. In this paper, we consider the impact of the ISO 26262 to the concept phase of the vehicle development, especially the model-based development of electric/electronic architectures. To found a formal basis for the electric/electronic architecture modeling, located in the development process and addressed by ISO 26262, we introduce a meta-model, combining the major concepts and relations of electric/electronic architectures and ISO 26262. Safety analysis can be supported by data available in the electric/electronic architecture model. In this paper, we present a methodology to facilitate and accumulate context-based information from electric/electronic architecture models to use them as input information for safety analysis. We also demonstrate how to perform the safety analysis method, that is, failure mode and effect analysis, based on the same architecture description language as the electric/electronic architecture model and also within the same modeling tool. We also present a methodology for the modeling and consideration of safety aspects and requirements crossing different system perimeters. This facilitates the consistent description and analysis of systems of systems, such as contemporary vehicles. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1156" xmlns="http://purl.org/rss/1.0/"><title>Current techniques and future trends in embedded system's virtualization </title><link>http://dx.doi.org/10.1002%2Fspe.1156</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Current techniques and future trends in embedded system's virtualization </dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexandra Aguiar</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Fabiano Hessel</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-29T21:48:06.32014-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1156</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1156</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1156</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Traditionally, virtualization has been adopted by enterprise industry to make better use of the general purpose processors (single and multicore) besides improving the utilization of existing computational resources, especially in data centers. Until recently, its use in embedded systems (ESs) seemed to be a distant, unnecessary, and unfeasible reality. However, with the rise of each more powerful multiprocessed ESs, typically implemented as multiprocessor system-on-chip, virtualization has become a very promising technique to achieve and improve functionalities in future multiprocessor system-on-chips. One of the main advantages of virtualizing ESs is to improve the software design quality because legacy software can be reused along with newer applications. Also, we have the classic use cases, such as allowing several operating systems (OSs) to work in the same physical resource, simultaneously. Still, we can provide more secure ESs by splitting the system into user application OS and security certified OS, for instance. Moreover, depending on the way that embedded virtualization is employed, it may be even possible to reduce manufacturing costs and energy consumption levels. However, it is well understood that although ESs deal with increasingly more powerful solutions, they are still far more restricted than general purpose computers, especially in terms of area, memory size, and power consumption. In this article, we provide an extensive analysis of what is being currently offered as embedded virtualization solution, the pros and cons, besides presenting an innovative proposal regarding virtualization for restricted embedded architectures and its possible advantages. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Traditionally, virtualization has been adopted by enterprise industry to make better use of the general purpose processors (single and multicore) besides improving the utilization of existing computational resources, especially in data centers. Until recently, its use in embedded systems (ESs) seemed to be a distant, unnecessary, and unfeasible reality. However, with the rise of each more powerful multiprocessed ESs, typically implemented as multiprocessor system-on-chip, virtualization has become a very promising technique to achieve and improve functionalities in future multiprocessor system-on-chips. One of the main advantages of virtualizing ESs is to improve the software design quality because legacy software can be reused along with newer applications. Also, we have the classic use cases, such as allowing several operating systems (OSs) to work in the same physical resource, simultaneously. Still, we can provide more secure ESs by splitting the system into user application OS and security certified OS, for instance. Moreover, depending on the way that embedded virtualization is employed, it may be even possible to reduce manufacturing costs and energy consumption levels. However, it is well understood that although ESs deal with increasingly more powerful solutions, they are still far more restricted than general purpose computers, especially in terms of area, memory size, and power consumption. In this article, we provide an extensive analysis of what is being currently offered as embedded virtualization solution, the pros and cons, besides presenting an innovative proposal regarding virtualization for restricted embedded architectures and its possible advantages. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1141" xmlns="http://purl.org/rss/1.0/"><title>Heedless programming: ignoring detectable error is a widespread hazard</title><link>http://dx.doi.org/10.1002%2Fspe.1141</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Heedless programming: ignoring detectable error is a widespread hazard</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Harold Thimbleby</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-29T21:44:53.942788-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1141</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1141</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1141</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Software should be correct and robust. This paper suggests that we need forthright words for the failure of not being robust—<em>heedless</em> and <em>heedlessness</em>—and of recursively creating software (such as a compiler or virtual machine) that itself does not support dependable software development. Heedless programming is common, particularly affecting ‘trivial’ operations such as on numbers, and extends deep into programming language design and into the use of computers more widely, thus making robust, dependable applications of all sorts unnecessarily problematic. The paper defines the problem and presents a call to action to start addressing the problems identified. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Software should be correct and robust. This paper suggests that we need forthright words for the failure of not being robust—heedless and heedlessness—and of recursively creating software (such as a compiler or virtual machine) that itself does not support dependable software development. Heedless programming is common, particularly affecting ‘trivial’ operations such as on numbers, and extends deep into programming language design and into the use of computers more widely, thus making robust, dependable applications of all sorts unnecessarily problematic. The paper defines the problem and presents a call to action to start addressing the problems identified. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.2101" xmlns="http://purl.org/rss/1.0/"><title>Enhancing OSGi with real-time Java support</title><link>http://dx.doi.org/10.1002%2Fspe.2101</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Enhancing OSGi with real-time Java support</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">P. Basanta-Val</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">M. García-Valls</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">I. Estévez-Ayres</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-29T21:16:51.044005-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2101</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2101</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.2101</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>OSGi was designed with embedded systems in mind, its current support is insufficient for coping with one main characteristic of many embedded systems: real-time performance. This article analyzes different key issues in providing OSGi with real-time Java performance covering motivational issues, and different integration ways and challenges stemming from the integration. It also contributes a general framework for introducing real-time performance in OSGi, which is called the real-time for OSGi framework. The framework uses real-time Java virtual machines and the real-time specification for Java. The adoption of this framework allows cyber-physical systems to experience real-time Java performance in their applications. The framework introduces several integration levels for OSGi and real-time specification for Java, and specific real-time OSGi services. An empirical implementation was carried out using standard software, which was extended with the new defined services. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>OSGi was designed with embedded systems in mind, its current support is insufficient for coping with one main characteristic of many embedded systems: real-time performance. This article analyzes different key issues in providing OSGi with real-time Java performance covering motivational issues, and different integration ways and challenges stemming from the integration. It also contributes a general framework for introducing real-time performance in OSGi, which is called the real-time for OSGi framework. The framework uses real-time Java virtual machines and the real-time specification for Java. The adoption of this framework allows cyber-physical systems to experience real-time Java performance in their applications. The framework introduces several integration levels for OSGi and real-time specification for Java, and specific real-time OSGi services. An empirical implementation was carried out using standard software, which was extended with the new defined services. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1152" xmlns="http://purl.org/rss/1.0/"><title>Validating quality attribute requirements via execution-based model checking</title><link>http://dx.doi.org/10.1002%2Fspe.1152</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Validating quality attribute requirements via execution-based model checking</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Doron Drusinsky</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Man-Tak Shing</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-27T06:02:03.007622-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1152</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1152</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1152</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This paper is concerned with the correct specification and validation of quality attribute requirements (QARs) that crosscut through a diverse set of complex system functions. These requirements act as modifiers of system level functional requirements and thus have substantial influence on the eventual architectural selection. Because system designers traditionally address these requirements one quality attribute at a time, the process frequently results in QARs that contain subtle conflicting behaviors. This paper presents an approach to QAR-induced behavior validation and conflict detection via execution-based model checking early in the software development process. It explores the concept of conflicts between requirements with temporal and sequencing behaviors and presents an automated approach for discovering such conflicts. Published 2012. This article is a US Government work and is in the public domain in the USA.</p></div>]]></content:encoded><description>This paper is concerned with the correct specification and validation of quality attribute requirements (QARs) that crosscut through a diverse set of complex system functions. These requirements act as modifiers of system level functional requirements and thus have substantial influence on the eventual architectural selection. Because system designers traditionally address these requirements one quality attribute at a time, the process frequently results in QARs that contain subtle conflicting behaviors. This paper presents an approach to QAR-induced behavior validation and conflict detection via execution-based model checking early in the software development process. It explores the concept of conflicts between requirements with temporal and sequencing behaviors and presents an automated approach for discovering such conflicts. Published 2012. This article is a US Government work and is in the public domain in the USA.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.2111" xmlns="http://purl.org/rss/1.0/"><title>A threat model-based approach to security testing</title><link>http://dx.doi.org/10.1002%2Fspe.2111</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A threat model-based approach to security testing</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Aaron Marback</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hyunsook Do</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ke He</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Samuel Kondamarri</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dianxiang Xu</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-26T05:38:57.699145-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2111</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2111</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.2111</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended Conference Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Software security issues have been a major concern in the cyberspace community, so a great deal of research on security testing has been performed, and various security testing techniques have been developed. Threat modeling provides a systematic way to identify threats that might compromise security, and it has been a well-accepted practice by the industry, but test case generation from threat models has not been addressed yet. Thus, in this paper, we propose a threat model-based security testing approach that automatically generates security test sequences from threat trees and transforms them into executable tests. The security testing approach we consider consists of three activities in large: building threat models with threat trees; generating security test sequences from threat trees; and creating executable test cases by considering valid and invalid inputs. To support our approach, we implemented security test generation techniques, and we also conducted an empirical study to assess the effectiveness of our approach. The results of our study show that our threat tree-based approach is effective in exposing vulnerabilities. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Software security issues have been a major concern in the cyberspace community, so a great deal of research on security testing has been performed, and various security testing techniques have been developed. Threat modeling provides a systematic way to identify threats that might compromise security, and it has been a well-accepted practice by the industry, but test case generation from threat models has not been addressed yet. Thus, in this paper, we propose a threat model-based security testing approach that automatically generates security test sequences from threat trees and transforms them into executable tests. The security testing approach we consider consists of three activities in large: building threat models with threat trees; generating security test sequences from threat trees; and creating executable test cases by considering valid and invalid inputs. To support our approach, we implemented security test generation techniques, and we also conducted an empirical study to assess the effectiveness of our approach. The results of our study show that our threat tree-based approach is effective in exposing vulnerabilities. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.2110" xmlns="http://purl.org/rss/1.0/"><title>Grammatical and context-sensitive error correction using a statistical machine translation framework</title><link>http://dx.doi.org/10.1002%2Fspe.2110</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Grammatical and context-sensitive error correction using a statistical machine translation framework</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nava Ehsan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Heshaam Faili</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-26T05:36:52.346683-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2110</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2110</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.2110</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Producing electronic rather than paper documents has considerable benefits such as easier organizing and data management. Therefore, existence of automatic writing assistance tools such as spell and grammar checker/correctors can increase the quality of electronic texts by removing noise and correcting the erroneous sentences. Different kinds of errors in a text can be categorized into spelling, grammatical and real-word errors. In this article, we present a language-independent approach based on a statistical machine translation framework to develop a proofreading tool, which detects grammatical errors as well as context-sensitive spelling mistakes (real-word errors). A hybrid model for grammar checking is suggested by combining the mentioned approach with an existing rule-based grammar checker. Experimental results on both English and Persian languages indicate that the proposed statistical method and the rule-based grammar checker are complementary in detecting and correcting syntactic errors. The results of the hybrid grammar checker, applied to some English texts, show an improvement of about 24% with respect to the recall metric with almost similar value for precision. Experiments on real-world data set show that state-of-the-art results are achieved for grammar checking and context-sensitive spell checking for Persian language.Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Producing electronic rather than paper documents has considerable benefits such as easier organizing and data management. Therefore, existence of automatic writing assistance tools such as spell and grammar checker/correctors can increase the quality of electronic texts by removing noise and correcting the erroneous sentences. Different kinds of errors in a text can be categorized into spelling, grammatical and real-word errors. In this article, we present a language-independent approach based on a statistical machine translation framework to develop a proofreading tool, which detects grammatical errors as well as context-sensitive spelling mistakes (real-word errors). A hybrid model for grammar checking is suggested by combining the mentioned approach with an existing rule-based grammar checker. Experimental results on both English and Persian languages indicate that the proposed statistical method and the rule-based grammar checker are complementary in detecting and correcting syntactic errors. The results of the hybrid grammar checker, applied to some English texts, show an improvement of about 24% with respect to the recall metric with almost similar value for precision. Experiments on real-world data set show that state-of-the-art results are achieved for grammar checking and context-sensitive spell checking for Persian language.Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.2108" xmlns="http://purl.org/rss/1.0/"><title>Linguistic security testing for text communication protocols</title><link>http://dx.doi.org/10.1002%2Fspe.2108</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Linguistic security testing for text communication protocols</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben W.Y. Kam</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas R. Dean</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-25T04:06:29.823855-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2108</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2108</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.2108</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>We introduce a new Syntax-based Security Testing framework that uses a protocol specification to perform security testing on text-based communication protocols. A protocol specification of a particular text-based protocol under test represents its syntactic grammar and static constraints. The specification is used to generate test cases by mutating valid messages, breaking the syntax and constraints of the protocol. The framework is demonstrated using a toy web application and the open source application KOrganizer.Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>We introduce a new Syntax-based Security Testing framework that uses a protocol specification to perform security testing on text-based communication protocols. A protocol specification of a particular text-based protocol under test represents its syntactic grammar and static constraints. The specification is used to generate test cases by mutating valid messages, breaking the syntax and constraints of the protocol. The framework is demonstrated using a toy web application and the open source application KOrganizer.Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1153" xmlns="http://purl.org/rss/1.0/"><title>Quality aspects for component-based systems: A metrics based approach</title><link>http://dx.doi.org/10.1002%2Fspe.1153</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Quality aspects for component-based systems: A metrics based approach</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vijai Kumar</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Arun Sharma</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rajesh Kumar</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">P.S. Grover</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-20T00:19:28.653626-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1153</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1153</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1153</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>In component-based development, software systems are built by assembling components already developed and prepared for integration. To estimate the quality of components, complexity, reusability, dependability, and maintainability are the key aspects. The quality of an individual component influences the quality of the overall system. Therefore, there is a strong need to select the best quality component, both from functional and nonfunctional aspects. The present paper produces a critical analysis of metrics for various quality aspects for components and component-based systems. These aspects include four main quality factors: complexity, dependency, reusability, and maintainability. A systematic study is applied to find as much literature as possible. A total of 49 papers were found suitable after a defined search criteria. The analysis provided in this paper has a different objective as we focused on efficiency and practical ability of the proposed approach in the selected papers. The various key attributes from these two are defined. Each paper is evaluated based on the various key parameters viz. metrics definition, implementation technique, validation, usability, data source, comparative analysis, practicability, and extendibility. The paper critically examines various quality aspects and their metrics for component-based systems. In some papers, authors have also compared the results with other techniques. For characteristics like complexity and dependency, most of the proposed metrics are analytical. Soft computing and evolutionary approaches are either not being used or much less explored so far for these aspects, which may be the future concern for the researchers. In addition, hybrid approaches like neuro-fuzzy, neuro-genetic, etc., may also be examined for evaluation of these aspects. However, to conclude that one particular technique is better than others may not be appropriate. It may be true for one characteristic by considering different set of inputs and dataset but may not be true for the same with different inputs. The intension in the proposed work is to give a score for each metric proposed by the researchers based on the selected parameters, but certainly not to criticize any research contribution by authors. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>In component-based development, software systems are built by assembling components already developed and prepared for integration. To estimate the quality of components, complexity, reusability, dependability, and maintainability are the key aspects. The quality of an individual component influences the quality of the overall system. Therefore, there is a strong need to select the best quality component, both from functional and nonfunctional aspects. The present paper produces a critical analysis of metrics for various quality aspects for components and component-based systems. These aspects include four main quality factors: complexity, dependency, reusability, and maintainability. A systematic study is applied to find as much literature as possible. A total of 49 papers were found suitable after a defined search criteria. The analysis provided in this paper has a different objective as we focused on efficiency and practical ability of the proposed approach in the selected papers. The various key attributes from these two are defined. Each paper is evaluated based on the various key parameters viz. metrics definition, implementation technique, validation, usability, data source, comparative analysis, practicability, and extendibility. The paper critically examines various quality aspects and their metrics for component-based systems. In some papers, authors have also compared the results with other techniques. For characteristics like complexity and dependency, most of the proposed metrics are analytical. Soft computing and evolutionary approaches are either not being used or much less explored so far for these aspects, which may be the future concern for the researchers. In addition, hybrid approaches like neuro-fuzzy, neuro-genetic, etc., may also be examined for evaluation of these aspects. However, to conclude that one particular technique is better than others may not be appropriate. It may be true for one characteristic by considering different set of inputs and dataset but may not be true for the same with different inputs. The intension in the proposed work is to give a score for each metric proposed by the researchers based on the selected parameters, but certainly not to criticize any research contribution by authors. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.2106" xmlns="http://purl.org/rss/1.0/"><title>Automatic generation of compiler backends</title><link>http://dx.doi.org/10.1002%2Fspe.2106</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Automatic generation of compiler backends</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Florian Brandner</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Viktor Pavlu</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andreas Krall</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-16T05:15:39.954063-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2106</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2106</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.2106</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended conference paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Application-specific instruction set processors have proven successful in meeting the various design constraints of modern embedded systems and often provide the only viable trade-off between computing power and opposing metrics such as power consumption. A promising approach to facilitate the exploration of processor design alternatives are processor description languages, which capture the instruction set and hardware organization of a processor. With the use of those processor models, various design tasks, for example, the adaption of software development tools, the generation of hardware models, and various verification tasks, can be automatized. These languages thus allow effective shortening of development turnaround times. In this work, the novel xADL language is presented, which, in contrast to most contemporary processor description languages, focuses on a structural modeling of the processor's hardware organization. However, a behavioral model of the instruction set is automatically derived using instruction set extraction. This provides a tight coupling between the structural hardware view and the instruction set view of the processor and reduces the complexity of processor models in comparison with existing languages. The feasibility of our approach is demonstrated by a compiler backend generator based on tree pattern matching. An important property of our generator is its ability to automatically verify whether the resulting compiler is complete, that is, it can process all possible input programs. The generated compilers are competitive to handcrafted production compilers, showing speedups of up to 20<em>%</em> for certain benchmarks. On average, moderate slowdowns between 3<em>%</em> and 15<em>%</em> have been observed for several processor models while considerable reductions in code size have been measured. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Application-specific instruction set processors have proven successful in meeting the various design constraints of modern embedded systems and often provide the only viable trade-off between computing power and opposing metrics such as power consumption. A promising approach to facilitate the exploration of processor design alternatives are processor description languages, which capture the instruction set and hardware organization of a processor. With the use of those processor models, various design tasks, for example, the adaption of software development tools, the generation of hardware models, and various verification tasks, can be automatized. These languages thus allow effective shortening of development turnaround times. In this work, the novel xADL language is presented, which, in contrast to most contemporary processor description languages, focuses on a structural modeling of the processor's hardware organization. However, a behavioral model of the instruction set is automatically derived using instruction set extraction. This provides a tight coupling between the structural hardware view and the instruction set view of the processor and reduces the complexity of processor models in comparison with existing languages. The feasibility of our approach is demonstrated by a compiler backend generator based on tree pattern matching. An important property of our generator is its ability to automatically verify whether the resulting compiler is complete, that is, it can process all possible input programs. The generated compilers are competitive to handcrafted production compilers, showing speedups of up to 20% for certain benchmarks. On average, moderate slowdowns between 3% and 15% have been observed for several processor models while considerable reductions in code size have been measured. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.2102" xmlns="http://purl.org/rss/1.0/"><title>WYSIWIB: exploiting fine-grained program structure in a scriptable API-usage protocol-finding process</title><link>http://dx.doi.org/10.1002%2Fspe.2102</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">WYSIWIB: exploiting fine-grained program structure in a scriptable API-usage protocol-finding process</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Julia L. Lawall</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Julien Brunel</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nicolas Palix</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">René Rydhof Hansen</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Henrik Stuart</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gilles Muller</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-16T04:33:29.119895-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2102</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2102</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.2102</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Bug-finding tools rely on specifications of what is correct or incorrect code. As it is difficult for a tool developer or user to anticipate all possible specifications, strategies for inferring specifications have been proposed. These strategies obtain probable specifications by observing common characteristics of code or execution traces, typically focusing on sequences of function calls. To counter the observed high rate of false positives, heuristics have been proposed for ranking or pruning the results. These heuristics, however, can result in false negatives, especially for rarely used functions. In this paper, we propose an alternate approach to specification inference, in which the user guides the inference process using patterns of code that reflect the user's understanding of the conventions and design of the targeted software project. We focus on specifications describing the correct usage of API functions, which we refer to as API protocols. Our approach builds on the Coccinelle program matching and transformation tool, which allows a user to construct patterns that reflect the structure of the code to be matched. We evaluate our approach on the source code of the Linux kernel, which defines a very large number of API functions with varying properties. Linux is also critical software, implying that fixing even bugs involving rarely used protocols is essential. In our experiments, we use our approach to find over 3000 potential API protocols, with an estimated false positive rate of under 15% and use these protocols to find over 360 bugs in the use of API functions. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Bug-finding tools rely on specifications of what is correct or incorrect code. As it is difficult for a tool developer or user to anticipate all possible specifications, strategies for inferring specifications have been proposed. These strategies obtain probable specifications by observing common characteristics of code or execution traces, typically focusing on sequences of function calls. To counter the observed high rate of false positives, heuristics have been proposed for ranking or pruning the results. These heuristics, however, can result in false negatives, especially for rarely used functions. In this paper, we propose an alternate approach to specification inference, in which the user guides the inference process using patterns of code that reflect the user's understanding of the conventions and design of the targeted software project. We focus on specifications describing the correct usage of API functions, which we refer to as API protocols. Our approach builds on the Coccinelle program matching and transformation tool, which allows a user to construct patterns that reflect the structure of the code to be matched. We evaluate our approach on the source code of the Linux kernel, which defines a very large number of API functions with varying properties. Linux is also critical software, implying that fixing even bugs involving rarely used protocols is essential. In our experiments, we use our approach to find over 3000 potential API protocols, with an estimated false positive rate of under 15% and use these protocols to find over 360 bugs in the use of API functions. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.2104" xmlns="http://purl.org/rss/1.0/"><title>Focus section on program debugging</title><link>http://dx.doi.org/10.1002%2Fspe.2104</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Focus section on program debugging</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">T. H. Tse</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-16T04:29:20.405734-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2104</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2104</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.2104</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Editorial</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[]]></content:encoded><description/></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1155" xmlns="http://purl.org/rss/1.0/"><title>Model-driven rapid prototyping with Umple</title><link>http://dx.doi.org/10.1002%2Fspe.1155</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Model-driven rapid prototyping with Umple</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andrew Forward</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Omar Badreddin</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Timothy C. Lethbridge</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Julian Solano</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-12-28T22:37:11.08993-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1155</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1155</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1155</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The emergence of model-driven software development brings new opportunities and challenges for rapid prototyping. On the one hand, the modeling process is inherently abstract, removing the prototyper from details, and letting him or her focus on exploring design alternatives for various aspects of the system. On the other hand, the most popular modeling languages and tools entirely omit the modeling and generating of user interfaces. As a result, the benefit of user interface prototypes as a medium for interaction with the user and customer is lost. This paper presents a model-oriented technology called Umple that can be used for prototyping and also supporting model driven engineering. Umple allows end users to quickly create class and state machine models and to incrementally embed implementation artifacts. At any point in the modeling process, users can quickly generate a fully functional prototype that exposes modeling implications on the user interface, and allows stakeholders to get a feel of how the full system will behave. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>The emergence of model-driven software development brings new opportunities and challenges for rapid prototyping. On the one hand, the modeling process is inherently abstract, removing the prototyper from details, and letting him or her focus on exploring design alternatives for various aspects of the system. On the other hand, the most popular modeling languages and tools entirely omit the modeling and generating of user interfaces. As a result, the benefit of user interface prototypes as a medium for interaction with the user and customer is lost. This paper presents a model-oriented technology called Umple that can be used for prototyping and also supporting model driven engineering. Umple allows end users to quickly create class and state machine models and to incrementally embed implementation artifacts. At any point in the modeling process, users can quickly generate a fully functional prototype that exposes modeling implications on the user interface, and allows stakeholders to get a feel of how the full system will behave. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1157" xmlns="http://purl.org/rss/1.0/"><title>MpAssign: a framework for solving the many-core platform mapping problem</title><link>http://dx.doi.org/10.1002%2Fspe.1157</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">MpAssign: a framework for solving the many-core platform mapping problem</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Youcef Bouchebaba</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ali-Erdem Ozcan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pierre Paulin</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gabriela Nicolescu</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-12-28T22:36:44.824456-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1157</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1157</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1157</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Many-core platforms, providing large numbers of parallel execution resources, emerge as a response to the increasing computation needs of embedded applications. A major challenge raised by this trend is the efficient mapping of applications on parallel resources. This is a nontrivial problem because of the number of parameters to be considered for characterizing both the applications and the underlying platform architectures. Recently, several authors have proposed to use multi-objective evolutionary algorithm to solve this problem within the context of mapping applications on network-on-chips. However, these proposals have several limitations: (1) only few metaheuristics are explored (mainly Nondominated Sorting Genetic Algorithm II and Strength Pareto Evolutionary Algorithm 2), (2) only few objective functions are provided, and (3) they only deal with a small number of the application and architecture constraints. In this paper, we propose a new framework that avoids all of the problems cited previously. Our framework is implemented on top of the jMetal framework, which offers an extensible environment. Our framework allows designers to (1) explore several new metaheuristics, (2) easily add a new objective function (or to use an existing one), and (3) take into account any number of architecture and application constraints. The paper also presents experiments illustrating how our framework is applied to the problem of mapping streaming applications on an NoC-based many-core platform. Our results show that several new metaheuristics outperform the classical multi-objective metaheuristics such as Nondominated Sorting Genetic Algorithm II and Strength Pareto Evolutionary Algorithm 2. Moreover, a parallel multi-objective evolutionary algorithm is implemented in our framework in order to increase the explored space of solutions by simultaneously running several metaheuristics. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Many-core platforms, providing large numbers of parallel execution resources, emerge as a response to the increasing computation needs of embedded applications. A major challenge raised by this trend is the efficient mapping of applications on parallel resources. This is a nontrivial problem because of the number of parameters to be considered for characterizing both the applications and the underlying platform architectures. Recently, several authors have proposed to use multi-objective evolutionary algorithm to solve this problem within the context of mapping applications on network-on-chips. However, these proposals have several limitations: (1) only few metaheuristics are explored (mainly Nondominated Sorting Genetic Algorithm II and Strength Pareto Evolutionary Algorithm 2), (2) only few objective functions are provided, and (3) they only deal with a small number of the application and architecture constraints. In this paper, we propose a new framework that avoids all of the problems cited previously. Our framework is implemented on top of the jMetal framework, which offers an extensible environment. Our framework allows designers to (1) explore several new metaheuristics, (2) easily add a new objective function (or to use an existing one), and (3) take into account any number of architecture and application constraints. The paper also presents experiments illustrating how our framework is applied to the problem of mapping streaming applications on an NoC-based many-core platform. Our results show that several new metaheuristics outperform the classical multi-objective metaheuristics such as Nondominated Sorting Genetic Algorithm II and Strength Pareto Evolutionary Algorithm 2. Moreover, a parallel multi-objective evolutionary algorithm is implemented in our framework in order to increase the explored space of solutions by simultaneously running several metaheuristics. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1132" xmlns="http://purl.org/rss/1.0/"><title>Ontology patterns for service-oriented software development</title><link>http://dx.doi.org/10.1002%2Fspe.1132</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Ontology patterns for service-oriented software development</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Wei-Tek Tsai</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Budan Wu</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Zhi Jin</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yu Huang</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Wu Li</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-12-09T00:41:29.37412-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1132</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1132</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1132</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Modern software often uses ontologies as its key component to store data and their relationships. This is different from using an ontology as a stand-alone tool for knowledge sharing and representation. The ontology component needs to work with other software components and needs to evolve as the software evolves. Ontology design has been a research topic for years; however, most of these studies focus on using ontologies as stand-alone applications. This paper studies ontology patterns that can be applied to design ontologies as an integral part of a service-oriented application. The paper first briefly reviews various ontology design issues including a brief survey of existing ontology design patterns. The paper then outlines general principles for using ontologies in software applications, including the needs to incorporate ontology design process as a part of software development processes, design ontologies as a component of an overall software architecture, and use ontologies to enhance software evolution and the role that ontologies can play in software validation. The paper then proposes some common ontology patterns that can be used to design ontologies in service-oriented applications. This is followed by examining two international projects, SENSEI and FCINT, where ontologies are used in service-oriented applications and several ontology design patterns are used. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Modern software often uses ontologies as its key component to store data and their relationships. This is different from using an ontology as a stand-alone tool for knowledge sharing and representation. The ontology component needs to work with other software components and needs to evolve as the software evolves. Ontology design has been a research topic for years; however, most of these studies focus on using ontologies as stand-alone applications. This paper studies ontology patterns that can be applied to design ontologies as an integral part of a service-oriented application. The paper first briefly reviews various ontology design issues including a brief survey of existing ontology design patterns. The paper then outlines general principles for using ontologies in software applications, including the needs to incorporate ontology design process as a part of software development processes, design ontologies as a component of an overall software architecture, and use ontologies to enhance software evolution and the role that ontologies can play in software validation. The paper then proposes some common ontology patterns that can be used to design ontologies in service-oriented applications. This is followed by examining two international projects, SENSEI and FCINT, where ontologies are used in service-oriented applications and several ontology design patterns are used. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1149" xmlns="http://purl.org/rss/1.0/"><title>Vc: A C++ library for explicit vectorization</title><link>http://dx.doi.org/10.1002%2Fspe.1149</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Vc: A C++ library for explicit vectorization</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Matthias Kretz</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Volker Lindenstruth</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-12-08T23:35:39.256254-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1149</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1149</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1149</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>It is an established trend that CPU development takes advantage of Moore's Law to improve in parallelism much more than in scalar execution speed. This results in higher hardware thread counts (MIMD) and improved vector units (SIMD), of which the MIMD developments have received the focus of library research and development in recent years. To make use of the latest hardware improvements, SIMD must receive a stronger focus of API research and development because the computational power can no longer be neglected and often auto-vectorizing compilers cannot generate the necessary SIMD code, as will be shown in this paper. Nowadays, the SIMD capabilities are sufficiently significant to warrant vectorization of algorithms requiring more conditional execution than was originally expected for Streaming SIMD Extension to handle. The Vc library (<!--TODO: clickthrough URL--><a href="http://compeng.uni-frankfurt.de/?vc" title="Link to external resource: http://compeng.uni-frankfurt.de/?vc">http://compeng.uni-frankfurt.de/?vc</a>) was designed to support developers in the creation of portable vectorized code. Its capabilities and performance have been thoroughly tested. Vc provides portability of the source code, allowing full utilization of the hardware's SIMD capabilities, without introducing any overhead. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>It is an established trend that CPU development takes advantage of Moore's Law to improve in parallelism much more than in scalar execution speed. This results in higher hardware thread counts (MIMD) and improved vector units (SIMD), of which the MIMD developments have received the focus of library research and development in recent years. To make use of the latest hardware improvements, SIMD must receive a stronger focus of API research and development because the computational power can no longer be neglected and often auto-vectorizing compilers cannot generate the necessary SIMD code, as will be shown in this paper. Nowadays, the SIMD capabilities are sufficiently significant to warrant vectorization of algorithms requiring more conditional execution than was originally expected for Streaming SIMD Extension to handle. The Vc library (http://compeng.uni-frankfurt.de/?vc) was designed to support developers in the creation of portable vectorized code. Its capabilities and performance have been thoroughly tested. Vc provides portability of the source code, allowing full utilization of the hardware's SIMD capabilities, without introducing any overhead. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1148" xmlns="http://purl.org/rss/1.0/"><title>Distributed OSGi built over message-oriented middleware</title><link>http://dx.doi.org/10.1002%2Fspe.1148</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Distributed OSGi built over message-oriented middleware</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Marek Psiuk</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Żmuda</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Krzysztof Zieliński</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-12-08T23:26:01.697038-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1148</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1148</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1148</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This paper describes key aspects of remote service invocation in federations of OSGi containers. It refers to the OSGi Remote Service Admin specification and describes its efficient implementation over message-oriented middleware. Scalability problems of several different approaches to implementation are identified, and a solution in a form of innovative Remote Service Admin model extension is proposed. The extension, named On-demand Remote Service Admin, is analyzed and validated in the context of a motivating scenario. Validation includes performance and scalability evaluation, which confirms that all assumed requirements have been satisfied by the constructed prototype. Finally, the presented research is compared with related works. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>This paper describes key aspects of remote service invocation in federations of OSGi containers. It refers to the OSGi Remote Service Admin specification and describes its efficient implementation over message-oriented middleware. Scalability problems of several different approaches to implementation are identified, and a solution in a form of innovative Remote Service Admin model extension is proposed. The extension, named On-demand Remote Service Admin, is analyzed and validated in the context of a motivating scenario. Validation includes performance and scalability evaluation, which confirms that all assumed requirements have been satisfied by the constructed prototype. Finally, the presented research is compared with related works. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1143" xmlns="http://purl.org/rss/1.0/"><title>Flex-eWare: a flexible model driven solution for designing and implementing embedded distributed systems</title><link>http://dx.doi.org/10.1002%2Fspe.1143</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Flex-eWare: a flexible model driven solution for designing and implementing embedded distributed systems</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mathieu Jan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christophe Jouvray</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Fabrice Kordon</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Antonio Kung</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jimmy Lalande</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Frédéric Loiret</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juan Navas</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Laurent Pautet</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jacques Pulou</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ansgar Radermacher</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lionel Seinturier</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-12-08T23:24:30.722929-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1143</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1143</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1143</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The complexity of modern embedded systems increases as they incorporate new concerns such as distribution and mobility. These new features need to be considered as early as possible in the software development life cycle. Model driven engineering promotes an intensive use of models and is now widely seen as a solution to master the development of complex systems such as embedded ones. Component-based software engineering is another major trend that gains acceptance in the embedded world because of its properties such as reuse, modularity, and flexibility.</p></div><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This article proposes the Flex-eWare component model (FCM) for designing and implementing modern embedded systems. The FCM unifies model driven engineering and component-based software engineering and has been evaluated in several application domains with different requirements: wireless sensor networks, distributed client/server applications, and control systems for electrical devices. This approach highlights a new concept: flexibility points that arise at several stages of the development process, that is, in the model (design phase), in the execution platform, and during the execution itself. This flexibility points are captured with model libraries that can extend the FCM. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>The complexity of modern embedded systems increases as they incorporate new concerns such as distribution and mobility. These new features need to be considered as early as possible in the software development life cycle. Model driven engineering promotes an intensive use of models and is now widely seen as a solution to master the development of complex systems such as embedded ones. Component-based software engineering is another major trend that gains acceptance in the embedded world because of its properties such as reuse, modularity, and flexibility.This article proposes the Flex-eWare component model (FCM) for designing and implementing modern embedded systems. The FCM unifies model driven engineering and component-based software engineering and has been evaluated in several application domains with different requirements: wireless sensor networks, distributed client/server applications, and control systems for electrical devices. This approach highlights a new concept: flexibility points that arise at several stages of the development process, that is, in the model (design phase), in the execution platform, and during the execution itself. This flexibility points are captured with model libraries that can extend the FCM. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1146" xmlns="http://purl.org/rss/1.0/"><title>A consensus-based strategy to improve the quality of fault localization</title><link>http://dx.doi.org/10.1002%2Fspe.1146</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A consensus-based strategy to improve the quality of fault localization</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vidroha Debroy</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">W. Eric Wong</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-28T01:18:07.134964-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1146</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1146</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1146</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>A vast number of software fault localization techniques have been proposed recently with the growing realization that manual debugging is time-consuming, tedious, and error-prone, and fault localization is one of the most expensive debugging activities. Although some techniques perform better than others on a large number of data sets, they do not do so on all data sets and therefore, the actual quality of fault localization can vary considerably by using just one technique. This paper proposes the use of a consensus-based strategy that combines the results of multiple fault localization techniques to consistently provide high quality performance, irrespective of data set. Empirical evidence based on case studies conducted on six sets of programs (seven programs of the Siemens suite, and the gzip, grep, make, space, and Ant programs) and three different fault localization techniques (Tarantula, Ochiai, and H3) suggests that the consensus-based strategy holds merit and generally provides close to the best, if not the best, results. Empirically, we show that this is true of both single-fault and multifault programs. Additionally, the consensus-based strategy makes use of techniques that all operate on the same set of input data, minimizing the overhead. It is also simple to include or exclude techniques from consensus, making it an easily extensible or tractable strategy. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>A vast number of software fault localization techniques have been proposed recently with the growing realization that manual debugging is time-consuming, tedious, and error-prone, and fault localization is one of the most expensive debugging activities. Although some techniques perform better than others on a large number of data sets, they do not do so on all data sets and therefore, the actual quality of fault localization can vary considerably by using just one technique. This paper proposes the use of a consensus-based strategy that combines the results of multiple fault localization techniques to consistently provide high quality performance, irrespective of data set. Empirical evidence based on case studies conducted on six sets of programs (seven programs of the Siemens suite, and the gzip, grep, make, space, and Ant programs) and three different fault localization techniques (Tarantula, Ochiai, and H3) suggests that the consensus-based strategy holds merit and generally provides close to the best, if not the best, results. Empirically, we show that this is true of both single-fault and multifault programs. Additionally, the consensus-based strategy makes use of techniques that all operate on the same set of input data, minimizing the overhead. It is also simple to include or exclude techniques from consensus, making it an easily extensible or tractable strategy. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1131" xmlns="http://purl.org/rss/1.0/"><title>A pattern language for developing privacy enhancing technologies</title><link>http://dx.doi.org/10.1002%2Fspe.1131</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A pattern language for developing privacy enhancing technologies</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Munawar Hafiz</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-28T01:11:36.280194-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1131</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1131</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1131</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>A privacy enhancing technology (PET) is an application or a mechanism that allows users to protect the privacy of their personally identifiable information. Early PETs were about enabling anonymous mailing and anonymous browsing, but lately, there have been active research and development efforts in many other problem domains. This paper describes the first pattern language for developing PETs. Currently, it contains 12 patterns. These privacy patterns are not limited to a specific problem domain; they can be applied to design anonymity systems for various types of online communication, online data sharing, location monitoring, voting, and electronic cash management. The pattern language guides a developer when he or she is designing a PET for an existing problem or innovating a solution for a new problem. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>A privacy enhancing technology (PET) is an application or a mechanism that allows users to protect the privacy of their personally identifiable information. Early PETs were about enabling anonymous mailing and anonymous browsing, but lately, there have been active research and development efforts in many other problem domains. This paper describes the first pattern language for developing PETs. Currently, it contains 12 patterns. These privacy patterns are not limited to a specific problem domain; they can be applied to design anonymity systems for various types of online communication, online data sharing, location monitoring, voting, and electronic cash management. The pattern language guides a developer when he or she is designing a PET for an existing problem or innovating a solution for a new problem. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1117" xmlns="http://purl.org/rss/1.0/"><title>Software patterns catalog based on a new classification scheme</title><link>http://dx.doi.org/10.1002%2Fspe.1117</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Software patterns catalog based on a new classification scheme</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sargon Hasso</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">R.C. Carlson</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-25T05:09:04.952277-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1117</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1117</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1117</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>There are many software pattern catalogs that exist in the published literature today, but none of them uses a consistent classification technique that results in evolving and extensible pattern catalog. We have created a new classification scheme and used it as the basis for constructing a software pattern catalog. It is a uniform approach for creating, maintaining, and expanding the catalog. We present a brief overview of the classification scheme, describe the resulting catalog and the principles underlying its construction, show how to use the catalog, and demonstrate some of its benefits for software designers. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>There are many software pattern catalogs that exist in the published literature today, but none of them uses a consistent classification technique that results in evolving and extensible pattern catalog. We have created a new classification scheme and used it as the basis for constructing a software pattern catalog. It is a uniform approach for creating, maintaining, and expanding the catalog. We present a brief overview of the classification scheme, describe the resulting catalog and the principles underlying its construction, show how to use the catalog, and demonstrate some of its benefits for software designers. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1139" xmlns="http://purl.org/rss/1.0/"><title>A model-based framework for building extensible, high performance stream processing middleware and programming language for IBM InfoSphere Streams</title><link>http://dx.doi.org/10.1002%2Fspe.1139</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A model-based framework for building extensible, high performance stream processing middleware and programming language for IBM InfoSphere Streams</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Buğra Gedik</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Henrique Andrade</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-13T22:54:58.855798-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1139</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1139</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1139</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This work presents an extensive case study on the model-based design of a commercial-grade stream processing middleware (IBM's InfoSphere Streams) its runtime and language (<span class="sans-serif ">SPL</span>) compiler. The model-based underpinnings are pervasive throughout the whole environment, from describing inter-process communication interfaces and objects to the design of the extensibility mechanism in the runtime and language. In addition to many software engineering advantages such as consistent, uniform, and self-documented integration among the different parts of the system, we show intrinsic performance benefits to the platform derived from this design approach. First, we demonstrate how an incremental compilation strategy employed by the <span class="sans-serif ">SPL</span> compiler and rooted on the model description of the application, extracted by the compiler as part of the application building process, leads to better compile-time performance. Second, we discuss how the model-based code generation strategy employed by the <span class="sans-serif ">SPL</span> compiler also leads to increased runtime performance, by specializing the generated code to particular characteristics of the runtime environment. Finally, we show how the extensibility strategy used in the <span class="sans-serif ">SPL</span> language leads to automatic syntactic and semantic checks at compile time, while enabling behavioral reasoning and specific optimizations at runtime. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>This work presents an extensive case study on the model-based design of a commercial-grade stream processing middleware (IBM's InfoSphere Streams) its runtime and language (SPL) compiler. The model-based underpinnings are pervasive throughout the whole environment, from describing inter-process communication interfaces and objects to the design of the extensibility mechanism in the runtime and language. In addition to many software engineering advantages such as consistent, uniform, and self-documented integration among the different parts of the system, we show intrinsic performance benefits to the platform derived from this design approach. First, we demonstrate how an incremental compilation strategy employed by the SPL compiler and rooted on the model description of the application, extracted by the compiler as part of the application building process, leads to better compile-time performance. Second, we discuss how the model-based code generation strategy employed by the SPL compiler also leads to increased runtime performance, by specializing the generated code to particular characteristics of the runtime environment. Finally, we show how the extensibility strategy used in the SPL language leads to automatic syntactic and semantic checks at compile time, while enabling behavioral reasoning and specific optimizations at runtime. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1147" xmlns="http://purl.org/rss/1.0/"><title>In quest of the science in statistical fault localization</title><link>http://dx.doi.org/10.1002%2Fspe.1147</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">In quest of the science in statistical fault localization</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">W. K. Chan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yan Cai</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-11T07:05:46.157086-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1147</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1147</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1147</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Many researchers employ various statistical methods to locate faults in faulty programs. Like other researchers, we sometimes have made mistakes in the quest of making statistical fault localization both practical and scientific. In this experience report, we reflect on our work conducted on this topic, organize our isolated experiences in the format of models and errors, and cast them in the context of statistics. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Many researchers employ various statistical methods to locate faults in faulty programs. Like other researchers, we sometimes have made mistakes in the quest of making statistical fault localization both practical and scientific. In this experience report, we reflect on our work conducted on this topic, organize our isolated experiences in the format of models and errors, and cast them in the context of statistics. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1145" xmlns="http://purl.org/rss/1.0/"><title>Understanding design patterns — what is the problem?</title><link>http://dx.doi.org/10.1002%2Fspe.1145</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Understanding design patterns — what is the problem?</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ghizlane El Boussaidi</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hafedh Mili</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-11T06:07:17.993392-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1145</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1145</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1145</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Design patterns codify proven solutions to recurring design problems. Their proper use within a development context requires that: (i) we understand them; (ii) we ascertain their applicability or relevance to the design problem at hand; and (iii) we apply them faithfully to the problem at hand. We argue that an explicit representation of the design problem solved by a design pattern is key to supporting the three tasks in an integrated fashion. We propose a model-driven representation of design patterns consisting of triples &lt; <em>MP</em>, <em>MS</em>, <em>T</em> &gt; where <em>MP</em> is a model of the problem solved by the pattern, <em>MS</em> is a model of the solution proposed by the pattern, and <em>T</em> is a model transformation of an instance of the problem into an instance of the solution. Given an object-oriented design model, we look for model fragments that match <em>MP</em> (call them instances of <em>MP</em>), and when one is found, we apply the transformation <em>T</em> yielding an instance of <em>MS</em>. Easier said than done. Experimentation with an Eclipse Modeling Framework-based implementation of our approach applied to a number of open-source software application's raised fundamental questions about: (i) the nature of design patterns in general, and the ones that lend themselves to our approach, and (ii) our understanding and codification of seemingly simple design patterns. In this paper, we present the principles behind our approach, report on the results of applying the approach to the Gang of Four (GoF) design patterns, and discuss the representability of design problems solved by these patterns. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Design patterns codify proven solutions to recurring design problems. Their proper use within a development context requires that: (i) we understand them; (ii) we ascertain their applicability or relevance to the design problem at hand; and (iii) we apply them faithfully to the problem at hand. We argue that an explicit representation of the design problem solved by a design pattern is key to supporting the three tasks in an integrated fashion. We propose a model-driven representation of design patterns consisting of triples &lt; MP, MS, T &gt; where MP is a model of the problem solved by the pattern, MS is a model of the solution proposed by the pattern, and T is a model transformation of an instance of the problem into an instance of the solution. Given an object-oriented design model, we look for model fragments that match MP (call them instances of MP), and when one is found, we apply the transformation T yielding an instance of MS. Easier said than done. Experimentation with an Eclipse Modeling Framework-based implementation of our approach applied to a number of open-source software application's raised fundamental questions about: (i) the nature of design patterns in general, and the ones that lend themselves to our approach, and (ii) our understanding and codification of seemingly simple design patterns. In this paper, we present the principles behind our approach, report on the results of applying the approach to the Gang of Four (GoF) design patterns, and discuss the representability of design problems solved by these patterns. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1144" xmlns="http://purl.org/rss/1.0/"><title>Special section: software architectures and application development environments for Cloud computing</title><link>http://dx.doi.org/10.1002%2Fspe.1144</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Special section: software architectures and application development environments for Cloud computing</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rajiv Ranjan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rajkumar Buyya</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Boualem Benatallah</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-09T23:10:23.449077-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1144</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1144</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1144</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Editorial</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[]]></content:encoded><description/></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1140" xmlns="http://purl.org/rss/1.0/"><title>Using XQuery for problem solving</title><link>http://dx.doi.org/10.1002%2Fspe.1140</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Using XQuery for problem solving</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pekka Kilpeläinen</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-09T23:05:24.728821-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1140</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1140</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1140</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>XQuery is a recommendation by the World Wide Web Consortium as a standard XML query language. In addition to being a special-purpose query language, XQuery has also features that support unexpected applications such as problem solving. We demonstrate and discuss these features by presenting several XQuery programs for solving recreational problems and puzzles. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>XQuery is a recommendation by the World Wide Web Consortium as a standard XML query language. In addition to being a special-purpose query language, XQuery has also features that support unexpected applications such as problem solving. We demonstrate and discuss these features by presenting several XQuery programs for solving recreational problems and puzzles. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1135" xmlns="http://purl.org/rss/1.0/"><title>Evolutionary algorithms for the multi-objective test data generation problem</title><link>http://dx.doi.org/10.1002%2Fspe.1135</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Evolutionary algorithms for the multi-objective test data generation problem</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Javier Ferrer</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Francisco Chicano</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Enrique Alba</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-02T05:59:41.712472-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1135</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1135</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1135</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Automatic test data generation is a very popular domain in the field of search-based software engineering. Traditionally, the main goal has been to maximize coverage. However, other objectives can be defined, such as the oracle cost, which is the cost of executing the entire test suite and the cost of checking the system behavior. Indeed, in very large software systems, the cost spent to test the system can be an issue, and then it makes sense by considering two conflicting objectives: maximizing the coverage and minimizing the oracle cost. This is what we did in this paper. We mainly compared two approaches to deal with the multi-objective test data generation problem: a direct multi-objective approach and a combination of a mono-objective algorithm together with multi-objective test case selection optimization. Concretely, in this work, we used four state-of-the-art multi-objective algorithms and two mono-objective evolutionary algorithms followed by a multi-objective test case selection based on Pareto efficiency. The experimental analysis compares these techniques on two different benchmarks. The first one is composed of 800 Java programs created through a program generator. The second benchmark is composed of 13 real programs extracted from the literature. In the direct multi-objective approach, the results indicate that the oracle cost can be properly optimized; however, the full branch coverage of the system poses a great challenge. Regarding the mono-objective algorithms, although they need a second phase of test case selection for reducing the oracle cost, they are very effective in maximizing the branch coverage. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Automatic test data generation is a very popular domain in the field of search-based software engineering. Traditionally, the main goal has been to maximize coverage. However, other objectives can be defined, such as the oracle cost, which is the cost of executing the entire test suite and the cost of checking the system behavior. Indeed, in very large software systems, the cost spent to test the system can be an issue, and then it makes sense by considering two conflicting objectives: maximizing the coverage and minimizing the oracle cost. This is what we did in this paper. We mainly compared two approaches to deal with the multi-objective test data generation problem: a direct multi-objective approach and a combination of a mono-objective algorithm together with multi-objective test case selection optimization. Concretely, in this work, we used four state-of-the-art multi-objective algorithms and two mono-objective evolutionary algorithms followed by a multi-objective test case selection based on Pareto efficiency. The experimental analysis compares these techniques on two different benchmarks. The first one is composed of 800 Java programs created through a program generator. The second benchmark is composed of 13 real programs extracted from the literature. In the direct multi-objective approach, the results indicate that the oracle cost can be properly optimized; however, the full branch coverage of the system poses a great challenge. Regarding the mono-objective algorithms, although they need a second phase of test case selection for reducing the oracle cost, they are very effective in maximizing the branch coverage. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1138" xmlns="http://purl.org/rss/1.0/"><title>ROME4EU – A service-oriented process-aware information system for mobile devices</title><link>http://dx.doi.org/10.1002%2Fspe.1138</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">ROME4EU – A service-oriented process-aware information system for mobile devices</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alessandro Russo</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Massimo Mecella</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Massimiliano Leoni</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-27T07:16:52.774974-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1138</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1138</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1138</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Nowadays, process-aware information systems (PAISs) are widely used for the management of ‘administrative’ processes characterized by clear and well-defined structures. Besides those scenarios, PAISs can be used also in mobile and pervasive scenarios, where process participants can be only equipped with smart devices, such as personal digital assistants. None of existing PAISs can be entirely deployed on smart devices, making unfeasible its usage in highly mobile scenarios. This paper presents ROME4EU, a mobile PAIS developed for being applied to the coordination of emergency operators, and an extensive validation of the system, both in term of performances and usability/acceptability by the users. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Nowadays, process-aware information systems (PAISs) are widely used for the management of ‘administrative’ processes characterized by clear and well-defined structures. Besides those scenarios, PAISs can be used also in mobile and pervasive scenarios, where process participants can be only equipped with smart devices, such as personal digital assistants. None of existing PAISs can be entirely deployed on smart devices, making unfeasible its usage in highly mobile scenarios. This paper presents ROME4EU, a mobile PAIS developed for being applied to the coordination of emergency operators, and an extensive validation of the system, both in term of performances and usability/acceptability by the users. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1121" xmlns="http://purl.org/rss/1.0/"><title>The use of pattern participants relationships for integrating patterns: a controlled experiment</title><link>http://dx.doi.org/10.1002%2Fspe.1121</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">The use of pattern participants relationships for integrating patterns: a controlled experiment</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ahmad Waqas Kamal</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paris Avgeriou</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Uwe Zdun</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-20T02:24:15.725684-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1121</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1121</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1121</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Architectural patterns are often applied in combination with related patterns within software architectures. The relationships among architectural patterns must be considered when applying a combination of patterns into a system; for example the way the Model-View-Controller uses the Observer pattern to implement the change propagation mechanism needs to be carefully designed. However, effective integration of architectural patterns within software architectures remains a challenging task. This is because the integration of any two architectural patterns can take several forms. Furthermore, existing pattern languages define generic and abstract relationships between architectural patterns without going into detail about associations among the participants of architectural patterns. In this paper, we propose to address the pattern integration issue by discovering and defining a set of pattern participants relationships that serve the purpose of effectively integrating architectural patterns. Our findings are validated through a controlled experiment, which provides significant evidence that the proposed relationships support inexperienced designers in integrating patterns. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Architectural patterns are often applied in combination with related patterns within software architectures. The relationships among architectural patterns must be considered when applying a combination of patterns into a system; for example the way the Model-View-Controller uses the Observer pattern to implement the change propagation mechanism needs to be carefully designed. However, effective integration of architectural patterns within software architectures remains a challenging task. This is because the integration of any two architectural patterns can take several forms. Furthermore, existing pattern languages define generic and abstract relationships between architectural patterns without going into detail about associations among the participants of architectural patterns. In this paper, we propose to address the pattern integration issue by discovering and defining a set of pattern participants relationships that serve the purpose of effectively integrating architectural patterns. Our findings are validated through a controlled experiment, which provides significant evidence that the proposed relationships support inexperienced designers in integrating patterns. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1137" xmlns="http://purl.org/rss/1.0/"><title>Design and implementation of a multiagent stock trading system</title><link>http://dx.doi.org/10.1002%2Fspe.1137</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Design and implementation of a multiagent stock trading system</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Geylani Kardas</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Moharram Challenger</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Suleyman Yildirim</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ali Yamuc</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-20T02:15:19.720174-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1137</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1137</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1137</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Stock trading is one of the key items in an economy and estimating its behavior and taking the best decision in it are among the most challenging issues. Solutions based on intelligent agent systems are proposed to cope with those challenges. Agents in a multiagent system (MAS) can share a common goal or they can pursue their own interests. That nature of MASs exactly fits the requirements of a free market economy. Although existing studies include noteworthy proposals on agent-based market simulation and researchers discuss theoretical design issues of agent-based stock exchange systems, unfortunately only a very few of the studies consider exact development and implementation of multiagent stock trading systems within the software engineering perspective and guides to the software engineers for constructing such software systems starting from scratch. To fill this gap, in this paper, we discuss the development of a multiagent-based stock trading system by taking into consideration software design according to a well-defined agent oriented software engineering methodology and implementation with a widely-used MAS software development framework. Each participant in the system is first designed as belief–desire–intention agents with their facts, goals, and plans, and then belief–desire–intention reasoning and behavioral structure of the designed agents are implemented. Lessons learned during design and development within the software engineering perspective and evaluation of the implemented multiagent stock exchange system are also reported. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Stock trading is one of the key items in an economy and estimating its behavior and taking the best decision in it are among the most challenging issues. Solutions based on intelligent agent systems are proposed to cope with those challenges. Agents in a multiagent system (MAS) can share a common goal or they can pursue their own interests. That nature of MASs exactly fits the requirements of a free market economy. Although existing studies include noteworthy proposals on agent-based market simulation and researchers discuss theoretical design issues of agent-based stock exchange systems, unfortunately only a very few of the studies consider exact development and implementation of multiagent stock trading systems within the software engineering perspective and guides to the software engineers for constructing such software systems starting from scratch. To fill this gap, in this paper, we discuss the development of a multiagent-based stock trading system by taking into consideration software design according to a well-defined agent oriented software engineering methodology and implementation with a widely-used MAS software development framework. Each participant in the system is first designed as belief–desire–intention agents with their facts, goals, and plans, and then belief–desire–intention reasoning and behavioral structure of the designed agents are implemented. Lessons learned during design and development within the software engineering perspective and evaluation of the implemented multiagent stock exchange system are also reported. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1129" xmlns="http://purl.org/rss/1.0/"><title>Privacy preserving protocol for service aggregation in cloud computing</title><link>http://dx.doi.org/10.1002%2Fspe.1129</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Privacy preserving protocol for service aggregation in cloud computing</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peishun Wang</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yi Mu</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Willy Susilo</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jun Yan</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-18T01:10:42.091685-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1129</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1129</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1129</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Cloud computing has increasingly become a new model in the world of computing, and more businesses are moving to the cloud. As a cost-effective and time-efficient way to develop new applications and services, service aggregation in cloud computing empowers all service providers and consumers and creates tremendous opportunities in various industry sectors. However, it also poses various challenges to the privacy of personal information as well as the confidentiality of business and governmental information. The full benefits of service aggregation in cloud computing would only be enjoyed if the privacy concerns are addressed properly. In this paper, we investigate the privacy issues in service aggregation in a cloudenvironment and propose a privacy preserving protocol that is suitable for this environment. To demonstrate the security of our system, we construct a security game called IND-P3SAC-CPA and prove the security of the protocol accordingly. Our protocol has a distinct property that allows any service provider to obtain only the queried data under its conspiracy with the cloud. Additionally, the efficiency and various extensions are also discussed. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Cloud computing has increasingly become a new model in the world of computing, and more businesses are moving to the cloud. As a cost-effective and time-efficient way to develop new applications and services, service aggregation in cloud computing empowers all service providers and consumers and creates tremendous opportunities in various industry sectors. However, it also poses various challenges to the privacy of personal information as well as the confidentiality of business and governmental information. The full benefits of service aggregation in cloud computing would only be enjoyed if the privacy concerns are addressed properly. In this paper, we investigate the privacy issues in service aggregation in a cloudenvironment and propose a privacy preserving protocol that is suitable for this environment. To demonstrate the security of our system, we construct a security game called IND-P3SAC-CPA and prove the security of the protocol accordingly. Our protocol has a distinct property that allows any service provider to obtain only the queried data under its conspiracy with the cloud. Additionally, the efficiency and various extensions are also discussed. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1134" xmlns="http://purl.org/rss/1.0/"><title>Measuring and reducing the impact of the operating system kernel on end-to-end latencies in synchronous packet switched networks</title><link>http://dx.doi.org/10.1002%2Fspe.1134</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Measuring and reducing the impact of the operating system kernel on end-to-end latencies in synchronous packet switched networks</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michele Welponer</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Luca Abeni</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Guido Marchetto</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Renato Lo Cigno</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-13T22:23:36.308443-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1134</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1134</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1134</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This paper presents an evaluation of the impact of the so-called operating system (OS) latencies on the performance of a synchronous network based on global time coordination. The concept of end-to-end latency was first defined by extending the concept of latency used to evaluate the performance of real-time systems and the end-to-end latency provided by a general-purpose OS was measured as a benchmark. Finally, real-time techniques were used to reduce the worst-case values of such a latency, showing how a gateway between synchronous and asynchronous networks can be implemented by using commercial-off-the-shelf hardware and a proper software stack (based on a real-time version of Linux). The use of a real-time OS is still a nontrivial task, which requires experience and the analysis of the specific application to devise the proper techniques to be applied. This work dissects the problem of OS-to-network data transfer (and vice versa) identifying the key sources of latencies and delay jitter, and solving each problem with the application of a proper technique. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>This paper presents an evaluation of the impact of the so-called operating system (OS) latencies on the performance of a synchronous network based on global time coordination. The concept of end-to-end latency was first defined by extending the concept of latency used to evaluate the performance of real-time systems and the end-to-end latency provided by a general-purpose OS was measured as a benchmark. Finally, real-time techniques were used to reduce the worst-case values of such a latency, showing how a gateway between synchronous and asynchronous networks can be implemented by using commercial-off-the-shelf hardware and a proper software stack (based on a real-time version of Linux). The use of a real-time OS is still a nontrivial task, which requires experience and the analysis of the specific application to devise the proper techniques to be applied. This work dissects the problem of OS-to-network data transfer (and vice versa) identifying the key sources of latencies and delay jitter, and solving each problem with the application of a proper technique. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1126" xmlns="http://purl.org/rss/1.0/"><title>Designing future-context-aware dynamic applications with structured context prediction</title><link>http://dx.doi.org/10.1002%2Fspe.1126</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Designing future-context-aware dynamic applications with structured context prediction</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sonja Zaplata</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Matthias Meiners</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Winfried Lamersdorf</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-13T07:55:57.063731-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1126</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1126</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1126</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Middleware support for advanced pervasive applications includes dealing with <em>heterogeneous systems</em> and <em>dynamic changes</em> of execution environments. If applications are <em>context aware</em>, they are able to detect such changes at runtime and react to them accordingly. Furthermore, they can also <em>proactively</em> adapt to upcoming situations by making accurate assumptions about future contexts. However, the design of reusable middleware support for such <em>future-context-aware</em> applications is still challenging as a supporting prediction system has to be generic, but at the same time has to provide potential for high accuracy and efficiency.</p></div><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This paper proposes a concept for the development of future-context-aware applications on the basis of the novel approach of <em>structured context prediction</em>. As a framework, this approach allows for integrating domain-specific knowledge and facilitates application, combination, and implementation of suitable prediction methods. In addition, specific runtime mechanisms for distribution of knowledge and adaptation of prediction tasks are proposed, which enable useful context predictions even for dynamic applications. The overall development process as well as practical experiments with the prototype framework is illustrated by two use case scenarios—demonstrating that both high accuracy and efficiency of future context predictions are achievable and even ad hoc context predictions can be supported this way. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Middleware support for advanced pervasive applications includes dealing with heterogeneous systems and dynamic changes of execution environments. If applications are context aware, they are able to detect such changes at runtime and react to them accordingly. Furthermore, they can also proactively adapt to upcoming situations by making accurate assumptions about future contexts. However, the design of reusable middleware support for such future-context-aware applications is still challenging as a supporting prediction system has to be generic, but at the same time has to provide potential for high accuracy and efficiency.This paper proposes a concept for the development of future-context-aware applications on the basis of the novel approach of structured context prediction. As a framework, this approach allows for integrating domain-specific knowledge and facilitates application, combination, and implementation of suitable prediction methods. In addition, specific runtime mechanisms for distribution of knowledge and adaptation of prediction tasks are proposed, which enable useful context predictions even for dynamic applications. The overall development process as well as practical experiments with the prototype framework is illustrated by two use case scenarios—demonstrating that both high accuracy and efficiency of future context predictions are achievable and even ad hoc context predictions can be supported this way. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1128" xmlns="http://purl.org/rss/1.0/"><title>Policy-driven customization of cross-organizational features in distributed service systems</title><link>http://dx.doi.org/10.1002%2Fspe.1128</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Policy-driven customization of cross-organizational features in distributed service systems</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stefan Walraven</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bert Lagaisse</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eddy Truyen</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Wouter Joosen</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-13T06:24:36.93388-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1128</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1128</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1128</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>In a cross-organizational context, software services are provided and consumed by different organizations. Ensuring that the non-functional requirements of all the involved organizations are satisfied is hard to achieve in such a distributed and heterogeneous environment: the implementation of features, for example, security, is scattered across the services of multiple organizations. In this paper, we present a coordination architecture for flexible and policy-driven composition of cross-organizational features in distributed service systems. The underlying approach of this architecture is to specify the features and their composition at a higher level that abstracts the internal implementation mechanisms of the organizations involved. By means of feature composition policies, the organizations specify at a fine-grained level which features are required and when they have to apply. Driven by these policies, our coordination middleware dynamically integrates the appropriate features throughout the cross-organizational service composition in a consistent and efficient way. We have validated our architecture in a proof of concept showing limited performance overhead. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>In a cross-organizational context, software services are provided and consumed by different organizations. Ensuring that the non-functional requirements of all the involved organizations are satisfied is hard to achieve in such a distributed and heterogeneous environment: the implementation of features, for example, security, is scattered across the services of multiple organizations. In this paper, we present a coordination architecture for flexible and policy-driven composition of cross-organizational features in distributed service systems. The underlying approach of this architecture is to specify the features and their composition at a higher level that abstracts the internal implementation mechanisms of the organizations involved. By means of feature composition policies, the organizations specify at a fine-grained level which features are required and when they have to apply. Driven by these policies, our coordination middleware dynamically integrates the appropriate features throughout the cross-organizational service composition in a consistent and efficient way. We have validated our architecture in a proof of concept showing limited performance overhead. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1115" xmlns="http://purl.org/rss/1.0/"><title>Holography: a behavior-based profiler for malware analysis</title><link>http://dx.doi.org/10.1002%2Fspe.1115</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Holography: a behavior-based profiler for malware analysis</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Shih-Yao Dai</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yarochkin Fyodor</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ming-Wei Wu</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yennun Huang</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sy-Yen Kuo</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-13T05:58:53.371157-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1115</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1115</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1115</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Behavior-based detection and signature-based detection are two popular approaches to malware (malicious software) analysis. The security industry, such as the sector selling antivirus tools, has been using signature and heuristic-based technologies for years. However, this approach has been proven to be inefficient in identifying unknown malware strains. On the other hand, the behavior-based malware detection approach has a greater potential in identifying previously unknown instances of malicious software. The accuracy of this approach relies on techniques to profile and recognize accurate behavior models. Unfortunately, with the increasing complexity of malicious software and limitations of existing automatic tools, the current behavior-based approach cannot discover many newer forms of malware either. In this paper, we implement ‘holography platform’, a behavior-based profiler on top of a virtual machine emulator that intercepts the system processes and analyzes the CPU instructions, CPU registers, and memory. The captured information is stored in a relational database, and data mining techniques are used to extract information. We demonstrate the breadth of the ‘holography platform’ by conducting two experiments: a packed binary behavior analysis and a malvertising (malicious advertising) incident tracing. Both tasks are known to be very difficult to do efficiently using existing methods and tools. We demonstrate how the precise behavior information can be easily obtained using the ‘holography platform’ tool. With these two experiments, we show that the ‘holography platform’ can provide security researchers and automatic malware detection systems with an efficient malicious software behavior analysis solution. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Behavior-based detection and signature-based detection are two popular approaches to malware (malicious software) analysis. The security industry, such as the sector selling antivirus tools, has been using signature and heuristic-based technologies for years. However, this approach has been proven to be inefficient in identifying unknown malware strains. On the other hand, the behavior-based malware detection approach has a greater potential in identifying previously unknown instances of malicious software. The accuracy of this approach relies on techniques to profile and recognize accurate behavior models. Unfortunately, with the increasing complexity of malicious software and limitations of existing automatic tools, the current behavior-based approach cannot discover many newer forms of malware either. In this paper, we implement ‘holography platform’, a behavior-based profiler on top of a virtual machine emulator that intercepts the system processes and analyzes the CPU instructions, CPU registers, and memory. The captured information is stored in a relational database, and data mining techniques are used to extract information. We demonstrate the breadth of the ‘holography platform’ by conducting two experiments: a packed binary behavior analysis and a malvertising (malicious advertising) incident tracing. Both tasks are known to be very difficult to do efficiently using existing methods and tools. We demonstrate how the precise behavior information can be easily obtained using the ‘holography platform’ tool. With these two experiments, we show that the ‘holography platform’ can provide security researchers and automatic malware detection systems with an efficient malicious software behavior analysis solution. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1127" xmlns="http://purl.org/rss/1.0/"><title>CoFeed: privacy-preserving Web search recommendation based on collaborative aggregation of interest feedback</title><link>http://dx.doi.org/10.1002%2Fspe.1127</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">CoFeed: privacy-preserving Web search recommendation based on collaborative aggregation of interest feedback</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pascal Felber</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Kropf</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lorenzo Leonini</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Toan Luu</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Martin Rajman</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Etienne Rivière</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Valerio Schiavoni</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">José Valerio</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-06T02:40:00.969912-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1127</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1127</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1127</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Search engines essentially rely on the structure of the graph of hyperlinks. Although accurate for the main trend, this is not effective when some query is ambiguous. Leveraging semantic information by the mean of interest matching allows proposing complementary results that are tailored to the user's expectations. This paper proposes a collaborative search companion system, CoFeed, that collects user search queries and that considers feedback to build user-centric and document-centric profiling information. Over time, the system constructs ranked collections of elements that maintain the required <em>information diversity</em> and enhance the user search experience by presenting additional results tailored to the user's interest space. This collaborative search companion requires a supporting architecture adapted to large user populations generating high request loads. To that end, it integrates mechanisms for ensuring scalability and load balancing of the service under varying loads and user interest distributions. Moreover, collecting the recommendation data poses the problem of users’ privacy, and the bias one peer can induce to the system by sending fake recommendations. To that end, CoFeed ensures both publisher anonymity and rate limitation. With the former, the origin of the data is never known by the server that processes it, even if several servers collude to spy on some user. The latter, combined with decoupled authentication, allows to minimize the influence of cheating peers sending fake recommendations. Experiments with a deployed prototype highlight the efficiency of the system by analyzing improvement in search relevance, computational cost, scalability and load balancing. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Search engines essentially rely on the structure of the graph of hyperlinks. Although accurate for the main trend, this is not effective when some query is ambiguous. Leveraging semantic information by the mean of interest matching allows proposing complementary results that are tailored to the user's expectations. This paper proposes a collaborative search companion system, CoFeed, that collects user search queries and that considers feedback to build user-centric and document-centric profiling information. Over time, the system constructs ranked collections of elements that maintain the required information diversity and enhance the user search experience by presenting additional results tailored to the user's interest space. This collaborative search companion requires a supporting architecture adapted to large user populations generating high request loads. To that end, it integrates mechanisms for ensuring scalability and load balancing of the service under varying loads and user interest distributions. Moreover, collecting the recommendation data poses the problem of users’ privacy, and the bias one peer can induce to the system by sending fake recommendations. To that end, CoFeed ensures both publisher anonymity and rate limitation. With the former, the origin of the data is never known by the server that processes it, even if several servers collude to spy on some user. The latter, combined with decoupled authentication, allows to minimize the influence of cheating peers sending fake recommendations. Experiments with a deployed prototype highlight the efficiency of the system by analyzing improvement in search relevance, computational cost, scalability and load balancing. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1125" xmlns="http://purl.org/rss/1.0/"><title>The DigiHome Service-Oriented Platform</title><link>http://dx.doi.org/10.1002%2Fspe.1125</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">The DigiHome Service-Oriented Platform</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Romero</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gabriel Hermosillo</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Amirhosein Taherkordi</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Russel Nzekwa</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Romain Rouvoy</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Frank Eliassen</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-04T01:10:52.184391-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1125</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1125</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1125</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Nowadays, the computational devices are everywhere. In malls, offices, streets, cars, and even homes, we can find devices providing and consuming functionality to improve the user satisfaction. These devices include sensors that provide information about the environment state (e.g., temperature, occupancy, light levels), service providers (e.g., Internet TVs, GPS), smartphones (that contain user preferences), and actuators that act on the environment (e.g., closing the blinds, activating the alarm, changing the temperature). Although these devices exhibit communication capabilities, their integration into a larger monitoring system remains a challenging task, partly because of the strong heterogeneity of technologies and protocols. Therefore, in this article, we focus on home environments and propose a middleware solution, called DigiHome, that applies the <em>Service Component Architecture</em> (SCA) component model to integrate data and events generated by heterogeneous devices in this kind of environments. DigiHome exploits the SCA extensibility to incorporate the <em>REpresentational State Transfer</em> (REST) architectural style and, in this way, leverages on the integration of multiscale systems-of-systems (from wireless sensor networks to the Internet). Additionally, the platform applies <em>Complex Event Processing</em> technology that detects application-specific situations. We claim that the modularization of concerns fostered by DigiHome and materialized in a service-oriented architecture, makes it easier to incorporate new services and devices in smart home environments. The benefits of the DigiHome platform are demonstrated on smart home scenarios covering home automation, emergency detection, and energy saving situations. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Nowadays, the computational devices are everywhere. In malls, offices, streets, cars, and even homes, we can find devices providing and consuming functionality to improve the user satisfaction. These devices include sensors that provide information about the environment state (e.g., temperature, occupancy, light levels), service providers (e.g., Internet TVs, GPS), smartphones (that contain user preferences), and actuators that act on the environment (e.g., closing the blinds, activating the alarm, changing the temperature). Although these devices exhibit communication capabilities, their integration into a larger monitoring system remains a challenging task, partly because of the strong heterogeneity of technologies and protocols. Therefore, in this article, we focus on home environments and propose a middleware solution, called DigiHome, that applies the Service Component Architecture (SCA) component model to integrate data and events generated by heterogeneous devices in this kind of environments. DigiHome exploits the SCA extensibility to incorporate the REpresentational State Transfer (REST) architectural style and, in this way, leverages on the integration of multiscale systems-of-systems (from wireless sensor networks to the Internet). Additionally, the platform applies Complex Event Processing technology that detects application-specific situations. We claim that the modularization of concerns fostered by DigiHome and materialized in a service-oriented architecture, makes it easier to incorporate new services and devices in smart home environments. The benefits of the DigiHome platform are demonstrated on smart home scenarios covering home automation, emergency detection, and energy saving situations. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1116" xmlns="http://purl.org/rss/1.0/"><title>UML design pattern metamodel-level constraints for the maintenance of software evolution</title><link>http://dx.doi.org/10.1002%2Fspe.1116</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">UML design pattern metamodel-level constraints for the maintenance of software evolution</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jaeyong Park</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Seok-Won Lee</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David C. Rine</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-03T07:27:49.805284-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1116</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1116</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1116</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Software maintenance including design is difficult because it is usually performed on someone else's work over a period of time. Maintaining a pattern-based design is especially much more difficult when the information on specific patterns that have been used are not available in the corresponding design documents. Also, finding a maintainer who has a similar level of knowledge on specific patterns that the initial designer had is not easy. Pattern-based design, the use of design patterns during the software design process, has become widely used in the object-oriented community because of its many benefits such as its reuse. However, the defects in pattern-based design can be introduced during the design maintenance phase when the changes are made to the requirements and the initial design, but the conformance to the original patterns is neglected. This conformance process is laborious and time consuming; no systematic process exists to guide the defects discovery and maintenance. Also, deep and correct knowledge of design patterns and their characteristics are required because this process is conducted by human experts. Failure to follow this conformance process and to maintain correct designs during software design evolution may cause serious problems in later software development and maintenance stages by not providing the benefits of pattern-based design that would have been possible if followed correctly. There is a strong need of a systematic design and maintenance method for preventing defects in design patterns introduced during the evolution of pattern-based software design and its maintenance. Because conventional UML design methods do not provide such systematic ways of assessing pattern-based design conformance to the evolutionary changes, we have developed the pattern instance changes with UML profiles (PICUP) design method, which is an improved design method for perfective and corrective UML pattern-based design maintenance and assessment. Design pattern in UML profiles (DPUP) is developed for the use of instantiation, maintenance, and assessment of UML pattern-based designs to support the formal specification of a design pattern. DPUPs, as the main part of the PICUP design method, provide metamodel-level UML design constraints using UML stereotype notations and metamodel-level Object Constraint Language design constraints. Assessment of pattern-based designs in UML class diagram with the corresponding DPUPs enforces maintainers to make necessary and correct changes to keep the principles of the original designs. Pattern-related information is annotated using stereotype notations to help assess pattern-based designs when changes are made. Furthermore, the structural conformance checking of a given UML pattern-based design can be automated by using the assessment tool. The major contributions of this paper are: (i) specifying design patterns using extended UML profile; (ii) providing a means of how to instantiate pattern-based designs from DPUPs with naming conventions; and (iii) providing design constraints for maintaining pattern-based design to guide correct changes of a given design in PICUP method. Explanatory type case studies were performed to better understand and evaluate the effectiveness of the PICUP design method with DPUPs. Answers to the case study questionnaires and the pattern defects discovered from the case studies support the hypothesis that the PICUP method is an improved design method that ensures structural conformance of UML pattern-based designs to the corresponding design patterns during perfective and corrective design maintenance for software systems. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Software maintenance including design is difficult because it is usually performed on someone else's work over a period of time. Maintaining a pattern-based design is especially much more difficult when the information on specific patterns that have been used are not available in the corresponding design documents. Also, finding a maintainer who has a similar level of knowledge on specific patterns that the initial designer had is not easy. Pattern-based design, the use of design patterns during the software design process, has become widely used in the object-oriented community because of its many benefits such as its reuse. However, the defects in pattern-based design can be introduced during the design maintenance phase when the changes are made to the requirements and the initial design, but the conformance to the original patterns is neglected. This conformance process is laborious and time consuming; no systematic process exists to guide the defects discovery and maintenance. Also, deep and correct knowledge of design patterns and their characteristics are required because this process is conducted by human experts. Failure to follow this conformance process and to maintain correct designs during software design evolution may cause serious problems in later software development and maintenance stages by not providing the benefits of pattern-based design that would have been possible if followed correctly. There is a strong need of a systematic design and maintenance method for preventing defects in design patterns introduced during the evolution of pattern-based software design and its maintenance. Because conventional UML design methods do not provide such systematic ways of assessing pattern-based design conformance to the evolutionary changes, we have developed the pattern instance changes with UML profiles (PICUP) design method, which is an improved design method for perfective and corrective UML pattern-based design maintenance and assessment. Design pattern in UML profiles (DPUP) is developed for the use of instantiation, maintenance, and assessment of UML pattern-based designs to support the formal specification of a design pattern. DPUPs, as the main part of the PICUP design method, provide metamodel-level UML design constraints using UML stereotype notations and metamodel-level Object Constraint Language design constraints. Assessment of pattern-based designs in UML class diagram with the corresponding DPUPs enforces maintainers to make necessary and correct changes to keep the principles of the original designs. Pattern-related information is annotated using stereotype notations to help assess pattern-based designs when changes are made. Furthermore, the structural conformance checking of a given UML pattern-based design can be automated by using the assessment tool. The major contributions of this paper are: (i) specifying design patterns using extended UML profile; (ii) providing a means of how to instantiate pattern-based designs from DPUPs with naming conventions; and (iii) providing design constraints for maintaining pattern-based design to guide correct changes of a given design in PICUP method. Explanatory type case studies were performed to better understand and evaluate the effectiveness of the PICUP design method with DPUPs. Answers to the case study questionnaires and the pattern defects discovered from the case studies support the hypothesis that the PICUP method is an improved design method that ensures structural conformance of UML pattern-based designs to the corresponding design patterns during perfective and corrective design maintenance for software systems. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1123" xmlns="http://purl.org/rss/1.0/"><title>TinyVM: an energy-efficient execution infrastructure for sensor networks</title><link>http://dx.doi.org/10.1002%2Fspe.1123</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">TinyVM: an energy-efficient execution infrastructure for sensor networks</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kirak Hong</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jiin Park</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sungho Kim</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Taekhoon Kim</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hwangho Kim</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bernd Burgstaller</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bernhard Scholz</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-03T07:27:43.25739-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1123</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1123</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1123</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Energy-efficient implementation techniques for virtual machines (VMs) have received little attention yet: conventional wisdom claims that VMs have a diametrical effect on energy consumption, and VM-based applications are therefore short-lived. In this paper, we argue that bytecode interpretation is affordable if we synthesize VMs specifically for energy efficiency. We present TinyVM, an execution infrastructure that seamlessly integrates with C and nesC/TinyOS-based programming environments. TinyVM achieves high code density through the use of compressed bytecode as the primary program representation. Compressed bytecode allows rapid application deployment with low communication overhead. TinyVM executes compressed bytecode in place, which eliminates the need for a decompression stage and thereby reduces memory consumption on sensor nodes. Our infrastructure automates the creation of energy-efficient application-specific VMs. Applications are partitioned in machine code, bytecode, and VM instruction set extensions. Partitioning is manually controlled and/or fully guided by a discrete optimization problem that produces a partitioning with lowest energy consumption for a given program size limit. We provide experimental results for sensor network benchmarks and for selected applications on various CPU architectures including Atmega128-based motes and the ARM-based Intel iMote2. TinyVM has been released under the GNU General Public License. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Energy-efficient implementation techniques for virtual machines (VMs) have received little attention yet: conventional wisdom claims that VMs have a diametrical effect on energy consumption, and VM-based applications are therefore short-lived. In this paper, we argue that bytecode interpretation is affordable if we synthesize VMs specifically for energy efficiency. We present TinyVM, an execution infrastructure that seamlessly integrates with C and nesC/TinyOS-based programming environments. TinyVM achieves high code density through the use of compressed bytecode as the primary program representation. Compressed bytecode allows rapid application deployment with low communication overhead. TinyVM executes compressed bytecode in place, which eliminates the need for a decompression stage and thereby reduces memory consumption on sensor nodes. Our infrastructure automates the creation of energy-efficient application-specific VMs. Applications are partitioned in machine code, bytecode, and VM instruction set extensions. Partitioning is manually controlled and/or fully guided by a discrete optimization problem that produces a partitioning with lowest energy consumption for a given program size limit. We provide experimental results for sensor network benchmarks and for selected applications on various CPU architectures including Atmega128-based motes and the ARM-based Intel iMote2. TinyVM has been released under the GNU General Public License. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1119" xmlns="http://purl.org/rss/1.0/"><title>Efficiently and transparently automating scalable on-demand activation and deactivation of services with the activator pattern</title><link>http://dx.doi.org/10.1002%2Fspe.1119</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Efficiently and transparently automating scalable on-demand activation and deactivation of services with the activator pattern</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Stal</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Douglas C. Schmidt</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">William R. Otte</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-09-30T03:29:52.981771-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1119</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1119</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1119</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">00</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">00</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Computing systems are increasingly designed as a collection of interacting services that constitute a set of functionality offered by a service provider or server to its clients. Many service-oriented computing systems have constraints on the resources they allocate and manage. In these systems, certain types of services should consume resources only when they are accessed by clients, and clients should be shielded from where services are located, how they are deployed, and how their lifecycle is managed. The activator pattern provides an effective means to efficiently and transparently automate scalable on-demand activation and deactivation of services accessed by many clients. This paper motivates the need for the activator pattern, describes the structure and dynamics of canonical implementations of the pattern, and examines the benefits and liabilities of applying this pattern to services in resource-constrained computing systems. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Computing systems are increasingly designed as a collection of interacting services that constitute a set of functionality offered by a service provider or server to its clients. Many service-oriented computing systems have constraints on the resources they allocate and manage. In these systems, certain types of services should consume resources only when they are accessed by clients, and clients should be shielded from where services are located, how they are deployed, and how their lifecycle is managed. The activator pattern provides an effective means to efficiently and transparently automate scalable on-demand activation and deactivation of services accessed by many clients. This paper motivates the need for the activator pattern, describes the structure and dynamics of canonical implementations of the pattern, and examines the benefits and liabilities of applying this pattern to services in resource-constrained computing systems. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1124" xmlns="http://purl.org/rss/1.0/"><title>Extending UML to model Web 2.0-based context-aware applications</title><link>http://dx.doi.org/10.1002%2Fspe.1124</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Extending UML to model Web 2.0-based context-aware applications</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">I-Ching Hsu</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-09-30T02:45:35.753993-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1124</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1124</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1124</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Web 2.0 Mashups offer entirely new opportunities for context-aware application (CAA) developers by integrating Web 2.0 technologies to facilitate interoperability among heterogeneous context-aware systems. From a software engineering perspective, a visualized approach for Web 2.0-based CAA modeling is crucial. Current CAA development, however, cannot provide a conceptual model for Web 2.0-based CAA. Therefore, the development efficiency and potential for reuse are decreased. The UML is a general purpose modeling language with potential for use in many application domains. However, UML often lacks elements needed to model concepts in specific domains, such as Web 2.0-based CAA modeling. To address the above issues, this study presents the Web 2.0-based CAA UML profile, a UML profile for modeling Web 2.0-based CAA. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Web 2.0 Mashups offer entirely new opportunities for context-aware application (CAA) developers by integrating Web 2.0 technologies to facilitate interoperability among heterogeneous context-aware systems. From a software engineering perspective, a visualized approach for Web 2.0-based CAA modeling is crucial. Current CAA development, however, cannot provide a conceptual model for Web 2.0-based CAA. Therefore, the development efficiency and potential for reuse are decreased. The UML is a general purpose modeling language with potential for use in many application domains. However, UML often lacks elements needed to model concepts in specific domains, such as Web 2.0-based CAA modeling. To address the above issues, this study presents the Web 2.0-based CAA UML profile, a UML profile for modeling Web 2.0-based CAA. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1130" xmlns="http://purl.org/rss/1.0/"><title>Architecture of a multiplatform virtual campus</title><link>http://dx.doi.org/10.1002%2Fspe.1130</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Architecture of a multiplatform virtual campus</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Antonio Navarro</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jesús Cristóbal</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Carmen Fernández-Chamizo</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alfredo Fernández-Valmayor</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-09-30T02:31:51.900346-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1130</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1130</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1130</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The design, development and maintenance of large virtual campuses are complex issues. This paper describes the architecture of a large university multiplatform virtual campus. Because we have not found virtual campus architectures described in the literature, the goal of this paper is to make our experience available to a wider audience so that organizations interested in the deployment of a large virtual campus can take advantage of our work. Thus, this paper analyzes this architecture from three different points of view: (i) software architecture; (ii) detailed software design; and (iii) hardware architecture. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>The design, development and maintenance of large virtual campuses are complex issues. This paper describes the architecture of a large university multiplatform virtual campus. Because we have not found virtual campus architectures described in the literature, the goal of this paper is to make our experience available to a wider audience so that organizations interested in the deployment of a large virtual campus can take advantage of our work. Thus, this paper analyzes this architecture from three different points of view: (i) software architecture; (ii) detailed software design; and (iii) hardware architecture. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1122" xmlns="http://purl.org/rss/1.0/"><title>Towards design pattern definition language</title><link>http://dx.doi.org/10.1002%2Fspe.1122</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Towards design pattern definition language</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Salman Khwaja</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mohammad Alshayeb</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-09-30T01:52:51.624704-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1122</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1122</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1122</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Design patterns are rapidly gaining acceptance in the software community not only as reusable constructs for software development but also for the documentation of the software architectural design. Most of the existing design pattern languages describe design patterns using a combination of a natural language, UML-style diagrams and complex mathematical or logic based formalisms, which makes them hard for programmers to understand. In this paper we propose a design pattern definition language (DPDL) based on XML which can be used for sharing design patterns’ implementation details among developers. DPDL is easy to understand and use. It provides unambiguous description of the patterns and is extensible. DPDL also has the flexibility of defining design patterns in a generic term to be used as templates. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Design patterns are rapidly gaining acceptance in the software community not only as reusable constructs for software development but also for the documentation of the software architectural design. Most of the existing design pattern languages describe design patterns using a combination of a natural language, UML-style diagrams and complex mathematical or logic based formalisms, which makes them hard for programmers to understand. In this paper we propose a design pattern definition language (DPDL) based on XML which can be used for sharing design patterns’ implementation details among developers. DPDL is easy to understand and use. It provides unambiguous description of the patterns and is extensible. DPDL also has the flexibility of defining design patterns in a generic term to be used as templates. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1120" xmlns="http://purl.org/rss/1.0/"><title>Execution profiling blueprints</title><link>http://dx.doi.org/10.1002%2Fspe.1120</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Execution profiling blueprints</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexandre Bergel</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Felipe Bañados</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Romain Robbes</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Walter Binder</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-09-15T23:08:59.567121-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1120</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1120</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1120</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Although traditional approaches to code profiling help locate performance bottlenecks, they offer only limited support for removing these bottlenecks. The main reason is the lack of detailed visual runtime information to identify and eliminate computation redundancy. We provide three profiling blueprints that help identify and remove performance bottlenecks. The <em>structural distribution blueprint</em> graphically represents the CPU consumption share for each method and class of an application. The <em>behavioral distribution blueprint</em> depicts the distribution of CPU consumption along method invocations and hints at method candidates for caching optimizations. The <em>behavioral evolution blueprint</em> compares profiles of different versions of a software system and highlights performance-critical changes in the system. These three blueprints helped us to significantly optimize Mondrian, an open source visualization engine. Our implementation is freely available for the Pharo development environment and has been evaluated in a number of different scenarios. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Although traditional approaches to code profiling help locate performance bottlenecks, they offer only limited support for removing these bottlenecks. The main reason is the lack of detailed visual runtime information to identify and eliminate computation redundancy. We provide three profiling blueprints that help identify and remove performance bottlenecks. The structural distribution blueprint graphically represents the CPU consumption share for each method and class of an application. The behavioral distribution blueprint depicts the distribution of CPU consumption along method invocations and hints at method candidates for caching optimizations. The behavioral evolution blueprint compares profiles of different versions of a software system and highlights performance-critical changes in the system. These three blueprints helped us to significantly optimize Mondrian, an open source visualization engine. Our implementation is freely available for the Pharo development environment and has been evaluated in a number of different scenarios. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1118" xmlns="http://purl.org/rss/1.0/"><title>Application of Deadlock Risk Evaluation of Architectural Models</title><link>http://dx.doi.org/10.1002%2Fspe.1118</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Application of Deadlock Risk Evaluation of Architectural Models</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Antonio Monzón</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">José L. Fernández</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juan A. de la Puente</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-09-02T00:53:37.845426-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1118</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1118</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1118</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Software architectural evaluation is a key discipline used to identify, at early stages of a real-time system (RTS) development, the problems that may arise during its operation. Typical mechanisms supporting concurrency, such as semaphores, mutexes or monitors, usually lead to concurrency problems in execution time that are difficult to be identified, reproduced and solved. For this reason, it is crucial to understand the root causes of these problems and to provide support to identify and mitigate them at early stages of the system lifecycle. This paper aims to present the results of a research work oriented to the development of the tool called ‘Deadlock Risk Evaluation of Architectural Models’ (DREAM) to assess deadlock risk in architectural models of an RTS. A particular architectural style, Pipelines of Processes in Object-Oriented Architectures–UML (PPOOA) was used to represent platform-independent models of an RTS architecture supported by the PPOOA –Visio tool. We validated the technique presented here by using several case studies related to RTS development and comparing our results with those from other deadlock detection approaches, supported by different tools. Here we present two of these case studies, one related to avionics and the other to planetary exploration robotics. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Software architectural evaluation is a key discipline used to identify, at early stages of a real-time system (RTS) development, the problems that may arise during its operation. Typical mechanisms supporting concurrency, such as semaphores, mutexes or monitors, usually lead to concurrency problems in execution time that are difficult to be identified, reproduced and solved. For this reason, it is crucial to understand the root causes of these problems and to provide support to identify and mitigate them at early stages of the system lifecycle. This paper aims to present the results of a research work oriented to the development of the tool called ‘Deadlock Risk Evaluation of Architectural Models’ (DREAM) to assess deadlock risk in architectural models of an RTS. A particular architectural style, Pipelines of Processes in Object-Oriented Architectures–UML (PPOOA) was used to represent platform-independent models of an RTS architecture supported by the PPOOA –Visio tool. We validated the technique presented here by using several case studies related to RTS development and comparing our results with those from other deadlock detection approaches, supported by different tools. Here we present two of these case studies, one related to avionics and the other to planetary exploration robotics. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1113" xmlns="http://purl.org/rss/1.0/"><title>Comparison of adaptive random testing and random testing under various testing and debugging scenarios</title><link>http://dx.doi.org/10.1002%2Fspe.1113</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Comparison of adaptive random testing and random testing under various testing and debugging scenarios</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huai Liu</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Fei-Ching Kuo</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tsong Yueh Chen</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-09-02T00:52:49.287786-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1113</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1113</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1113</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Adaptive random testing is an enhancement of random testing. Previous studies on adaptive random testing assumed that once a failure is detected, testing is terminated and debugging is conducted immediately. It has been shown that adaptive random testing normally uses fewer test cases than random testing for detecting the first software failure. However, under many practical situations, testing should not be withheld after the detection of a failure. Thus, it is important to investigate the effectiveness with respect to the detection of multiple failures. In this paper, we compare adaptive random testing and random testing under various scenarios and examine whether adaptive random testing is still able to use fewer test cases than random testing to detect multiple software failures. Our study delivers some interesting results and highlights a number of promising research projects. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Adaptive random testing is an enhancement of random testing. Previous studies on adaptive random testing assumed that once a failure is detected, testing is terminated and debugging is conducted immediately. It has been shown that adaptive random testing normally uses fewer test cases than random testing for detecting the first software failure. However, under many practical situations, testing should not be withheld after the detection of a failure. Thus, it is important to investigate the effectiveness with respect to the detection of multiple failures. In this paper, we compare adaptive random testing and random testing under various scenarios and examine whether adaptive random testing is still able to use fewer test cases than random testing to detect multiple software failures. Our study delivers some interesting results and highlights a number of promising research projects. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1109" xmlns="http://purl.org/rss/1.0/"><title>Lossless asymmetric single instruction multiple data codec</title><link>http://dx.doi.org/10.1002%2Fspe.1109</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Lossless asymmetric single instruction multiple data codec</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jan Wassenberg</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-08-31T22:27:16.597883-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1109</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1109</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1109</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This report introduces a new lossless asymmetric single instruction multiple data codec designed for extremely efficient decompression of large satellite images. A throughput in excess of 3GB/s allows decompression to proceed in parallel with asynchronous transfers from fast block devices such as disk arrays. This is made possible by a simple and fast single instruction multiple data entropy coder that removes leading null bits. Our main contribution is a new approach for vectorized prediction and encoding. Unlike previous approaches that treat the entropy coder as a black box, we account for its properties in the design of the predictor. The resulting compressed stream is 1.2 to 1.5 times as large as JPEG-2000, but can be decompressed 100 times as quickly – even faster than copying uncompressed data in memory. Applications include streaming decompression for out of core visualization. To the best of our knowledge, this is the first entirely vectorized algorithm for lossless compression. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>This report introduces a new lossless asymmetric single instruction multiple data codec designed for extremely efficient decompression of large satellite images. A throughput in excess of 3GB/s allows decompression to proceed in parallel with asynchronous transfers from fast block devices such as disk arrays. This is made possible by a simple and fast single instruction multiple data entropy coder that removes leading null bits. Our main contribution is a new approach for vectorized prediction and encoding. Unlike previous approaches that treat the entropy coder as a black box, we account for its properties in the design of the predictor. The resulting compressed stream is 1.2 to 1.5 times as large as JPEG-2000, but can be decompressed 100 times as quickly – even faster than copying uncompressed data in memory. Applications include streaming decompression for out of core visualization. To the best of our knowledge, this is the first entirely vectorized algorithm for lossless compression. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1114" xmlns="http://purl.org/rss/1.0/"><title>Software abstractions for mobile RFID-enabled applications</title><link>http://dx.doi.org/10.1002%2Fspe.1114</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Software abstractions for mobile RFID-enabled applications</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andoni Lombide Carreton</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kevin Pinte</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Wolfgang De Meuter</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-08-31T22:18:48.296273-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1114</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1114</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1114</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Our everyday environments may soon be pervaded with radio frequency identification (RFID) tags integrated in physical objects. These RFID tags can store a digital representation of the physical object and transmit it wirelessly to pervasive, context-aware applications running on mobile devices. However, communicating with RFID tags is prone to many failures inherent to the technology. This hinders the development of such applications, as traditional programming models require the programmer to deal with the RFID hardware characteristics manually. On the other hand, traditional RFID middleware focuses on limited scenarios in an enterprise context and not on general ubiquitous computing scenarios. In this paper, we extend the ambient-oriented programming paradigm to program RFID applications, by considering RFID tags as intermittently connected <em>mutable proxy objects</em> hosted on mobile distributed computing devices, and detail our prototype implementation. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Our everyday environments may soon be pervaded with radio frequency identification (RFID) tags integrated in physical objects. These RFID tags can store a digital representation of the physical object and transmit it wirelessly to pervasive, context-aware applications running on mobile devices. However, communicating with RFID tags is prone to many failures inherent to the technology. This hinders the development of such applications, as traditional programming models require the programmer to deal with the RFID hardware characteristics manually. On the other hand, traditional RFID middleware focuses on limited scenarios in an enterprise context and not on general ubiquitous computing scenarios. In this paper, we extend the ambient-oriented programming paradigm to program RFID applications, by considering RFID tags as intermittently connected mutable proxy objects hosted on mobile distributed computing devices, and detail our prototype implementation. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1110" xmlns="http://purl.org/rss/1.0/"><title>(MC2)2: criteria, requirements and a software prototype for Cloud infrastructure decisions</title><link>http://dx.doi.org/10.1002%2Fspe.1110</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">(MC2)2: criteria, requirements and a software prototype for Cloud infrastructure decisions</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Menzel</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Marten Schönherr</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stefan Tai</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-08-31T21:38:10.99486-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1110</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1110</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1110</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Cloud computing is a disruptive technology, representing a new model for information technology solution engineering and management that promises to introduce significant cost savings and other benefits. The adoption of Cloud computing requires a detailed comparison of infrastructure alternatives, taking a number of aspects into careful consideration. Existing methods of evaluation, however, limit decision-making to the relative costs of Cloud computing, but do not take a broader range of criteria into account. The Multi-Criteria Comparison Method for Cloud Computing (<img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1110/asset/equation/spe1110-math-0001.gif?v=1&amp;t=gym0tj26&amp;s=9923003b85d4334b4f1ad0340376fcc11d4315c3" class="inlineGraphic"/>) offers a multi-criteria-based decision framework that can be applied to Cloud computing. The framework allows organizations to create evaluation methods that help to determine what infrastructure best suits their needs by evaluating and ranking infrastructure alternatives using multiple criteria derived from a comprehensive criteria catalog. Therefore, <img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1110/asset/equation/spe1110-math-0002.gif?v=1&amp;t=gym0tj28&amp;s=4012f0e6bc12aed2782eac02a4346de295e1cc7a" class="inlineGraphic"/> offers a way to differentiate infrastructures not only by costs but also in terms of benefits, opportunities and risks. <img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1110/asset/equation/spe1110-math-0003.gif?v=1&amp;t=gym0tj28&amp;s=7b1812b11b20f0f7bd0e673b0cb724407b4b3a49" class="inlineGraphic"/> can be adapted to facilitate a wide array of decision-making scenarios within the domain of information technology infrastructures, depending on the criteria selected to support the framework. The software prototype presented in this paper creates an interface to decision-makers that makes the framework more usable for Cloud infrastructure decisions in practice. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Cloud computing is a disruptive technology, representing a new model for information technology solution engineering and management that promises to introduce significant cost savings and other benefits. The adoption of Cloud computing requires a detailed comparison of infrastructure alternatives, taking a number of aspects into careful consideration. Existing methods of evaluation, however, limit decision-making to the relative costs of Cloud computing, but do not take a broader range of criteria into account. The Multi-Criteria Comparison Method for Cloud Computing ((MC2)2) offers a multi-criteria-based decision framework that can be applied to Cloud computing. The framework allows organizations to create evaluation methods that help to determine what infrastructure best suits their needs by evaluating and ranking infrastructure alternatives using multiple criteria derived from a comprehensive criteria catalog. Therefore, (MC2)2 offers a way to differentiate infrastructures not only by costs but also in terms of benefits, opportunities and risks. (MC2)2 can be adapted to facilitate a wide array of decision-making scenarios within the domain of information technology infrastructures, depending on the criteria selected to support the framework. The software prototype presented in this paper creates an interface to decision-makers that makes the framework more usable for Cloud infrastructure decisions in practice. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1108" xmlns="http://purl.org/rss/1.0/"><title>A JAVA application framework for scientific software development</title><link>http://dx.doi.org/10.1002%2Fspe.1108</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A JAVA application framework for scientific software development</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">F. Fdez-Riverola</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">D. Glez-Peña</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">H. López-Fernández</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">M. Reboiro-Jato</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">J.R. Méndez</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-08-26T20:58:36.862917-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1108</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1108</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1108</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This paper presents AIBench (SING group, Ourense, Spain), a JAVA desktop application framework mainly focused on scientific software development, with the goal of improving the productivity of research groups. Following the MVC design pattern, the programmer is able to develop applications using only three types of concepts: <em>operations, data-types</em>and <em>views</em>. The framework provides the rest of the functionality present in typical scientific applications, including user parameter requests, logging facilities, multithreading execution, experiment repeatability and graphic user interface generation, among others. The proposed framework is implemented following a plugin-based architecture, which also allows assembling new applications by the reuse of modules from past development projects. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>This paper presents AIBench (SING group, Ourense, Spain), a JAVA desktop application framework mainly focused on scientific software development, with the goal of improving the productivity of research groups. Following the MVC design pattern, the programmer is able to develop applications using only three types of concepts: operations, data-typesand views. The framework provides the rest of the functionality present in typical scientific applications, including user parameter requests, logging facilities, multithreading execution, experiment repeatability and graphic user interface generation, among others. The proposed framework is implemented following a plugin-based architecture, which also allows assembling new applications by the reuse of modules from past development projects. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1112" xmlns="http://purl.org/rss/1.0/"><title>Revisiting bounded context block-sorting transformations</title><link>http://dx.doi.org/10.1002%2Fspe.1112</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Revisiting bounded context block-sorting transformations</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">J. Shane Culpepper</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Matthias Petri</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Simon J. Puglisi</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-08-23T23:37:17.021173-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1112</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1112</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1112</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The Burrows–Wheeler Transform (<span class="smallCaps">BWT</span>) produces a permutation of a string <em>X</em>, denoted <em>X</em><sup>∗</sup>, by sorting the <em>n</em> cyclic rotations of <em>X</em> into full lexicographical order and taking the last column of the resulting <em>n</em>×<em>n</em> matrix to be <em>X</em><sup>∗</sup>. The transformation is reversible in<img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1112/asset/equation/spe1112-math-0001.gif?v=1&amp;t=gym0tj2k&amp;s=64b8302ba648062ed5a1701adc9406727e78e4a3" class="inlineGraphic"/> time. In this paper, we consider an alteration to the process, called <em>k</em>-<span class="smallCaps">BWT</span>, where rotations are only sorted to a depth <em>k</em>. We propose new approaches to the forward and reverse transform, and show that the methods are efficient in practice. More than a decade ago, two algorithms were independently discovered for reversing <em>k</em>-<span class="smallCaps">BWT</span>, both of which run in<img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1112/asset/equation/spe1112-math-0002.gif?v=1&amp;t=gym0tj2l&amp;s=94ba149a88218b9af64a936ca160b3f54ea29a88" class="inlineGraphic"/> time. Two recent algorithms have lowered the bounds for the reverse transformation to<img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1112/asset/equation/spe1112-math-0003.gif?v=1&amp;t=gym0tj2m&amp;s=e062a93e06a80764826b713384d1f995e5665847" class="inlineGraphic"/> and<img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1112/asset/equation/spe1112-math-0004.gif?v=1&amp;t=gym0tj2m&amp;s=317fc828fd2cf2cc3d008dad07dbc60c426fb9d4" class="inlineGraphic"/>, respectively. We examine the practical performance for these reversal algorithms. We find that the original<img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1112/asset/equation/spe1112-math-0005.gif?v=1&amp;t=gym0tj2n&amp;s=e21df10fb4ad6fc5132bce8ce2bf0afe10ac52e0" class="inlineGraphic"/> approach is most efficient in practice, and investigates new approaches, aimed at further speeding reversal, which store precomputed context boundaries in the compressed file. By explicitly encoding the context boundaries, we present an<img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1112/asset/equation/spe1112-math-0006.gif?v=1&amp;t=gym0tj2o&amp;s=edb3997def73206bf8581dea189c8385e44f2601" class="inlineGraphic"/> reversal technique that is both efficient and effective. Finally, our study elucidates an inherently cache-friendly – and hitherto unobserved – behavior in the reverse <em>k</em>-<span class="smallCaps">BWT</span>, which could lead to new applications of the <em>k</em>-<span class="smallCaps">BWT</span> transform. In contrast to previous empirical studies, we show that the partial transform can be reversed significantly faster than the full transform, without significantly affecting compression effectiveness. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>The Burrows–Wheeler Transform (BWT) produces a permutation of a string X, denoted X∗, by sorting the n cyclic rotations of X into full lexicographical order and taking the last column of the resulting n×n matrix to be X∗. The transformation is reversible inO(n) time. In this paper, we consider an alteration to the process, called k-BWT, where rotations are only sorted to a depth k. We propose new approaches to the forward and reverse transform, and show that the methods are efficient in practice. More than a decade ago, two algorithms were independently discovered for reversing k-BWT, both of which run inO(nk) time. Two recent algorithms have lowered the bounds for the reverse transformation toO(nlogk) andO(n), respectively. We examine the practical performance for these reversal algorithms. We find that the originalO(nk) approach is most efficient in practice, and investigates new approaches, aimed at further speeding reversal, which store precomputed context boundaries in the compressed file. By explicitly encoding the context boundaries, we present anO(n) reversal technique that is both efficient and effective. Finally, our study elucidates an inherently cache-friendly – and hitherto unobserved – behavior in the reverse k-BWT, which could lead to new applications of the k-BWT transform. In contrast to previous empirical studies, we show that the partial transform can be reversed significantly faster than the full transform, without significantly affecting compression effectiveness. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1052" xmlns="http://purl.org/rss/1.0/"><title>A trust-based noise injection strategy for privacy protection in cloud</title><link>http://dx.doi.org/10.1002%2Fspe.1052</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A trust-based noise injection strategy for privacy protection in cloud</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gaofeng Zhang</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yun Yang</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dong Yuan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jinjun Chen</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-08-21T21:19:31.366188-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1052</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1052</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1052</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Cloud promises users that they can present and deploy IT services in a pay-as-you-go fashion in an open and virtualized cloud environment while saving huge capital investment in their own IT infrastructure. In this sense, protection of users' privacy is critical and has become one of the most concerned issues as otherwise users may eventually lose the confidence and passion of deploying cloud in practice. Under some special cloud circumstances, some users' privacy, such as plans or habits, could be induced from their service requests by service providers without permissions from users. In this regard, obfuscation strategy can protect this kind of privacy by injecting ‘noise’ service requests to confuse potential ‘immoral’ service providers. However, existing noise obfuscation strategies focus on single noise injection whereas investigation of noise injection architecture has been neglected. Especially, a common service pattern in inter-clouds environment, the cooperative service process including different service providers, makes the risk of privacy serious and uncontrollable by the spread of users' privacy. To address this, we present a novel trust-based noise injection strategy for privacy protection in cloud. To support the strategy, we describe our noise injection architecture in cloud which specializes in the relations between various service roles in inter-clouds based on our trust model. The simulation can demonstrate that our noise injection strategy could significantly improve the effectiveness of privacy protection. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Cloud promises users that they can present and deploy IT services in a pay-as-you-go fashion in an open and virtualized cloud environment while saving huge capital investment in their own IT infrastructure. In this sense, protection of users' privacy is critical and has become one of the most concerned issues as otherwise users may eventually lose the confidence and passion of deploying cloud in practice. Under some special cloud circumstances, some users' privacy, such as plans or habits, could be induced from their service requests by service providers without permissions from users. In this regard, obfuscation strategy can protect this kind of privacy by injecting ‘noise’ service requests to confuse potential ‘immoral’ service providers. However, existing noise obfuscation strategies focus on single noise injection whereas investigation of noise injection architecture has been neglected. Especially, a common service pattern in inter-clouds environment, the cooperative service process including different service providers, makes the risk of privacy serious and uncontrollable by the spread of users' privacy. To address this, we present a novel trust-based noise injection strategy for privacy protection in cloud. To support the strategy, we describe our noise injection architecture in cloud which specializes in the relations between various service roles in inter-clouds based on our trust model. The simulation can demonstrate that our noise injection strategy could significantly improve the effectiveness of privacy protection. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1106" xmlns="http://purl.org/rss/1.0/"><title>MicroMAIS: executing and orchestrating Web services on constrained mobile devices</title><link>http://dx.doi.org/10.1002%2Fspe.1106</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">MicroMAIS: executing and orchestrating Web services on constrained mobile devices</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pierluigi Plebani</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cinzia Cappiello</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Marco Comuzzi</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Barbara Pernici</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sandeep Yadav</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-08-11T23:55:13.803267-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1106</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1106</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1106</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Mobile devices with their more and more powerful resources allow the development of mobile information systems in which services are not only provided by traditional systems but also autonomously executed and controlled in the mobile devices themselves. Services distributed on autonomous mobile devices allow both the development of cooperative applications without a back-end infrastructure and the development of applications blending distributed and centralized services. In this paper, we propose MicroMAIS: an integrated platform for supporting the execution of Web service-based applications natively on a mobile device. The MicroMAIS platform is composed of <span class="sans-serif ">mAS</span> and <em>μ</em>-BPEL. The former allows the execution of a single Web service, whereas the latter permits the orchestration of several Web services according to the WS-BPEL standard. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Mobile devices with their more and more powerful resources allow the development of mobile information systems in which services are not only provided by traditional systems but also autonomously executed and controlled in the mobile devices themselves. Services distributed on autonomous mobile devices allow both the development of cooperative applications without a back-end infrastructure and the development of applications blending distributed and centralized services. In this paper, we propose MicroMAIS: an integrated platform for supporting the execution of Web service-based applications natively on a mobile device. The MicroMAIS platform is composed of mAS and μ-BPEL. The former allows the execution of a single Web service, whereas the latter permits the orchestration of several Web services according to the WS-BPEL standard. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1104" xmlns="http://purl.org/rss/1.0/"><title>A dependency-aware ontology-based approach for deploying service level agreement monitoring services in Cloud</title><link>http://dx.doi.org/10.1002%2Fspe.1104</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A dependency-aware ontology-based approach for deploying service level agreement monitoring services in Cloud</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Amir Vahid Dastjerdi</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sayed Gholam Hassan Tabatabaei</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rajkumar Buyya</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-07-27T08:13:45.489461-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1104</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1104</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1104</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Cloud computing offers virtualized computing elements on demand in a pay-as-you-go manner. The major motivations to adopt Cloud services include no upfront investment on infrastructure and transferring responsibility of maintenance, backups, and license management to Cloud Providers. However, one of the key challenges that holds businesses from adopting Cloud computing services is that, by migrating to Cloud, they move some of their information and services out of their direct control. Their main concern is how well the Cloud providers keep their information (security) and deliver their services (performance). To cope with this challenge, several service level agreement management systems have been proposed. However, monitoring service deployment as a major responsibility of those systems have not been deeply investigated yet. Therefore, this paper shows how monitoring services have to be described, deployed (discovered and ranked), and then how they have to be executed to enforce accurate penalties by eliminating service level agreement failure cascading effects on violation detection. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Cloud computing offers virtualized computing elements on demand in a pay-as-you-go manner. The major motivations to adopt Cloud services include no upfront investment on infrastructure and transferring responsibility of maintenance, backups, and license management to Cloud Providers. However, one of the key challenges that holds businesses from adopting Cloud computing services is that, by migrating to Cloud, they move some of their information and services out of their direct control. Their main concern is how well the Cloud providers keep their information (security) and deliver their services (performance). To cope with this challenge, several service level agreement management systems have been proposed. However, monitoring service deployment as a major responsibility of those systems have not been deeply investigated yet. Therefore, this paper shows how monitoring services have to be described, deployed (discovered and ranked), and then how they have to be executed to enforce accurate penalties by eliminating service level agreement failure cascading effects on violation detection. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1105" xmlns="http://purl.org/rss/1.0/"><title>A system for debugging via online tracing and dynamic slicing</title><link>http://dx.doi.org/10.1002%2Fspe.1105</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A system for debugging via online tracing and dynamic slicing</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vijay Nagarajan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dennis Jeffrey</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rajiv Gupta</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Neelam Gupta</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-07-20T00:44:01.901127-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1105</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1105</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1105</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Dynamic slicing is a promising trace based technique that helps programmers in the process of debugging. In order to debug a failed run, dynamic slicing requires the dynamic dependence graph (DDG) information for that particular run. The two major challenges involved in utilizing dynamic slicing as a debugging technique are the efficient computation of the DDG and the efficient computation of the dynamic slice, given the DDG. In this paper, we present an efficient debugger, which first computes the DDG efficiently while the program is executing; dynamic slicing is later performed efficiently on the computed DDG, on demand. To minimize program slowdown during the online computation of DDG, we make the design decision of not outputting the computed dependencies to a file, instead, storing them in memory in a specially allocated fixed size circular buffer. The size of the buffer limits the length of the execution history that can be stored. To maximize the execution history that can be maintained, we introduce optimizations to eliminate the storage of most of the generated dependencies, at the same time ensuring that those that are stored are sufficient to capture the bug. Experiments conducted on CPU-intensive programs show that our optimizations are able to reduce the trace rate from 16 to 0.8 bytes per executed instruction. This enables us to store the dependence trace history for a window of 20 million executed instructions in a 16-MB buffer. Our debugger is also very efficient, yielding slicing times of around a second, and only slowing down the execution of the program by a factor of 19 during the online tracing step. Using recently proposed architectural support for monitoring, we are also able to handle multithreaded programs running on multicore processors. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Dynamic slicing is a promising trace based technique that helps programmers in the process of debugging. In order to debug a failed run, dynamic slicing requires the dynamic dependence graph (DDG) information for that particular run. The two major challenges involved in utilizing dynamic slicing as a debugging technique are the efficient computation of the DDG and the efficient computation of the dynamic slice, given the DDG. In this paper, we present an efficient debugger, which first computes the DDG efficiently while the program is executing; dynamic slicing is later performed efficiently on the computed DDG, on demand. To minimize program slowdown during the online computation of DDG, we make the design decision of not outputting the computed dependencies to a file, instead, storing them in memory in a specially allocated fixed size circular buffer. The size of the buffer limits the length of the execution history that can be stored. To maximize the execution history that can be maintained, we introduce optimizations to eliminate the storage of most of the generated dependencies, at the same time ensuring that those that are stored are sufficient to capture the bug. Experiments conducted on CPU-intensive programs show that our optimizations are able to reduce the trace rate from 16 to 0.8 bytes per executed instruction. This enables us to store the dependence trace history for a window of 20 million executed instructions in a 16-MB buffer. Our debugger is also very efficient, yielding slicing times of around a second, and only slowing down the execution of the program by a factor of 19 during the online tracing step. Using recently proposed architectural support for monitoring, we are also able to handle multithreaded programs running on multicore processors. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1102" xmlns="http://purl.org/rss/1.0/"><title>A high-performance sorting algorithm for multicore single-instruction multiple-data processors</title><link>http://dx.doi.org/10.1002%2Fspe.1102</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A high-performance sorting algorithm for multicore single-instruction multiple-data processors</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hiroshi Inoue</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Takao Moriyama</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hideaki Komatsu</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Toshio Nakatani</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-07-19T22:29:19.781529-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1102</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1102</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1102</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Many sorting algorithms have been studied in the past, but there are only a few algorithms that can effectively exploit both single-instruction multiple-data (SIMD) instructions and thread-level parallelism. In this paper, we propose a new high-performance sorting algorithm, called aligned-access sort (AA-sort), that exploits both the SIMD instructions and thread-level parallelism available on today's multicore processors. Our algorithm consists of two phases, an in-core sorting phase and an out-of-core merging phase. The in-core sorting phase uses our new sorting algorithm that extends combsort to exploit SIMD instructions. The out-of-core algorithm is based on mergesort with our novel vectorized merging algorithm. Both phases can take advantage of SIMD instructions. The key to high performance is eliminating unaligned memory accesses that would reduce the effectiveness of SIMD instructions in both phases. We implemented and evaluated the AA-sort on PowerPC 970MP and Cell Broadband Engine platforms. In summary, a sequential version of the AA-sort using SIMD instructions outperformed IBM's optimized sequential sorting library by 1.8 times and bitonic mergesort using SIMD instructions by 3.3 times on PowerPC 970MP when sorting 32 million random 32-bit integers. Also, a parallel version of AA-sort demonstrated better scalability with increasing numbers of cores than a parallel version of bitonic mergesort on both platforms. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Many sorting algorithms have been studied in the past, but there are only a few algorithms that can effectively exploit both single-instruction multiple-data (SIMD) instructions and thread-level parallelism. In this paper, we propose a new high-performance sorting algorithm, called aligned-access sort (AA-sort), that exploits both the SIMD instructions and thread-level parallelism available on today's multicore processors. Our algorithm consists of two phases, an in-core sorting phase and an out-of-core merging phase. The in-core sorting phase uses our new sorting algorithm that extends combsort to exploit SIMD instructions. The out-of-core algorithm is based on mergesort with our novel vectorized merging algorithm. Both phases can take advantage of SIMD instructions. The key to high performance is eliminating unaligned memory accesses that would reduce the effectiveness of SIMD instructions in both phases. We implemented and evaluated the AA-sort on PowerPC 970MP and Cell Broadband Engine platforms. In summary, a sequential version of the AA-sort using SIMD instructions outperformed IBM's optimized sequential sorting library by 1.8 times and bitonic mergesort using SIMD instructions by 3.3 times on PowerPC 970MP when sorting 32 million random 32-bit integers. Also, a parallel version of AA-sort demonstrated better scalability with increasing numbers of cores than a parallel version of bitonic mergesort on both platforms. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1096" xmlns="http://purl.org/rss/1.0/"><title>High-quality pagination for publishing</title><link>http://dx.doi.org/10.1002%2Fspe.1096</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">High-quality pagination for publishing</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paolo Ciancarini</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Angelo Di Iorio</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Luca Furini</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Fabio Vitali</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-07-13T01:33:35.593975-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1096</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1096</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1096</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The problem of line breaking consists of finding the best way to split paragraphs into lines. It has been cleverly addressed by the total-fit algorithm exposed by Knuth and Plass in a well-known paper. Similarly, page-breaking algorithms break the content flow of a document into page units. Formatting languages—such as the World Wide Web Consortium standard Extensible Stylesheet Language Formatting Objects (XSL-FO)—allow users to set which content should be kept in the same page and how many isolated lines are acceptable at the beginning/end of each page. The strategies most formatters adopt to meet these requirements, however, are not satisfactory for many publishing contexts as they very often generate unpleasant empty areas. In that case, typographers are required to manually craft the results in order to completely fill pages. This paper presents a page-breaking algorithm that extends the original Knuth and Plass line-breaking approach and produces high-quality documents without unwanted empty areas. The basic idea consists of delaying the definitive choice of breaks in the line-breaking process in order to provide a larger set of alternatives to the actual pagination step. The algorithm also allows users to decide the set of properties to be adjusted for pagination and their variation ranges. An application of the algorithm to XSL-FO is also presented, with an extension of the language that allows users to drive the pagination process. The tool, named FOP+, is a customized version of the open-source Apache Formatting Objects Processor formatter. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>The problem of line breaking consists of finding the best way to split paragraphs into lines. It has been cleverly addressed by the total-fit algorithm exposed by Knuth and Plass in a well-known paper. Similarly, page-breaking algorithms break the content flow of a document into page units. Formatting languages—such as the World Wide Web Consortium standard Extensible Stylesheet Language Formatting Objects (XSL-FO)—allow users to set which content should be kept in the same page and how many isolated lines are acceptable at the beginning/end of each page. The strategies most formatters adopt to meet these requirements, however, are not satisfactory for many publishing contexts as they very often generate unpleasant empty areas. In that case, typographers are required to manually craft the results in order to completely fill pages. This paper presents a page-breaking algorithm that extends the original Knuth and Plass line-breaking approach and produces high-quality documents without unwanted empty areas. The basic idea consists of delaying the definitive choice of breaks in the line-breaking process in order to provide a larger set of alternatives to the actual pagination step. The algorithm also allows users to decide the set of properties to be adjusted for pagination and their variation ranges. An application of the algorithm to XSL-FO is also presented, with an extension of the language that allows users to drive the pagination process. The tool, named FOP+, is a customized version of the open-source Apache Formatting Objects Processor formatter. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1095" xmlns="http://purl.org/rss/1.0/"><title>Specification and Standardization of a Java Trusted Computing API</title><link>http://dx.doi.org/10.1002%2Fspe.1095</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Specification and Standardization of a Java Trusted Computing API</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ronald Toegl</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Winkler</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mohammad Nauman</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Theodore W. Hong</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-07-13T01:12:50.642316-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1095</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1095</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1095</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The paradigm of Trusted Computing promises a new approach to improve the security of computer systems. The core functionality, based on a hardware component known as Trusted Platform Module, is integrated into commodity hardware. However, operating system integration and application software support remains limited at present. In particular, for Java, the most widely used platform-independent computing environment, there is currently no generally accepted Trusted Computing API. In this article, we describe the design of a high-level API for Trusted Computing. We report on the current state of the Trusted Computing Group's software architecture and on previous approaches targeting Java. We derive our requirements and design goals and describe a novel API design. We report on our transparent approach to standardization in the Java Community Process. The result of this effort is the API we propose in the Java Specification Request 321. In this work, we not only present the design of this new API but also discuss implementation and testing strategies. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>The paradigm of Trusted Computing promises a new approach to improve the security of computer systems. The core functionality, based on a hardware component known as Trusted Platform Module, is integrated into commodity hardware. However, operating system integration and application software support remains limited at present. In particular, for Java, the most widely used platform-independent computing environment, there is currently no generally accepted Trusted Computing API. In this article, we describe the design of a high-level API for Trusted Computing. We report on the current state of the Trusted Computing Group's software architecture and on previous approaches targeting Java. We derive our requirements and design goals and describe a novel API design. We report on our transparent approach to standardization in the Java Community Process. The result of this effort is the API we propose in the Java Specification Request 321. In this work, we not only present the design of this new API but also discuss implementation and testing strategies. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1098" xmlns="http://purl.org/rss/1.0/"><title>An empirical evaluation of several test-a-few strategies for testing particular conditions</title><link>http://dx.doi.org/10.1002%2Fspe.1098</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">An empirical evaluation of several test-a-few strategies for testing particular conditions</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric Ying Kwong Chan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">W. K. Chan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pak-Lok Poon</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yuen Tak Yu</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-07-01T03:04:07.358589-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1098</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1098</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1098</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Existing specification-based testing techniques often generate comprehensive test suites to cover diverse combinations of test-relevant aspects. Such a test suite can be prohibitively expensive to execute exhaustively because of its large size. A pragmatic strategy often adopted in practice, called <em>test-once</em> strategy, is to identify certain <em>particular conditions</em> from the specification and to test each such condition once only. This strategy is implicitly based on the <em>uniformity assumption</em> that the implementation will process a particular condition uniformly, regardless of other parameters or inputs. As the decision of adopting the test-once strategy is often based on the specification, whether the uniformity assumption actually holds in the implementation needs to be critically assessed, or else the risk of inadequate testing could be non-negligible. As viable alternatives to reduce such a risk, a family of test-a-few strategies for the testing of particular conditions is proposed in this paper. Two rounds of experiments that evaluate the effectiveness of the test-a-few strategies as compared with the test-once strategy are further reported. Our experiments do the following: (1) provide clear evidence that the uniformity assumption often, but not always, holds and that the assumption usually fails to hold when the implementation is faulty; (2) demonstrate that all our proposed test-a-few strategies are statistically more reliable than the test-once strategy in revealing faulty programs; (3) show that random sampling is already substantially more effective than the test-once strategy; and (4) indicate that, compared with other test-a-few strategies under study, choice coverage seems to achieve a better trade-off between test effort and effectiveness. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Existing specification-based testing techniques often generate comprehensive test suites to cover diverse combinations of test-relevant aspects. Such a test suite can be prohibitively expensive to execute exhaustively because of its large size. A pragmatic strategy often adopted in practice, called test-once strategy, is to identify certain particular conditions from the specification and to test each such condition once only. This strategy is implicitly based on the uniformity assumption that the implementation will process a particular condition uniformly, regardless of other parameters or inputs. As the decision of adopting the test-once strategy is often based on the specification, whether the uniformity assumption actually holds in the implementation needs to be critically assessed, or else the risk of inadequate testing could be non-negligible. As viable alternatives to reduce such a risk, a family of test-a-few strategies for the testing of particular conditions is proposed in this paper. Two rounds of experiments that evaluate the effectiveness of the test-a-few strategies as compared with the test-once strategy are further reported. Our experiments do the following: (1) provide clear evidence that the uniformity assumption often, but not always, holds and that the assumption usually fails to hold when the implementation is faulty; (2) demonstrate that all our proposed test-a-few strategies are statistically more reliable than the test-once strategy in revealing faulty programs; (3) show that random sampling is already substantially more effective than the test-once strategy; and (4) indicate that, compared with other test-a-few strategies under study, choice coverage seems to achieve a better trade-off between test effort and effectiveness. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1091" xmlns="http://purl.org/rss/1.0/"><title>Autonomous role discovery for collaborating agents</title><link>http://dx.doi.org/10.1002%2Fspe.1091</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Autonomous role discovery for collaborating agents</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Luca Ferrari</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Haibin Zhu</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-06-27T05:18:19.051155-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1091</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1091</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1091</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Role-based collaboration is an emerging methodology to facilitate an organizational structure, provide orderly system behavior, and consolidate system security for both human and non-human entities, like agents, that collaborate and coordinate their activities with or within systems. Interaction management must, however, be able to handle run-time and dynamic scenarios. Hence, every role-based collaboration system must provide a good level of dynamism, that is, provide an agent with the capability to assume, use, and release a role depending on run-time conditions. Dynamism, however, does not suffice in adaptative scenarios: being able to use a role dynamically is important, but in order to enhance interagent communications, the capability to perceive a played role is important too. Role perceivability is the capability of an agent to autonomously recognize the role played by another entity without the need to ask a yellow-page directory. Whereas dynamism has been achieved with different techniques and often through language support, role perceivability is more difficult to achieve and to some extent even more important because it can boost sociality among entities and agents. In object-oriented programming languages, such as JAVA, role perceivability could be achieved with appropriate changes to the agent/entity class structure, but this requires compile time constraints that are, in their nature, not dynamic. This paper proposes an approach to remedy the above problems: maintaining an appropriate level of dynamism. The work presented here allows a JAVA agent to make its role perceivable to other entities as if it is applied at compile time. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Role-based collaboration is an emerging methodology to facilitate an organizational structure, provide orderly system behavior, and consolidate system security for both human and non-human entities, like agents, that collaborate and coordinate their activities with or within systems. Interaction management must, however, be able to handle run-time and dynamic scenarios. Hence, every role-based collaboration system must provide a good level of dynamism, that is, provide an agent with the capability to assume, use, and release a role depending on run-time conditions. Dynamism, however, does not suffice in adaptative scenarios: being able to use a role dynamically is important, but in order to enhance interagent communications, the capability to perceive a played role is important too. Role perceivability is the capability of an agent to autonomously recognize the role played by another entity without the need to ask a yellow-page directory. Whereas dynamism has been achieved with different techniques and often through language support, role perceivability is more difficult to achieve and to some extent even more important because it can boost sociality among entities and agents. In object-oriented programming languages, such as JAVA, role perceivability could be achieved with appropriate changes to the agent/entity class structure, but this requires compile time constraints that are, in their nature, not dynamic. This paper proposes an approach to remedy the above problems: maintaining an appropriate level of dynamism. The work presented here allows a JAVA agent to make its role perceivable to other entities as if it is applied at compile time. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1086" xmlns="http://purl.org/rss/1.0/"><title>A self-applicable online partial evaluator for recursive flowchart languages</title><link>http://dx.doi.org/10.1002%2Fspe.1086</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A self-applicable online partial evaluator for recursive flowchart languages</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Glück</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-06-20T21:26:26.581774-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1086</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1086</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1086</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This paper describes a self-applicable online partial evaluator for a flowchart language with recursive calls. Self-application of the partial evaluator yields generating extensions that are as efficient as those reported in the literature for offline partial evaluation. This result is remarkable because it has been assumed that online partial evaluation techniques unavoidably lead to inefficient and overgeneralized generating extensions. The purpose of this paper is not to determine which kind of partial evaluation is better, but to show how the problem can be solved by recursive polyvariant specialization. The design of the self-applicable online partial evaluator is based on a number of known techniques, but by combining them in a new way this result can be produced. The partial evaluator, its techniques, and its implementation are presented in full. Self-application according to all three Futamura projections is demonstrated. The complete bootstrap of a compiler generator from a partial evaluator is also reported. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>This paper describes a self-applicable online partial evaluator for a flowchart language with recursive calls. Self-application of the partial evaluator yields generating extensions that are as efficient as those reported in the literature for offline partial evaluation. This result is remarkable because it has been assumed that online partial evaluation techniques unavoidably lead to inefficient and overgeneralized generating extensions. The purpose of this paper is not to determine which kind of partial evaluation is better, but to show how the problem can be solved by recursive polyvariant specialization. The design of the self-applicable online partial evaluator is based on a number of known techniques, but by combining them in a new way this result can be produced. The partial evaluator, its techniques, and its implementation are presented in full. Self-application according to all three Futamura projections is demonstrated. The complete bootstrap of a compiler generator from a partial evaluator is also reported. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1055" xmlns="http://purl.org/rss/1.0/"><title>Virtualized HPC: a contradiction in terms?</title><link>http://dx.doi.org/10.1002%2Fspe.1055</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Virtualized HPC: a contradiction in terms?</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Georg Birkenheuer</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">André Brinkmann</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jürgen Kaiser</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Axel Keller</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Matthias Keller</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christoph Kleineweber</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christoph Konersmann</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Niehörster</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thorsten Schäfer</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jens Simon</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Maximilian Wilhelm</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-06-08T21:37:33.153796-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1055</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1055</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1055</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>System virtualization has become the enabling technology to manage the increasing number of different applications inside data centers. The abstraction from the underlying hardware and the provision of multiple virtual machines (VM) on a single physical server have led to a consolidation and more efficient usage of physical servers. The abstraction from the hardware also eases the provision of applications on different data centers, as applied in several cloud computing environments. In this case, the application need not adapt to the environment of the cloud computing provider, but can travel around with its own VM image, including its own operating system and libraries. System virtualization and cloud computing could also be very attractive in the context of high-performance computing (HPC). Today, HPC centers have to cope with both, the management of the infrastructure and also the applications. Virtualization technology would enable these centers to focus on the infrastructure, while the users, collaborating inside their virtual organizations (VOs), would be able to provide the software. Nevertheless, there seems to be a contradiction between HPC and cloud computing, as there are very few successful approaches to virtualize HPC centers. This work discusses the underlying reasons, including the management and performance, and presents solutions to overcome the contradiction, including a set of new libraries. The viability of the presented approach is shown based on evaluating a selected parallel, scientific application in a virtualized HPC environment. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>System virtualization has become the enabling technology to manage the increasing number of different applications inside data centers. The abstraction from the underlying hardware and the provision of multiple virtual machines (VM) on a single physical server have led to a consolidation and more efficient usage of physical servers. The abstraction from the hardware also eases the provision of applications on different data centers, as applied in several cloud computing environments. In this case, the application need not adapt to the environment of the cloud computing provider, but can travel around with its own VM image, including its own operating system and libraries. System virtualization and cloud computing could also be very attractive in the context of high-performance computing (HPC). Today, HPC centers have to cope with both, the management of the infrastructure and also the applications. Virtualization technology would enable these centers to focus on the infrastructure, while the users, collaborating inside their virtual organizations (VOs), would be able to provide the software. Nevertheless, there seems to be a contradiction between HPC and cloud computing, as there are very few successful approaches to virtualize HPC centers. This work discusses the underlying reasons, including the management and performance, and presents solutions to overcome the contradiction, including a set of new libraries. The viability of the presented approach is shown based on evaluating a selected parallel, scientific application in a virtualized HPC environment. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1077" xmlns="http://purl.org/rss/1.0/"><title>A component-based middleware platform for reconfigurable service-oriented architectures</title><link>http://dx.doi.org/10.1002%2Fspe.1077</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A component-based middleware platform for reconfigurable service-oriented architectures</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lionel Seinturier</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philippe Merle</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Romain Rouvoy</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Romero</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Valerio Schiavoni</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jean-Bernard Stefani</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-06-07T21:54:54.90633-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1077</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1077</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1077</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The <em>Service Component Architecture</em> (SCA) is a technology-independent standard for developing distributed <em>Service-oriented Architectures</em> (SOA). The SCA standard promotes the use of components and architecture descriptors, and mostly covers the lifecycle steps of implementation and deployment. Unfortunately, SCA does not address the governance of SCA applications and provides no support for the maintenance of deployed components. This article covers this issue and introduces the F<span class="smallCaps">RA</span>SCA<span class="smallCaps">TI</span> platform, a run-time support for SCA with dynamic reconfiguration capabilities and run-time management features. This article presents the internal component-based architecture of the F<span class="smallCaps">RA</span>SCA<span class="smallCaps">TI</span> platform, and highlights its key features. The component-based design of the F<span class="smallCaps">RA</span>SCA<span class="smallCaps">TI</span> platform introduces many degrees of flexibility and configurability in the platform itself and it can host the SOA applications. This article reports on micro-benchmarks highlighting that run-time manageability in the F<span class="smallCaps">RA</span>SCA<span class="smallCaps">TI</span> platform does not decrease its performance when compared with the <em>de facto</em> reference SCA implementation: Apache T<span class="smallCaps">USCANY</span>. Finally, a smart home scenario illustrates the extension capabilities and the various reconfigurations of the F<span class="smallCaps">RA</span>SCA<span class="smallCaps">TI</span> platform. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>The Service Component Architecture (SCA) is a technology-independent standard for developing distributed Service-oriented Architectures (SOA). The SCA standard promotes the use of components and architecture descriptors, and mostly covers the lifecycle steps of implementation and deployment. Unfortunately, SCA does not address the governance of SCA applications and provides no support for the maintenance of deployed components. This article covers this issue and introduces the FRASCATI platform, a run-time support for SCA with dynamic reconfiguration capabilities and run-time management features. This article presents the internal component-based architecture of the FRASCATI platform, and highlights its key features. The component-based design of the FRASCATI platform introduces many degrees of flexibility and configurability in the platform itself and it can host the SOA applications. This article reports on micro-benchmarks highlighting that run-time manageability in the FRASCATI platform does not decrease its performance when compared with the de facto reference SCA implementation: Apache TUSCANY. Finally, a smart home scenario illustrates the extension capabilities and the various reconfigurations of the FRASCATI platform. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1093" xmlns="http://purl.org/rss/1.0/"><title>Web workload generation challenges – an empirical investigation</title><link>http://dx.doi.org/10.1002%2Fspe.1093</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Web workload generation challenges – an empirical investigation</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raoufehsadat Hashemian</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Diwakar Krishnamurthy</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Martin Arlitt</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-06-01T22:19:49.460344-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1093</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1093</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1093</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Workload generators are widely used for testing the performance of Web-based systems. Typically, these tools are also used to collect measurements such as throughput and end-user response times that are often used to characterize the QoS provided by a system to its users. However, our study finds that Web workload generation is more difficult than it seems. In examining the popular RUBiS client generator, we found that reported response times could be grossly inaccurate, and that the generated workloads were less realistic than expected, causing server scalability to be incorrectly estimated. Using experimentation, we demonstrate how the Java virtual machine and the Java network library are the root causes of these issues. Our work serves as an example of how to verify the behavior of a Web workload generator. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Workload generators are widely used for testing the performance of Web-based systems. Typically, these tools are also used to collect measurements such as throughput and end-user response times that are often used to characterize the QoS provided by a system to its users. However, our study finds that Web workload generation is more difficult than it seems. In examining the popular RUBiS client generator, we found that reported response times could be grossly inaccurate, and that the generated workloads were less realistic than expected, causing server scalability to be incorrectly estimated. Using experimentation, we demonstrate how the Java virtual machine and the Java network library are the root causes of these issues. Our work serves as an example of how to verify the behavior of a Web workload generator. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1094" xmlns="http://purl.org/rss/1.0/"><title>Replay debugging of non-deterministic executions in the Kernel-based Virtual Machine</title><link>http://dx.doi.org/10.1002%2Fspe.1094</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Replay debugging of non-deterministic executions in the Kernel-based Virtual Machine</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kurt E. Kiefer</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Louise E. Moser</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-05-27T03:35:31.374034-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1094</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1094</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1094</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Logging and replay provide numerous benefits for debugging today's increasingly distributed and parallel applications, as well as for debugging within cloud computing environments. Tracking down faults, particularly in applications that involve non-deterministic executions, becomes much easier if such a technique is used. This article presents a system that leverages the functionality of modern x86 hardware extensions present in Intel and AMD processors to implement logging and replay of the Kernel-based Virtual Machine (KVM). With our KVM-based logging and replay system, virtual machines can be logged at will. The system can record the behavior of the operating system, the applications, the network traffic, and the user input. At a later time, and even on another machine, the problematic execution can be replayed and analyzed. The implementation incurs a minimal amount of processing and memory overhead, and thus, its effects are largely imperceptible to users of the system. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Logging and replay provide numerous benefits for debugging today's increasingly distributed and parallel applications, as well as for debugging within cloud computing environments. Tracking down faults, particularly in applications that involve non-deterministic executions, becomes much easier if such a technique is used. This article presents a system that leverages the functionality of modern x86 hardware extensions present in Intel and AMD processors to implement logging and replay of the Kernel-based Virtual Machine (KVM). With our KVM-based logging and replay system, virtual machines can be logged at will. The system can record the behavior of the operating system, the applications, the network traffic, and the user input. At a later time, and even on another machine, the problematic execution can be replayed and analyzed. The implementation incurs a minimal amount of processing and memory overhead, and thus, its effects are largely imperceptible to users of the system. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1090" xmlns="http://purl.org/rss/1.0/"><title>Towards an architecture for deploying elastic services in the cloud</title><link>http://dx.doi.org/10.1002%2Fspe.1090</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Towards an architecture for deploying elastic services in the cloud</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johannes Kirschnick</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jose M. Alcaraz Calero</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Patrick Goldsack</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andrew Farrell</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Julio Guijarro</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steve Loughran</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nigel Edwards</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lawrence Wilcock</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-05-26T22:47:56.296728-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1090</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1090</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1090</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Cloud computing infrastructure services enable the flexible creation of virtual infrastructures on-demand. However, the creation of infrastructures is only a part of the process for provisioning services. Other steps such as installation, deployment, configuration, monitoring and management of software components are needed to fully provide services to end-users in the cloud. This paper describes a peer-to-peer architecture to automatically deploy services on cloud infrastructures. The architecture uses a component repository to manage the deployment of these software components, enabling elasticity by using the underlying cloud infrastructure provider. The life cycle of these components is described in this paper, as well as the language for defining them. We also describe the open-source proof-of-concept implementation. Some technical information about this implementation together with some statistical results are also provided. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Cloud computing infrastructure services enable the flexible creation of virtual infrastructures on-demand. However, the creation of infrastructures is only a part of the process for provisioning services. Other steps such as installation, deployment, configuration, monitoring and management of software components are needed to fully provide services to end-users in the cloud. This paper describes a peer-to-peer architecture to automatically deploy services on cloud infrastructures. The architecture uses a component repository to manage the deployment of these software components, enabling elasticity by using the underlying cloud infrastructure provider. The life cycle of these components is described in this paper, as well as the language for defining them. We also describe the open-source proof-of-concept implementation. Some technical information about this implementation together with some statistical results are also provided. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1088" xmlns="http://purl.org/rss/1.0/"><title>A novel watermarking method for software protection in the cloud</title><link>http://dx.doi.org/10.1002%2Fspe.1088</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A novel watermarking method for software protection in the cloud</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Zhiwei Yu</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chaokun Wang</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Clark Thomborson</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jianmin Wang</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Shiguo Lian</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Athanasios V. Vasilakos</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-05-23T02:03:37.88664-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1088</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1088</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1088</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>With the rapid development of cloud computing, software applications are shifting onto cloud storage rather than remaining within local networks. Software distributions within the cloud are subject to security breaches, privacy abuses, and access control violations. In this paper, we identify an insider threat to access control which is not completely eliminated by the usual techniques of encryption, cryptographic hashes, and access-control labels. We address this threat using software watermarking. We evaluate our access-control scheme within the context of a Collaboration-oriented Architecture, as defined by The Jericho Forum. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>With the rapid development of cloud computing, software applications are shifting onto cloud storage rather than remaining within local networks. Software distributions within the cloud are subject to security breaches, privacy abuses, and access control violations. In this paper, we identify an insider threat to access control which is not completely eliminated by the usual techniques of encryption, cryptographic hashes, and access-control labels. We address this threat using software watermarking. We evaluate our access-control scheme within the context of a Collaboration-oriented Architecture, as defined by The Jericho Forum. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1082" xmlns="http://purl.org/rss/1.0/"><title>Hadoop framework: impact of data organization on performance</title><link>http://dx.doi.org/10.1002%2Fspe.1082</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Hadoop framework: impact of data organization on performance</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yu Shyang Tan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jiaqi Tan</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eng Siong Chng</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bu-Sung Lee</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jiaming Li</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Susumu Date</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hui Ping Chak</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xiong Xiao</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Atsushi Narishige</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-05-23T01:38:13.291878-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1082</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1082</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1082</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Hadoop, based on the popular MapReduce framework, is an open-source distributed computing framework that has been gaining much popularity and usage. It aims to allow programmers to focus on building applications that deals with processing large amount of data, without having to handle other issues when performing parallel computations. However, tuning the performance of Hadoop applications is not an easy task due to the level of abstraction of the framework. In this paper, we present three case studies and some of the challenges and issues that are to be considered in performance tuning when running applications in Hadoop. The focus is mainly on the impact of input data on Hadoop's performance and how they can be tuned. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Hadoop, based on the popular MapReduce framework, is an open-source distributed computing framework that has been gaining much popularity and usage. It aims to allow programmers to focus on building applications that deals with processing large amount of data, without having to handle other issues when performing parallel computations. However, tuning the performance of Hadoop applications is not an easy task due to the level of abstraction of the framework. In this paper, we present three case studies and some of the challenges and issues that are to be considered in performance tuning when running applications in Hadoop. The focus is mainly on the impact of input data on Hadoop's performance and how they can be tuned. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1089" xmlns="http://purl.org/rss/1.0/"><title>POET: a scripting language for applying parameterized source-to-source program transformations</title><link>http://dx.doi.org/10.1002%2Fspe.1089</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">POET: a scripting language for applying parameterized source-to-source program transformations</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Qing Yi</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-05-11T01:51:04.598902-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1089</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1089</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1089</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building <em>ad hoc</em> translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorization, among others, and to fully support the code generation of several domain-specific languages, including automatic tester/timer generation, and automatically translating a finite-state-machine-based behavior modeling language into C++/ Java code. This paper presents key design and implementation decisions of the POET language and show how to use various language features to significantly reduce the difficulty of supporting programmable compiler optimization for high performance computing and supporting <em>ad hoc</em> code generation for various domain-specific languages. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building ad hoc translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorization, among others, and to fully support the code generation of several domain-specific languages, including automatic tester/timer generation, and automatically translating a finite-state-machine-based behavior modeling language into C++/ Java code. This paper presents key design and implementation decisions of the POET language and show how to use various language features to significantly reduce the difficulty of supporting programmable compiler optimization for high performance computing and supporting ad hoc code generation for various domain-specific languages. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1085" xmlns="http://purl.org/rss/1.0/"><title>Privacy-aware shared UI toolkit for nomadic environments</title><link>http://dx.doi.org/10.1002%2Fspe.1085</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Privacy-aware shared UI toolkit for nomadic environments</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Richard B. Arthur</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dan R. Olsen</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-05-01T22:50:15.128252-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1085</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1085</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1085</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>As computing becomes more nomadic, privacy becomes a greater concern. People use portable devices to annex displays in their environments so that they can share information with other people. However, private information such as usernames, e-mail addresses, and folder names are shown on foreign displays. In addition, foreign keyboards can be used to enter in passwords generating a significant privacy and security risk. Because nomadic users' sensitive data is constantly at risk for exploitation via the UI toolkit, a solution for protecting user privacy must include that toolkit. This paper introduces the XICE framework—a windowing toolkit that provides easy display annexing and includes a robust privacy framework to help protect users and their data. This paper discusses the exploits that annexing external devices introduces and how XICE mitigates or eliminates those threats safely and naturally for both users and developers. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>As computing becomes more nomadic, privacy becomes a greater concern. People use portable devices to annex displays in their environments so that they can share information with other people. However, private information such as usernames, e-mail addresses, and folder names are shown on foreign displays. In addition, foreign keyboards can be used to enter in passwords generating a significant privacy and security risk. Because nomadic users' sensitive data is constantly at risk for exploitation via the UI toolkit, a solution for protecting user privacy must include that toolkit. This paper introduces the XICE framework—a windowing toolkit that provides easy display annexing and includes a robust privacy framework to help protect users and their data. This paper discusses the exploits that annexing external devices introduces and how XICE mitigates or eliminates those threats safely and naturally for both users and developers. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1080" xmlns="http://purl.org/rss/1.0/"><title>Manipulating Wi-Fi packet traces with WiPal: design and experience</title><link>http://dx.doi.org/10.1002%2Fspe.1080</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Manipulating Wi-Fi packet traces with WiPal: design and experience</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Claveirole</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Marcelo Dias de Amorim</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-04-13T21:16:03.951772-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1080</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1080</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1080</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Packet traces are important objects in networking, commonly used in a wide set of applications, including monitoring, troubleshooting, measurements, and validation, to cite a few. Many tools exist to produce and process such traces, but they are often too specific; using them as a basis for creating extended tools is then impractical. Some other tools are generic enough, but exhibit performance issues. This paper reports on our experience designing WiPal, a packet trace manipulation framework with a focus on IEEE 802.11. WiPal is designed for performance and re-usability, while introducing several novel features compared to previous solutions. Besides presenting how WiPal's original design can benefit packet processing programs, we discuss a number of issues a program designer might encounter when writing packet trace processing software. An evaluation of WiPal shows that, albeit generic, it does not impact performance regarding execution speed. WiPal achieves performance levels observed only with specialized code and outperforms some well-known packet processing programs. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Packet traces are important objects in networking, commonly used in a wide set of applications, including monitoring, troubleshooting, measurements, and validation, to cite a few. Many tools exist to produce and process such traces, but they are often too specific; using them as a basis for creating extended tools is then impractical. Some other tools are generic enough, but exhibit performance issues. This paper reports on our experience designing WiPal, a packet trace manipulation framework with a focus on IEEE 802.11. WiPal is designed for performance and re-usability, while introducing several novel features compared to previous solutions. Besides presenting how WiPal's original design can benefit packet processing programs, we discuss a number of issues a program designer might encounter when writing packet trace processing software. An evaluation of WiPal shows that, albeit generic, it does not impact performance regarding execution speed. WiPal achieves performance levels observed only with specialized code and outperforms some well-known packet processing programs. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1074" xmlns="http://purl.org/rss/1.0/"><title>A task-based and resource-aware approach to dynamically generate optimal software architecture for intelligent service robots</title><link>http://dx.doi.org/10.1002%2Fspe.1074</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A task-based and resource-aware approach to dynamically generate optimal software architecture for intelligent service robots</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yu-Sik Park</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hyung-Min Koo</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">In-Young Ko</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-04-12T03:44:45.200388-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1074</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1074</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1074</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Intelligent service robots provide various services to users by understanding the context and goals of a user task. In order to provide more reliable services, intelligent service robots need to consider various factors, such as their surrounding environments, users' changing needs, and constrained resources. To handle these factors, most of the intelligent service robots are controlled by a task-based control system, which generates a task plan that represents a sequence of actions, and executes those actions by invoking the corresponding functions. However, the traditional task-based control systems lack the consideration of resource factors even though intelligent service robots have limited resources (limited computational power, memory space, and network bandwidth). Moreover, system-specific concerns such as the relationships among functional modules are not considered during the task generation phase. Without considering both the resource conditions and interdependencies among software modules as a whole, it will be difficult to efficiently manage the functionalities that are essential to provide core services to users. In this paper, we propose a mechanism for intelligent service robots to efficiently use their resources on-demand by separating system-specific information from task generation. We have defined a sub-architecture that corresponds to each action of a task plan, and provides a way of using the limited resources by minimizing redundant software components and maintaining essential components for the current action. To support the optimization of resource consumption, we have developed a two-phase optimization process, which is composed of the topological and temporal optimization steps. We have conducted an experiment with these mechanisms for an infotainment robot, and simulated the optimization process. Results show that our approach contributed to increase the utilization rate by 20% of the robot resources. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Intelligent service robots provide various services to users by understanding the context and goals of a user task. In order to provide more reliable services, intelligent service robots need to consider various factors, such as their surrounding environments, users' changing needs, and constrained resources. To handle these factors, most of the intelligent service robots are controlled by a task-based control system, which generates a task plan that represents a sequence of actions, and executes those actions by invoking the corresponding functions. However, the traditional task-based control systems lack the consideration of resource factors even though intelligent service robots have limited resources (limited computational power, memory space, and network bandwidth). Moreover, system-specific concerns such as the relationships among functional modules are not considered during the task generation phase. Without considering both the resource conditions and interdependencies among software modules as a whole, it will be difficult to efficiently manage the functionalities that are essential to provide core services to users. In this paper, we propose a mechanism for intelligent service robots to efficiently use their resources on-demand by separating system-specific information from task generation. We have defined a sub-architecture that corresponds to each action of a task plan, and provides a way of using the limited resources by minimizing redundant software components and maintaining essential components for the current action. To support the optimization of resource consumption, we have developed a two-phase optimization process, which is composed of the topological and temporal optimization steps. We have conducted an experiment with these mechanisms for an infotainment robot, and simulated the optimization process. Results show that our approach contributed to increase the utilization rate by 20% of the robot resources. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1076" xmlns="http://purl.org/rss/1.0/"><title>Efficient address space generation for an OPC UA server</title><link>http://dx.doi.org/10.1002%2Fspe.1076</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Efficient address space generation for an OPC UA server</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alina Girbea</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Septimiu Nechifor</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Francisc Sisak</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Liviu Perniu</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-04-12T03:21:13.847173-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1076</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1076</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1076</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The new OPC Unified Architecture has been introduced as a replacement for the existing COM-based specifications. The article describes a generalized algorithm for the automatic generation of the address space structure for an UA server. First, we present the general startup procedure of an OPC UA server, focusing on the address space generation step. Afterwards we introduce specialized algorithms for the generation of the type nodes, of object, variable, method and view nodes. Finally the additional references are added to the fully meshed address space. The basic ideas of the algorithms are: the splitting of the nodes into groups and the sequential addition of the groups to the address space, and the naming of a main reference for every target node. The algorithms have been applied for an aggregating UA server which models the devices of an assembly line. The main advantages are: shorter development time, easier maintenance and the possibility to add nodes to the address space in both online and offline mode. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>The new OPC Unified Architecture has been introduced as a replacement for the existing COM-based specifications. The article describes a generalized algorithm for the automatic generation of the address space structure for an UA server. First, we present the general startup procedure of an OPC UA server, focusing on the address space generation step. Afterwards we introduce specialized algorithms for the generation of the type nodes, of object, variable, method and view nodes. Finally the additional references are added to the fully meshed address space. The basic ideas of the algorithms are: the splitting of the nodes into groups and the sequential addition of the groups to the address space, and the naming of a main reference for every target node. The algorithms have been applied for an aggregating UA server which models the devices of an assembly line. The main advantages are: shorter development time, easier maintenance and the possibility to add nodes to the address space in both online and offline mode. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1072" xmlns="http://purl.org/rss/1.0/"><title>The Cloud Adoption Toolkit: supporting cloud adoption decisions in the enterprise</title><link>http://dx.doi.org/10.1002%2Fspe.1072</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">The Cloud Adoption Toolkit: supporting cloud adoption decisions in the enterprise</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ali Khajeh-Hosseini</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Greenwood</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Smith</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ian Sommerville</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-04-12T02:55:50.080283-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1072</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1072</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1072</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Cloud computing promises a radical shift in the provisioning of computing resources within the enterprise. This paper describes the challenges that decision makers face when assessing the feasibility of the adoption of cloud computing in their organizations, and describes our Cloud Adoption Toolkit, which has been developed to support this process. The toolkit provides a framework to support decision makers in identifying their concerns, and matching these concerns to appropriate tools/techniques that can be used to address them. Cost Modeling is the most mature tool in the toolkit, and this paper shows its effectiveness by demonstrating how practitioners can use it to examine the costs of deploying their IT systems on the cloud. The Cost Modeling tool is evaluated using a case study of an organization that is considering the migration of some of its IT systems to the cloud. The case study shows that running systems on the cloud using a traditional ‘always on’ approach can be less cost effective, and the elastic nature of the cloud has to be used to reduce costs. Therefore, decision makers have to model the variations in resource usage and their systems' deployment options to obtain accurate cost estimates. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Cloud computing promises a radical shift in the provisioning of computing resources within the enterprise. This paper describes the challenges that decision makers face when assessing the feasibility of the adoption of cloud computing in their organizations, and describes our Cloud Adoption Toolkit, which has been developed to support this process. The toolkit provides a framework to support decision makers in identifying their concerns, and matching these concerns to appropriate tools/techniques that can be used to address them. Cost Modeling is the most mature tool in the toolkit, and this paper shows its effectiveness by demonstrating how practitioners can use it to examine the costs of deploying their IT systems on the cloud. The Cost Modeling tool is evaluated using a case study of an organization that is considering the migration of some of its IT systems to the cloud. The case study shows that running systems on the cloud using a traditional ‘always on’ approach can be less cost effective, and the elastic nature of the cloud has to be used to reduce costs. Therefore, decision makers have to model the variations in resource usage and their systems' deployment options to obtain accurate cost estimates. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1054" xmlns="http://purl.org/rss/1.0/"><title>Satisfying quality requirements in the design of a partition-based, distributed stock trading system</title><link>http://dx.doi.org/10.1002%2Fspe.1054</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Satisfying quality requirements in the design of a partition-based, distributed stock trading system</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xiaohu Yang</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Liping Zhao</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Xinyu Wang</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ye Wang</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jie Sun</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Albert Jerry Cristoforo</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-01T00:00:00-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1054</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1054</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1054</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">131</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">157</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Although quality requirements (QRs) have become a major drive in today's software development, there have been very few real-world examples in the literature that demonstrate how to meet these requirements. This paper presents such an example. Specifically, the paper describes the design of a partition-based distributed stock trading service system that satisfies a set of QRs related to resource utilization, performance, scalability and availability. The paper evaluates this design through detailed experiments and discusses some design alternatives and the lessons learned. Central to this design are a static load distribution strategy and a dynamic load balancing strategy. The first strategy is to achieve an initial balanced workload on the system's server cluster during the system initialization time, whereas the second strategy is to maintain this balanced workload throughout the system execution time. Together, these two strategies work in unison to ensure that the server resources are efficiently utilized; the user requests are processed with the required speed; the application is partitioned with sufficient room to scale; and the system is highly available. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Although quality requirements (QRs) have become a major drive in today's software development, there have been very few real-world examples in the literature that demonstrate how to meet these requirements. This paper presents such an example. Specifically, the paper describes the design of a partition-based distributed stock trading service system that satisfies a set of QRs related to resource utilization, performance, scalability and availability. The paper evaluates this design through detailed experiments and discusses some design alternatives and the lessons learned. Central to this design are a static load distribution strategy and a dynamic load balancing strategy. The first strategy is to achieve an initial balanced workload on the system's server cluster during the system initialization time, whereas the second strategy is to maintain this balanced workload throughout the system execution time. Together, these two strategies work in unison to ensure that the server resources are efficiently utilized; the user requests are processed with the required speed; the application is partitioned with sufficient room to scale; and the system is highly available. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1057" xmlns="http://purl.org/rss/1.0/"><title>A case study on business process recovery using an e-government system</title><link>http://dx.doi.org/10.1002%2Fspe.1057</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A case study on business process recovery using an e-government system</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ricardo Pérez-Castillo</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ignacio García-Rodríguez de Guzmán</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mario Piattini</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ángeles S. Places</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-01T00:00:00-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1057</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1057</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1057</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">159</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">189</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Business processes have become one of the key assets of organization, since these processes allow them to discover and control what occurs in their environments, with information systems automating most of an organization's processes. Unfortunately, and as a result of uncontrolled maintenance, information systems age over time until it is necessary to replace them with new and modernized systems. However, while systems are aging, meaningful business knowledge that is not present in any of the organization's other assets gradually becomes embedded in them. The preservation of this knowledge through the recovery of the underlying business processes is, therefore, a critical problem. This paper provides, as a solution to the aforementioned problem, a model-driven procedure for recovering business processes from legacy information systems. The procedure proposes a set of models at different abstraction levels, along with the model transformations between them. The paper also provides a supporting tool, which facilitates its adoption. Moreover, a real-life case study concerning an e-government system applies the proposed recovery procedure to validate its effectiveness and efficiency. The case study was carried out by following a formal protocol to improve its rigor and replicability. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Business processes have become one of the key assets of organization, since these processes allow them to discover and control what occurs in their environments, with information systems automating most of an organization's processes. Unfortunately, and as a result of uncontrolled maintenance, information systems age over time until it is necessary to replace them with new and modernized systems. However, while systems are aging, meaningful business knowledge that is not present in any of the organization's other assets gradually becomes embedded in them. The preservation of this knowledge through the recovery of the underlying business processes is, therefore, a critical problem. This paper provides, as a solution to the aforementioned problem, a model-driven procedure for recovering business processes from legacy information systems. The procedure proposes a set of models at different abstraction levels, along with the model transformations between them. The paper also provides a supporting tool, which facilitates its adoption. Moreover, a real-life case study concerning an e-government system applies the proposed recovery procedure to validate its effectiveness and efficiency. The case study was carried out by following a formal protocol to improve its rigor and replicability. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1058" xmlns="http://purl.org/rss/1.0/"><title>Simple algebraic data types for C</title><link>http://dx.doi.org/10.1002%2Fspe.1058</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Simple algebraic data types for C</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pieter H. Hartel</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Henk L. Muller</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-01T00:00:00-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1058</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1058</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1058</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">191</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">210</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Adt is a simple tool in the spirit of Lex and Yacc that makes monomorphic algebraic data types, polymorphic built-in types like the list and an efficient form of pattern matching available in C programs. C programs built with ADTs typically use NULL pointers only to indicate don't care values, and not as sentinels. This reduces the scope for errors involving NULL pointers. The Adt tool generates runtime checks, which catch many of the remaining NULL pointer dereferences. The runtime checks may consume a significant amount of CPU time; hence they can be switched off once the program is suitably debugged. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Adt is a simple tool in the spirit of Lex and Yacc that makes monomorphic algebraic data types, polymorphic built-in types like the list and an efficient form of pattern matching available in C programs. C programs built with ADTs typically use NULL pointers only to indicate don't care values, and not as sentinels. This reduces the scope for errors involving NULL pointers. The Adt tool generates runtime checks, which catch many of the remaining NULL pointer dereferences. The runtime checks may consume a significant amount of CPU time; hence they can be switched off once the program is suitably debugged. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1066" xmlns="http://purl.org/rss/1.0/"><title>Towards a goal-driven approach to action selection in self-adaptive software</title><link>http://dx.doi.org/10.1002%2Fspe.1066</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Towards a goal-driven approach to action selection in self-adaptive software</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mazeiar Salehie</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ladan Tahvildari</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-01T00:00:00-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1066</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1066</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1066</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">211</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">233</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Self-adaptive software is a closed-loop system, since it continuously monitors its context (i.e. environment) and/or self (i.e. software entities) in order to adapt itself properly to changes. We believe that representing adaptation goals explicitly and tracing them at run-time are helpful in decision making for adaptation. While goal-driven models are used in requirements engineering, they have not been utilized systematically yet for run-time adaptation. To address this research gap, this article focuses on the deciding process in self-adaptive software, and proposes the Goal-Action-Attribute Model (GAAM). An action selection mechanism, based on cooperative decision making, is also proposed that uses GAAM to select the appropriate adaptation action(s). The emphasis is on building a light-weight and scalable run-time model which needs less design and tuning effort comparing with a typical rule-based approach. The GAAM and action selection mechanism are evaluated using a set of experiments on a simulated multi-tier enterprise application, and two sample ordinal and cardinal action preference lists. The evaluation is accomplished based on a systematic design of experiment and a detailed statistical analysis in order to investigate several research questions. The findings are promising, considering the obtained results, and other impacts of the approach on engineering self-adaptive software. Although, one case study is not enough to generalize the findings, and the proposed mechanism does not always outperform a typical rule-based approach, less effort, scalability, and flexibility of GAAM are remarkable. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Self-adaptive software is a closed-loop system, since it continuously monitors its context (i.e. environment) and/or self (i.e. software entities) in order to adapt itself properly to changes. We believe that representing adaptation goals explicitly and tracing them at run-time are helpful in decision making for adaptation. While goal-driven models are used in requirements engineering, they have not been utilized systematically yet for run-time adaptation. To address this research gap, this article focuses on the deciding process in self-adaptive software, and proposes the Goal-Action-Attribute Model (GAAM). An action selection mechanism, based on cooperative decision making, is also proposed that uses GAAM to select the appropriate adaptation action(s). The emphasis is on building a light-weight and scalable run-time model which needs less design and tuning effort comparing with a typical rule-based approach. The GAAM and action selection mechanism are evaluated using a set of experiments on a simulated multi-tier enterprise application, and two sample ordinal and cardinal action preference lists. The evaluation is accomplished based on a systematic design of experiment and a detailed statistical analysis in order to investigate several research questions. The findings are promising, considering the obtained results, and other impacts of the approach on engineering self-adaptive software. Although, one case study is not enough to generalize the findings, and the proposed mechanism does not always outperform a typical rule-based approach, less effort, scalability, and flexibility of GAAM are remarkable. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1071" xmlns="http://purl.org/rss/1.0/"><title>Role-play virtual worlds for teaching object-oriented design: the ViRPlay development experience</title><link>http://dx.doi.org/10.1002%2Fspe.1071</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Role-play virtual worlds for teaching object-oriented design: the ViRPlay development experience</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Guillermo Jimenez-Diaz</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pedro A. Gonzalez-Calero</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mercedes Gomez-Albarran</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-01T00:00:00-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1071</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1071</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1071</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">235</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">253</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The use of game technology for building virtual learning environments is intended to improve the motivation and engagement of the student, borrowing such properties from their entertaining counterparts. Nevertheless, wrapping pedagogical contents in a virtual environment is no simple achievement, and requires a rigorous process of designing and validating the metaphors and mechanics included in the virtual learning system. In this paper we describe such design process exemplified in the construction of consecutive versions of ViRPlay, a 3D role play virtual environment for teaching object-oriented design. We show how main mechanics were transferred from experiments in the real world and how such mechanics were evolved based on empirical evaluations. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>The use of game technology for building virtual learning environments is intended to improve the motivation and engagement of the student, borrowing such properties from their entertaining counterparts. Nevertheless, wrapping pedagogical contents in a virtual environment is no simple achievement, and requires a rigorous process of designing and validating the metaphors and mechanics included in the virtual learning system. In this paper we describe such design process exemplified in the construction of consecutive versions of ViRPlay, a 3D role play virtual environment for teaching object-oriented design. We show how main mechanics were transferred from experiments in the real world and how such mechanics were evolved based on empirical evaluations. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://dx.doi.org/10.1002%2Fspe.1070" xmlns="http://purl.org/rss/1.0/"><title>PPM compression without escapes</title><link>http://dx.doi.org/10.1002%2Fspe.1070</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">PPM compression without escapes</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">P. M. Fenwick</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-01T00:00:00-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1070</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1070</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://dx.doi.org/10.1002%2Fspe.1070</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Short Communication</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">255</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">260</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>A significant cost in PPM data compression (and often the major cost) is the provision and efficient coding of escapes while building contexts. This paper presents some recent, preliminary, work on a new technique for eliminating escapes in PPM compression, using bit-wise compression with binary contexts. It shows that PPM without escapes can achieve averages of 2.5 bits per character on the Calgary Corpus and 2.2 bpc on the Canterbury Corpus, both values comparing well with accepted good compressors. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>A significant cost in PPM data compression (and often the major cost) is the provision and efficient coding of escapes while building contexts. This paper presents some recent, preliminary, work on a new technique for eliminating escapes in PPM compression, using bit-wise compression with binary contexts. It shows that PPM without escapes can achieve averages of 2.5 bits per character on the Calgary Corpus and 2.2 bpc on the Canterbury Corpus, both values comparing well with accepted good compressors. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item></rdf:RDF>
