A holistic domain model of a software product line is costly to build and difficult to verify and evolve. We propose a framework to incrementally develop domain requirements and to iteratively verify behavioral properties through model checking. We leverage state vectors to derive both local and global properties, and co-develop statechart models with temporal specifications in a modular way. We illustrate our framework using a worked example. The study shows that our framework can effectively detect inconsistencies and tighten the development feedback loop by automatically verifying domain properties.
{"title":"Modular development and verification of domain requirements via model checking","authors":"Tanmay Bhowmik, Nan Niu, E. B. Allen","doi":"10.1145/1900008.1900087","DOIUrl":"https://doi.org/10.1145/1900008.1900087","url":null,"abstract":"A holistic domain model of a software product line is costly to build and difficult to verify and evolve. We propose a framework to incrementally develop domain requirements and to iteratively verify behavioral properties through model checking. We leverage state vectors to derive both local and global properties, and co-develop statechart models with temporal specifications in a modular way. We illustrate our framework using a worked example. The study shows that our framework can effectively detect inconsistencies and tighten the development feedback loop by automatically verifying domain properties.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127342286","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Software maintainability can be difficult to plan for when strategies for software development present tradeoffs between popular support and expressiveness. These tradeoffs were explored in the context of a recent software project, where two schema transformation applications were developed in two ways: a first that used the traditional XSLT 1.0 plus pull processing approach to application development, and a second using XSLT 2.0 and push processing. The improvements obtained with the second strategy, which took 1/4 of the time to implement while substantially reducing the size of both applications and the complexity of one, suggest that the benefits of transitioning to XSLT 2.0 and push processing far outweigh the benefits of the older approaches.
{"title":"XSLT and application maintainability: a case study","authors":"A. Stauffer, Phil Pfeiffer","doi":"10.1145/1900008.1900065","DOIUrl":"https://doi.org/10.1145/1900008.1900065","url":null,"abstract":"Software maintainability can be difficult to plan for when strategies for software development present tradeoffs between popular support and expressiveness. These tradeoffs were explored in the context of a recent software project, where two schema transformation applications were developed in two ways: a first that used the traditional XSLT 1.0 plus pull processing approach to application development, and a second using XSLT 2.0 and push processing. The improvements obtained with the second strategy, which took 1/4 of the time to implement while substantially reducing the size of both applications and the complexity of one, suggest that the benefits of transitioning to XSLT 2.0 and push processing far outweigh the benefits of the older approaches.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128115312","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper describes an innovative product-oriented and software engineering process-guided Computer Science (CS) capstone project model for green smart energy application with aportable and inexpensive Wireless Sensor Network (WSN) kit in a Box (WinBox). The project is infused with ZigBee wireless technology and requires a wide range of CS and Software Engineering knowledge elements. Students will gain experience to tie their knowledge and skills learned in the CS discipline to analyze, design, and develop deliverable real world oriented product prototypes, and will be motivated to catch up with emerging technologies in "learning by doing" and be promoted for creativity and life-long learning.
{"title":"Leveraging CS capstone project and green smart energy computing with WSN in a box","authors":"K. Qian, D. Lo","doi":"10.1145/1900008.1900122","DOIUrl":"https://doi.org/10.1145/1900008.1900122","url":null,"abstract":"This paper describes an innovative product-oriented and software engineering process-guided Computer Science (CS) capstone project model for green smart energy application with aportable and inexpensive Wireless Sensor Network (WSN) kit in a Box (WinBox). The project is infused with ZigBee wireless technology and requires a wide range of CS and Software Engineering knowledge elements. Students will gain experience to tie their knowledge and skills learned in the CS discipline to analyze, design, and develop deliverable real world oriented product prototypes, and will be motivated to catch up with emerging technologies in \"learning by doing\" and be promoted for creativity and life-long learning.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129325955","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We evaluate snip, a region-based window operation, in the context of multiple-monitor usage. Snip allows users to restrict the view of any window to a specified subregion. For example snip is suitable for displaying appropriate reference information, a task of increased importance on multiple-monitor systems. Our field study results indicate that everyday multiple-monitor users employed snip to show more windows simultaneously than without snip and favored a specific monitor on which to show snipped windows. In short, the field study demonstrated an expected space-efficiency gain by using snip in multiple-monitor environments.
{"title":"Controlling information display in larger pixel spaces: a study of window snipping by multiple-monitor users","authors":"D. Hutchings, J. Stasko","doi":"10.1145/1900008.1900106","DOIUrl":"https://doi.org/10.1145/1900008.1900106","url":null,"abstract":"We evaluate snip, a region-based window operation, in the context of multiple-monitor usage. Snip allows users to restrict the view of any window to a specified subregion. For example snip is suitable for displaying appropriate reference information, a task of increased importance on multiple-monitor systems. Our field study results indicate that everyday multiple-monitor users employed snip to show more windows simultaneously than without snip and favored a specific monitor on which to show snipped windows. In short, the field study demonstrated an expected space-efficiency gain by using snip in multiple-monitor environments.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123087431","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This work in progress project presents a computer game development approach to enhance history learning for middle school and high school students. This project seeks to create an innovative software package that will serve as a model for democracy education in Tennessee and the United States. Through the collaboration of professors of computer science and history, historical content from Middle Tennessee State University's Gore Center will be digitized and manipulated to create an interactive, group-oriented, computer-based simulation of how democracy works. In the first phase of this project we are designing a computer game that allows students to learn about the history of the Civil Rights Bill through the decisions that Senator Gore Sr. made. Senator Gore Sr. was a Tennessee Senator during the time of the Civil Rights Bill. We also present our experiences in using this real world project as a basis for the semester long team project development for undergraduate and graduate software engineering class.
{"title":"Digital democracy: creating an online democracy education simulation in a software engineering class","authors":"M. Sarkar, J. William","doi":"10.1145/1900008.1900083","DOIUrl":"https://doi.org/10.1145/1900008.1900083","url":null,"abstract":"This work in progress project presents a computer game development approach to enhance history learning for middle school and high school students. This project seeks to create an innovative software package that will serve as a model for democracy education in Tennessee and the United States. Through the collaboration of professors of computer science and history, historical content from Middle Tennessee State University's Gore Center will be digitized and manipulated to create an interactive, group-oriented, computer-based simulation of how democracy works. In the first phase of this project we are designing a computer game that allows students to learn about the history of the Civil Rights Bill through the decisions that Senator Gore Sr. made. Senator Gore Sr. was a Tennessee Senator during the time of the Civil Rights Bill.\u0000 We also present our experiences in using this real world project as a basis for the semester long team project development for undergraduate and graduate software engineering class.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117347170","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Beginning programming courses can take many forms -- different order of topics, different languages, different texts, and different objectives. Because the material to be covered can often be very detailed and abstract, student interest and attention is hard to maintain. Adding a hands-on project to the course offers the instructor the ability to have the students focus on a fun project while still learning the rubrics of programming.
{"title":"Adding a robot project to a CS1 course","authors":"P. Pierce","doi":"10.1145/1900008.1900115","DOIUrl":"https://doi.org/10.1145/1900008.1900115","url":null,"abstract":"Beginning programming courses can take many forms -- different order of topics, different languages, different texts, and different objectives. Because the material to be covered can often be very detailed and abstract, student interest and attention is hard to maintain. Adding a hands-on project to the course offers the instructor the ability to have the students focus on a fun project while still learning the rubrics of programming.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"228 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133446851","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We present an implementation of the Gale-Shapley stable matching algorithm in the Coq proof assistant. The resulting program is guaranteed to terminate and provides a proof of the stability of the matchings that it produces. While proofs of the algorithm's termination and correctness exist on paper, our purpose was to investigate the process of developing a completely formalized proof for an executable implementation. The stages of our development are presented as a series of refinements to an initial version of the program. We suggest that the incremental approach we demonstrate is a reasonable model to follow in developing formalized correctness proofs for complex algorithms.
{"title":"Formally certified stable marriages","authors":"N. A. Hamid, Caleb Castleberry","doi":"10.1145/1900008.1900056","DOIUrl":"https://doi.org/10.1145/1900008.1900056","url":null,"abstract":"We present an implementation of the Gale-Shapley stable matching algorithm in the Coq proof assistant. The resulting program is guaranteed to terminate and provides a proof of the stability of the matchings that it produces. While proofs of the algorithm's termination and correctness exist on paper, our purpose was to investigate the process of developing a completely formalized proof for an executable implementation. The stages of our development are presented as a series of refinements to an initial version of the program. We suggest that the incremental approach we demonstrate is a reasonable model to follow in developing formalized correctness proofs for complex algorithms.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131395601","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Most present day search engines have a deterministic behavior in the sense that they return the same search results for all users who submit the same query at a certain time. They do not take the user!s interests and preferences into account in the retrieval process. Integrating user context in the retrieval process can help deliver more targeted search results, thereby providing a personalized search experience to the user. Personalizing web search involves the process of identifying user interests during interaction with the user, and then using that information to deliver results that are more relevant to the user. In this paper, we present our approach to personalizing web search on a mobile device (iPhone). Our approach involves building an ontological model of user interests on the user!s mobile device based on his interaction with web search results. Personalization of search results is achieved by re-ranking search results returned by a standard search engine (Yahoo) based on proximity to the user!s interest model. The ability to recognize user interests in a completely non-invasive way and the accuracy of personalized results are some of the major advantages of our approach.
{"title":"Mobile web search personalization using ontological user profile","authors":"K. Goenka, I. Arpinar, M. Nural","doi":"10.1145/1900008.1900028","DOIUrl":"https://doi.org/10.1145/1900008.1900028","url":null,"abstract":"Most present day search engines have a deterministic behavior in the sense that they return the same search results for all users who submit the same query at a certain time. They do not take the user!s interests and preferences into account in the retrieval process. Integrating user context in the retrieval process can help deliver more targeted search results, thereby providing a personalized search experience to the user. Personalizing web search involves the process of identifying user interests during interaction with the user, and then using that information to deliver results that are more relevant to the user. In this paper, we present our approach to personalizing web search on a mobile device (iPhone). Our approach involves building an ontological model of user interests on the user!s mobile device based on his interaction with web search results. Personalization of search results is achieved by re-ranking search results returned by a standard search engine (Yahoo) based on proximity to the user!s interest model. The ability to recognize user interests in a completely non-invasive way and the accuracy of personalized results are some of the major advantages of our approach.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129814118","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Program comprehension has been an integral part of a wide range of activities including introductory programming courses in colleges, end-user customizations to existing software, and software maintenance. Prior research has highlighted some of the factors that influence this task but has ignored the issue of program authorship. This pilot study explores the relationship between program comprehension and authorship and highlights the factors that are under play. Preliminary investigation has revealed that some of the important factors are - self efficacy, ownership, knowledge organization, existing mental models, access to expert community and cultural support.
{"title":"That is not my program: investigating the relation between program comprehension and program authorship","authors":"C. Dasgupta","doi":"10.1145/1900008.1900142","DOIUrl":"https://doi.org/10.1145/1900008.1900142","url":null,"abstract":"Program comprehension has been an integral part of a wide range of activities including introductory programming courses in colleges, end-user customizations to existing software, and software maintenance. Prior research has highlighted some of the factors that influence this task but has ignored the issue of program authorship. This pilot study explores the relationship between program comprehension and authorship and highlights the factors that are under play. Preliminary investigation has revealed that some of the important factors are - self efficacy, ownership, knowledge organization, existing mental models, access to expert community and cultural support.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"365 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130773002","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This research project is geared towards the implementation of a multicast routing protocol for Mobile Ad Hoc Networks (MANETs). MANET nodes operate on a limited battery power and move freely within a dynamically created network. Due to autonomous node movement and limited transmission range, nodes frequently reconfigure links between neighboring nodes making it imperative those nodes know there position in relation to other nodes in the network. The frequent changes in connectivity between nodes can cause various problems such as unwanted battery usage due to large amounts of information overhead and the loss of information during transmissions. In an effort to find the best routing protocol to cut down on route discovery overhead, this research involves the development of a stable multicast routing protocol based on the Flow-Oriented Routing Protocol (FORP), one of the best stable path unicast routing protocol. The developed protocol will be called M-FORP. Simulations of M-FORP will be conducted under different conditions of node mobility and density. We will also compare the performance of M-FORP with a couple of other routing protocols such as node velocity-based stable path (NVSP) and Bandwidth Efficient Multicast Routing Protocol (BEMRP). The results will be used to determine which routing protocol would be most efficient in solving the excess information overhead problem.
{"title":"Development of the multicast flow oriented routing protocol for mobile ad hoc networks","authors":"Thomas DeMarcus, N. Meghanathan","doi":"10.1145/1900008.1900134","DOIUrl":"https://doi.org/10.1145/1900008.1900134","url":null,"abstract":"This research project is geared towards the implementation of a multicast routing protocol for Mobile Ad Hoc Networks (MANETs). MANET nodes operate on a limited battery power and move freely within a dynamically created network. Due to autonomous node movement and limited transmission range, nodes frequently reconfigure links between neighboring nodes making it imperative those nodes know there position in relation to other nodes in the network. The frequent changes in connectivity between nodes can cause various problems such as unwanted battery usage due to large amounts of information overhead and the loss of information during transmissions. In an effort to find the best routing protocol to cut down on route discovery overhead, this research involves the development of a stable multicast routing protocol based on the Flow-Oriented Routing Protocol (FORP), one of the best stable path unicast routing protocol. The developed protocol will be called M-FORP. Simulations of M-FORP will be conducted under different conditions of node mobility and density. We will also compare the performance of M-FORP with a couple of other routing protocols such as node velocity-based stable path (NVSP) and Bandwidth Efficient Multicast Routing Protocol (BEMRP). The results will be used to determine which routing protocol would be most efficient in solving the excess information overhead problem.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"602 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133697261","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}