GENERATING MEMBERS of a SOFTWARE PRODUCT LINE USING COMBINATORY LOGIC by Armend Hoxha a Thesis Submitted to the Faculty of WORC

Total Page:16

File Type:pdf, Size:1020Kb

GENERATING MEMBERS of a SOFTWARE PRODUCT LINE USING COMBINATORY LOGIC by Armend Hoxha a Thesis Submitted to the Faculty of WORC GENERATING MEMBERS OF A SOFTWARE PRODUCT LINE USING COMBINATORY LOGIC By Armend Hoxha A Thesis Submitted to the Faculty of WORCESTER POLYTECHNIC INSTITUTE in partial fulfillment of the requirements for the Degree of Master of Science in Computer Science May 2015 APPROVED BY: Dr. George T. Heineman, Advisor Dr. Kathi Fisler, Reader I. ABSTRACT A Product Line Family contains similar applications that differ only in the sets of sup- ported features from the family. To properly engineer these product lines, programmers design a common code base used by all members of the product line. The structure of this common code base is often an Object-Oriented (OO) framework, designed to contain the detailed domain-specific knowledge needed to implement these applications. However, these frameworks are often quite complex and implement detailed dynamic behavior with complex coordination among their classes. Extending an OO framework to realize a single product line instance is a unique exercise in OO programming. The ultimate goal is to develop a consistent approach, for managing all instances, which relies on configuration rather than programming. In this thesis, we show the novel application of Combinatory Logic to automatically syn- thesize correct product line members using higher-level code fragments specified by means of combinators. Using the same starting point of an OO framework, we show how to design a repository of combinators using FeatureIDE, an extensible framework for Feature-Oriented Software Development. We demonstrate a proof of concept using two different Java-based frameworks: a card solitaire framework and a multi-objective optimization algorithms framework. These case studies rely on LaunchPad, an Eclipse plugin developed at WPI that extends FeatureIDE. The broader impact of this work is that it enables framework designers to formally en- code the complex functional structure of an OO framework. Once this task is accomplished, then, generating product line instances becomes primarily a configuration process, which enables correct code to be generated by construction based on the combinatory logic. ii II. ACKNOWLEDGEMENTS When I initially got introduced to this research project, by Prof. George T. Heineman, I thought to myself "Is it really possible?". It turned out to be not only possible, but also one of the most interesting projects I've worked on so far. Therefore, I want to thank him, as my advisor, for his great support, who has helped me achieve this feat with his invaluable constant advice and encouragement. To be able to work on this project I needed to stand on the shoulders of giants. Besides my advisor, I want to thank Boris Düdder and Jakob Rehof from the Technical University of Dortmund in Germany, who, together with Prof. Heineman, have made all this work possible by providing the tools and ideas that I have experimented with. I also want to thank the reader of my thesis, Prof. Kathi Fisler, whose critiques helped me better shape this work. I am very grateful to USAID Kosovo, too, for helping me realize my dream by granting me a full scholarship. I should also thank American Councils for administering the program I was enrolled in and overseeing my overall progress over these two years of graduate studies at WPI. And, how can I forget? I want to thank my family for supporting me in every aspect of my life; in particular my father, who (while alive) has ingrained in me the urge for education; and my sister Mimoza, who has first introduced me to a computer (it was a turning point in my life) and has provided material and moral support throughout my studies in high-school and undergraduate school. And finally, the one who has been with me every single day, every step of the way, Divya. iii III. TABLE OF CONTENTS I. Abstract ................................................................................................................................................. ii II. Acknowledgements .............................................................................................................................. iii IV. List of figures ........................................................................................................................................ vi V. List of Tables ....................................................................................................................................... vii 1. Introduction and Motivation ................................................................................................................ 1 1.1. Grand Challenge ............................................................................................................................ 2 1.2. Requirements ................................................................................................................................ 3 1.3. Overview ....................................................................................................................................... 5 2. Design of Solution ................................................................................................................................. 6 2.1. Combinatory Logic Synthesis ........................................................................................................ 6 2.2. Inhabitation Problem .................................................................................................................... 9 2.3. Tool Support InhabConsoleClient ............................................................................................... 13 2.4. Tool Support LaunchPad Eclipse Plugin ...................................................................................... 17 2.5. Tool Support FeatureIDE ............................................................................................................. 18 3. Case Study ........................................................................................................................................... 23 3.1. FourteenOut Experience ............................................................................................................. 23 3.1.1. Native Java implementation ............................................................................................... 24 3.1.2. Native Lambda / Combinator implementation ................................................................... 34 3.1.3. Review of the LaunchPad repository implementation of Fourteen-Out ............................ 39 3.2. KombatSolitaire .......................................................................................................................... 44 3.3. KombatSolitaire Γ Repository ...................................................................................................... 45 3.4. MOEA Framework ....................................................................................................................... 50 3.4.1. Defining a new problem ...................................................................................................... 52 3.5. MOEA Framework Γ Repository .................................................................................................. 57 4. Related Work ...................................................................................................................................... 74 4.1. Product line literature on configuration ..................................................................................... 74 4.2. Documentation of OO frameworks ............................................................................................ 75 4.2.1. SourceForge (www.sourceforge.com) ................................................................................ 76 4.2.2. Github (www.github.com) .................................................................................................. 78 4.2.3. Google Code (https://code.google.com) ............................................................................ 79 5. Evaluation ........................................................................................................................................... 82 iv 5.1. Evaluation of KS and MOEA Γ Repositories ................................................................................. 82 5.2. Metrics for Combinators ............................................................................................................. 85 6. Conclusion and Future Work .............................................................................................................. 87 References .................................................................................................................................................. 89 v IV. LIST OF FIGURES Figure 1: Competing Visions for Extending OO Framework .................................................................... 4 Figure 2: Simple Sensor Example .................................................................................................................. 6 Figure 3: Enhanced Sensor Example with Intersection Types ...................................................................... 7 Figure 4: Adding ConApp combinator to sensor example ............................................................................ 8 Figure 5: Implementation of ConApp in Sensor Example ............................................................................. 8 Figure 6: Repository with Single Inhabitant Example ................................................................................
Recommended publications
  • January 2021
    he Talon Gripping News Volume III Issue II Onteora High School Boiceville, NY 12412 January 2021 Ulster transportation assistance to he Kingston Common Coun‐ those under treatment. he Risk cil and Ulster County Legisla‐ County News Mitigation Team will receive ture approved the agreement, funding to expand and reach but the Kingston School Board other parts of Ulster County. did not due to concerns about By Sophia Roberts the length of time the commu‐ Lastly, the budget emphasises nity "would be shouldering the 2021 Budget Outline: creating workforce housing and burden of taxes not paid on the investing in new infrastructure, full value of the Kingstonian," In early December, Ulster including a nearly $3 million according to board member County Executive Pat Ryan and upgrade to the Maltby Hollow Robin Jacbowitz. Many feel as Ulster legislators prepared for Bridge in Olive. though it would be too great a 2021 by creating and adopting disadvantage to the Kingston the 2021 budget. he main fo‐ Essential services such as the school district if those living in cuses of the budget are mental ones above will be expanded luxury housing do not have to health, public health, education, without raising property taxes pay their full share of school infrastructure, economic devel‐ (for the ninth consecutive year) taxes. opment, social services, and a or proposing layoffs, and the Courtesy of Wikimedia Commons Green New Deal for Ulster overall budget is a 2.6% de‐ he developers of the Kingston‐ County. he new initiatives pro‐ crease in spending from the ian responded to the Board vote Following negotiation of the tax one of the project's largest sup‐ posed in the 2021 budget can be 2020 budget.
    [Show full text]
  • 1942 Had, at That Moment, One Important Thing In
    1 "Perhaps somebody somewhere has written about men’s hands. I do not know. But if no one has, then a world of thoughts and dreams has been left unmapped. "The hands are, in reality, the person. Alask the face, and all emotions are hidden. But glove the hands, and they still twitch and reach, still close over the victim or open to set the ivild bird free. If we coidd see their history written on every pair of hands that we observe, we would probably be startled beyond speech. From some, we would draw back in horror; others we would press to our lips and dampen with our tears.” Isidore O’Brien, O. F. M. PUBLISHED B Y THE SENIOR CLASS O F SAINT BONAVENTURE COLLEGE / A N a memorable autumn morning in September of the year nine­ teen hundred and thirty-eight, one hundred and fifty bewildered and confused Freshmen gathered within the venerable walls of Alumni Hall. There they sat in awed silence, listening to a speech of welcome given by a man who prefaced his remarks with the statement that he and the Class of 1942 had, at that moment, one important thing in common— he was as much a Freshman to his task as they were to theirs. That man was Father Aubert Conlon, O. F. M„ who, on that day, as­ sumed for the first time the new and strenuous duties of Dean of Disci­ pline. Now as we view in retrospect the four years, so rich and fruitful in experience, that have passed since that September day, we of the Senior Class are moved strongly to offer some lasting tribute to that priest under whose guidance and direction we have advanced from bewildered Freshmen to even more bewildered Seniors.
    [Show full text]
  • Letter, If Not the Spirit, of One Or the Other Definition
    Producing Open Source Software How to Run a Successful Free Software Project Karl Fogel Producing Open Source Software: How to Run a Successful Free Software Project by Karl Fogel Copyright © 2005-2021 Karl Fogel, under the CreativeCommons Attribution-ShareAlike (4.0) license. Version: 2.3214 Home site: https://producingoss.com/ Dedication This book is dedicated to two dear friends without whom it would not have been possible: Karen Under- hill and Jim Blandy. i Table of Contents Preface ............................................................................................................................. vi Why Write This Book? ............................................................................................... vi Who Should Read This Book? ..................................................................................... vi Sources ................................................................................................................... vii Acknowledgements ................................................................................................... viii For the first edition (2005) ................................................................................ viii For the second edition (2021) .............................................................................. ix Disclaimer .............................................................................................................. xiii 1. Introduction ...................................................................................................................
    [Show full text]
  • Blood Drive Collects Record Amount of Donations
    Volume 43 Issue 2 Student Newspaper Of Shaler Area High School November 2016 Bloodby Ceari Robinson drive and Addeline collects Devlin for others this record was a first amount of donationsfirst, the students register on the time experience. computer and answer questions. Shaler Area High School hosted a blood drive “A lot of people will These questions are for the blood Thursday November 3. The Central Blood Bank vis- hype it up but it is really bank only, just to reassure them that its twice a year giving students and teachers an op- not that bad. I would rec- donor’s blood is safe to use. Next, portunity to give blood which in turn is used to save ommend it because you the students move to the interview lives. save three lives every process. This is where the nurse Shaler Area has been holding blood drives for time so why not?” senior will draw a sample of your blood more than 20 years. This year, 153 people signed up Stephen Borgen said. and test it for iron, take your tem- to donate, which equates to potentially saving 500 Central Blood Bank perature and take your blood pres- lives. even offers scholarships sure. If cleared, a student moves to “I think the blood drive is going great, we are on to students who partici- the cot to donate. This part alone track to collect the most units we have ever gotten”, pate. For every donation, only takes about 10-15 minutes and Natalia Petrulli, the Central Blood Bank Account the school earns points then you get to sit and eat snacks.
    [Show full text]
  • Sense-Making of Big Data
    Sense-making of Big Data Spring Break 2013 – Visualization recognition and meaning making November 2013 Prepared by: Prepared for: Joe E. Heimlich, Ph.D. Sense-making of Big Data Team Victor Yocco, Ph.D. Sasha Palmquist, Ph.D This project was completed with support from the National Science Foundation(1223698) LifelongLearningGroup.org COSI 333 West Broad Street Columbus, Ohio 43215 Contents Introduction .................................................................................................................................................. 2 Method ......................................................................................................................................................... 2 Population ................................................................................................................................................. 2 Instrumentation ........................................................................................................................................ 2 Findings ......................................................................................................................................................... 3 Respondents ............................................................................................................................................. 3 Detailed analysis of visual presentations of data by group ...................................................................... 4 Series One Visuals ................................................................................................................................
    [Show full text]
  • Awesome Selfhosted - Software Development - Project Management
    Awesome Selfhosted - Software Development - Project Management Software Development - Project Management See also: awesome-sysadmin/Code Review Bonobo Git Server - Set up your own self hosted git server on IIS for Windows. Manage users and have full control over your repositories with a nice user friendly graphical interface. ( Source Code) MIT C# Fossil - Distributed version control system featuring wiki and bug tracker. BSD-2-Clause- FreeBSD C Goodwork - Self hosted project management and collaboration tool powered by Laravel & VueJS. (Demo, Source Code) MIT PHP Gitblit - Pure Java stack for managing, viewing, and serving Git repositories. (Source Code) Apache-2.0 Java gitbucket - Easily installable GitHub clone powered by Scala. (Source Code) Apache-2.0 Scala/Java Gitea - Community managed fork of Gogs, lightweight code hosting solution. (Demo, Source Code) MIT Go GitLab - Self Hosted Git repository management, code reviews, issue tracking, activity feeds and wikis. (Demo, Source Code) MIT Ruby Gitlist - Web-based git repository browser - GitList allows you to browse repositories using your favorite browser, viewing files under different revisions, commit history and diffs. ( Source Code) BSD-3-Clause PHP Gitolite - Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features. (Source Code) GPL-2.0 Perl GitPrep - Portable Github clone. (Demo, Source Code) Artistic-2.0 Perl Git WebUI - Standalone web based user interface for git repositories. Apache-2.0 Python Gogs - Painless self-hosted Git Service written in Go. (Demo, Source Code) MIT Go Kallithea - Source code management system that supports two leading version control systems, Mercurial and Git, with a web interface.
    [Show full text]
  • PAIN PILLS Animous Vote: No Other Names on Ballot
    TOPEKA STATE JOURNAL, FRIDAY EVENING, APRIL 10, 1903. ern branch state normal was located on the Fort Miys reservation their USAI1DS HUE llflEY town would become "a dry town," a T GREAT HEADACHE CURE "school town," and they have now SPQBTlGjlEWS. shown it. Kvery saloon is closed and SAFE jointists in jail, and at the election. Ac- QUICK SUItE AND Attorney W. E. Saum was elected Backers of Young Corbett f0T TROUBLE 00(17 KflOW II mayor, John Schlyer, Geo. Philip, jr.. Henry Oshdnt, Isaac Leiler and Ed cept the Harris Bluff. Yost elected councilmen. all by a un- MILES PAIN PILLS animous vote: no other names on ballot. They are all the best business men, Considine Brothers Will Take CURE ALL KINDS OF PAINS AND ACHES. warm advocates of the normal school, will do everything possible to build up the $10,000 Wager. What People Say: a state institution a pride to the state, J. R. W. McBride of Indianacolis. late of pains, neuralgia, or In fact any pain. I "General Charles Dick, the eminent con- and during1 their two years term not a the Indiana supreme court, says: "They have taken them with best results, and gressman from the famous Garfield dis- be in town. are simply marvelous in their instantane- have given them to others and they never trict of Ohio says: "I believe there l no joint will allowed the MEAN'S AX OTHER FIGHT ous relief." disappoint." Gilbert R. Houser, Milford remedy so efficient for headache as Dr. j- "Dr. Miles' Pain never to cure Center.
    [Show full text]
  • Collaborative Software Development Using R-Forge
    INVITED SECTION:THE FUTURE OF R 9 Collaborative Software Development Using R-Forge Special invited paper on “The Future of R” Forge, host a project-specific website, and how pack- age maintainers submit a package to the Compre- by Stefan Theußl and Achim Zeileis hensive R Archive Network (CRAN, http://CRAN. R-project.org/). Finally, we summarize recent de- velopments and give a brief outlook to future work. Introduction Open source software (OSS) is typically created in a R-Forge decentralized self-organizing process by a commu- nity of developers having the same or similar inter- R-Forge offers a central platform for the develop- ests (see the famous essay by Raymond, 1999). A ment of R packages, R-related software and other key factor for the success of OSS over the last two projects. decades is the Internet: Developers who rarely meet R-Forge is based on GForge (Copeland et al., face-to-face can employ new means of communica- 2006) which is an open source fork of the 2.61 Source- tion, both for rapidly writing and deploying software Forge code maintained by Tim Perdue, one of the (in the spirit of Linus Torvald’s “release early, release original SourceForge authors. GForge has been mod- often paradigm”). Therefore, many tools emerged ified to provide additional features for the R commu- that assist a collaborative software development pro- nity, namely a CRAN-style repository for hosting de- cess, including in particular tools for source code velopment releases of R packages as well as a quality management (SCM) and version control.
    [Show full text]
  • The Networked Forge: New Environments for Libre Software Development*
    The networked forge: new environments for libre software development* Jesús M. Gonzalez-Barahona, Andrés Martínez, Alvaro Polo, Juan José Hierro, Marcos Reyes and Javier Soriano and Rafael Fernández Abstract Libre (free, open source) software forges (sites hosting the development infrastructure for a collection of projects) have been stable in architecture, services and concept since they become popular during the late 1990s. During this time sev- eral problems that cannot be solved without dramatic design changes have become evident. To overeóme them, we propose a new concept, the "networked forge", fo- cused on addressing the core characteristics of libre software development and the needs of developers. The key of this proposal is to re-engineer forges as a net of dis- tributed components which can be composed and configured according to the needs of users, using a combination of web 2.0, semantic web and mashup technologies. This approach is flexible enough to accommodate different development processes, while at the same time interoperates with current facilities. 1 Introduction The libre (free, open source) software2 development community, considered as a whole, is one of the largest cases of informal, globally distributed, virtual organi- zation oriented to the production of goods. Hundreds of thousands of developers Jesús M. Gonzalez-Barahona GSyC/LibreSoft, Universidad Rey Juan Carlos, e-mail: jgb~at~gsyc . escet. urj c . es Andrés Martínez, Alvaro Polo, Juan José Hierro and Marcos Reyes Telefónica Investigación y Desarrollo Javier Soriano and Rafael Fernández Universidad Politécnica de Madrid * This work has been funded in part by the European Commission, through projects FLOSSMet- rics, FP6-IST-5-033982, and Qualipso, FP6-IST-034763, and by the Spanish Ministry of Industry, through projects Morfeo, FIT-350400-2006-20, and Vulcano, FIT-340503-2006-3 2 In this paper the term "libre software" is used to refer both to "free software" (as defined by the Free Software Foundation) and "open source software" (as defined by the Open Source Initiative).
    [Show full text]
  • Crowdsourcing the Discovery of Software Repositories in an Educational Environment
    Crowdsourcing the Discovery of Software Repositories in an Educational Environment Yuxing Ma Tapajit Dey University of Tennessee University of Tennessee Knoxville, Tennessee Knoxville, Tennessee [email protected] [email protected] Jared M. Smith Nathan Wilder Audris Mockus University of Tennessee University of Tennessee University of Tennessee Knoxville, Tennessee Knoxville, Tennessee Knoxville, Tennessee [email protected] [email protected] [email protected] ABSTRACT vice and a large number of repositories are being hosted on In software repository mining, it's important to have a broad online forges. For example, the number and size of reposi- representation of projects. In particular, it may be of inter- tories hosted on GitHub roughly doubled over the last year. est to know what proportion of projects are public. Dis- A census of public software projects is highly desirable for covering public projects can be easily parallelized but not reasons similar to those of a population census [6]. Discov- so easy to automate due to a variety of data sources. We ering the projects even on a known forge, may be a nontriv- evaluate the research and educational potential of crowd- ial task, however. To accomplish it, we ran an experiment sourcing such research activity in an educational setting. to distribute the data gathering over a group of students Students were instructed on three ways of discovering the in order to provide a practical example of data discovery. projects and assigned a task to discover the list of public Such approach is promising because it has the potential for projects from top 45 forges with each student assigned to faster speed, lower cost, more flexibility, and better diversity, one forge.
    [Show full text]
  • Separate Lives and Shared Legacies: Privilege and Hardships in the Lives of Twenty Women Who Made a Difference Mary Cleary
    Undergraduate Review Volume 2 Article 26 2006 Separate Lives and Shared Legacies: Privilege and Hardships in the Lives of Twenty Women who Made a Difference Mary Cleary Follow this and additional works at: http://vc.bridgew.edu/undergrad_rev Part of the United States History Commons, and the Women's History Commons Recommended Citation Cleary, Mary (2006). Separate Lives and Shared Legacies: Privilege and Hardships in the Lives of Twenty Women who Made a Difference. Undergraduate Review, 2, 184-202. Available at: http://vc.bridgew.edu/undergrad_rev/vol2/iss1/26 This item is available as part of Virtual Commons, the open-access institutional repository of Bridgewater State University, Bridgewater, Massachusetts. Copyright © 2006 Mary Cleary "< Separate Lives and Shared Legacies: Privilege and Hardships in the Lives ofTwenty Women who Made a Difference BY MARY CLEARY Mary Cleary is a Stoiar at Bridgl:water r. Nancy Larrick is not well known. but she should be. She State College who is majoring in history as one of the most influential people who shaped children's with a minor in serondary education. She literature during the latter half of the twentieth century. She first became interested in this project in edited fourteen poetry anthologies for children, wrote A Parents Professor Maragart lowe's fall ·Women Guide to Chi/drens Reading, founded the International Reading Association who Made a Difference" course. She re­ which surveys students ofall ages to determine reading preferences, and in 1965 ceivtd a grant from the Adrian Tinsley published an influential article, "The All White World ofChildren's Literature; Program that allowed her to research the that was highly critical of the publishing industry of the day.
    [Show full text]
  • The Rise and Evolution of the Open Source Software Foundation 31
    The Rise and Evolution of the Open Source Software Foundation 31 The Rise and Evolution of the Open Source Software Foundation Paula Hunter,a Stephen Walli,b (a) Executive Director, The Outercurve Foundation: (b) Technical Director, The Outercurve Foundation. DOI: 10.5033/ifosslr.v5i1. 64 Abstract Free and open source software (FOSS) project communities continue to grow and thrive. When such projects reach a certain critical point in their growth, corporations express interest in participating. Corporations have more stringent and robust software intellectual property (IP) management needs, however, and projects are not always up to the task. Neutral non-profit FOSS foundations have proved to be a solution to these problems, providing for the IP management needs of corporations while offering additional business and technical services to the project communities to encourage further growth and adoption. This article reviews how such neutral non-profit organizations have grown to meet the evolving legal, business, and technical needs of FOSS communities and businesses. Keywords Law; information technology; Free and Open Source Software; foundations The growth and global participation in open source software development, aided by inexpensive and pervasive Internet access, has created a community of collaborators on whom software developers and IT professionals depend as a vital element in the software development process. As software intellectual property (IP) practices have matured, free and open source software (FOSS) communities have kept pace. FOSS licensing has evolved over the past thirty years from the more liberal academic do-as-you- will licenses and initial ideas of software freedom to reflect the advancement of the general software landscape and include more complex methods of keeping software free.
    [Show full text]