PEoPL: Projectional Editing of Product Lines
The features of a software product line - a portfolio of system variants - can be realized using various implementation techniques (a. k. a., variability mechanisms). Each technique represents the software artifacts of features differently, typically classified into annotative (e.g., C preprocessor)...
Uloženo v:
| Vydáno v: | Proceedings / International Conference on Software Engineering s. 563 - 574 |
|---|---|
| Hlavní autoři: | , , |
| Médium: | Konferenční příspěvek |
| Jazyk: | angličtina |
| Vydáno: |
IEEE
01.05.2017
|
| Témata: | |
| ISSN: | 1558-1225 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | The features of a software product line - a portfolio of system variants - can be realized using various implementation techniques (a. k. a., variability mechanisms). Each technique represents the software artifacts of features differently, typically classified into annotative (e.g., C preprocessor) and modular representations (e.g., feature modules), each with distinct advantages and disadvantages. Annotative representations are easy to realize, but annotations clutter source code and hinder program comprehension. Modular representations support comprehension, but are difficult to realize. Most importantly, to engineer feature artifacts, developers need to choose one representation and adhere to it for evolving and maintaining the same artifacts. We present PEoPL, an approach to combine the advantages of annotative and modular representations. When engineering a feature artifact, developers can choose the most-suited representation and even use different representations in parallel. PEoPL relies on separating a product line into an internal and external representation, the latter by providing editable projections used by the developers. We contribute a programming-language-independent internal representation of variability, five editable projections reflecting different variability representations, a supporting IDE, and a tailoring of PEoPL to Java. We evaluate PEoPL's expressiveness, scalability, and flexibility in eight Java-based product lines, finding that all can be realized, that projections are feasible, and that variant computation is fast (<;45ms on average for our largest subject Berkeley DB). |
|---|---|
| AbstractList | The features of a software product line - a portfolio of system variants - can be realized using various implementation techniques (a. k. a., variability mechanisms). Each technique represents the software artifacts of features differently, typically classified into annotative (e.g., C preprocessor) and modular representations (e.g., feature modules), each with distinct advantages and disadvantages. Annotative representations are easy to realize, but annotations clutter source code and hinder program comprehension. Modular representations support comprehension, but are difficult to realize. Most importantly, to engineer feature artifacts, developers need to choose one representation and adhere to it for evolving and maintaining the same artifacts. We present PEoPL, an approach to combine the advantages of annotative and modular representations. When engineering a feature artifact, developers can choose the most-suited representation and even use different representations in parallel. PEoPL relies on separating a product line into an internal and external representation, the latter by providing editable projections used by the developers. We contribute a programming-language-independent internal representation of variability, five editable projections reflecting different variability representations, a supporting IDE, and a tailoring of PEoPL to Java. We evaluate PEoPL's expressiveness, scalability, and flexibility in eight Java-based product lines, finding that all can be realized, that projections are feasible, and that variant computation is fast (<;45ms on average for our largest subject Berkeley DB). |
| Author | Berger, Thorsten Behringer, Benjamin Palz, Jochen |
| Author_xml | – sequence: 1 givenname: Benjamin surname: Behringer fullname: Behringer, Benjamin organization: Univ. of Luxembourg, Luxembourg City, Luxembourg – sequence: 2 givenname: Jochen surname: Palz fullname: Palz, Jochen organization: htw saar, Germany – sequence: 3 givenname: Thorsten surname: Berger fullname: Berger, Thorsten organization: Univ. of Gothenburg, Gothenburg, Sweden |
| BookMark | eNotjMFKxDAUAKMouF29efPSD7A1yctL3_MmpepCwYJ6XtI0kSxrK9t68O9VFAYG5jCZOBmnMQhxqWSplOSbTf3clFqqqkQ6EplCIPsDqWOxUohUKK3xTGTzvJNSWsO8EtddM3Xtbd4dpl3wS5pGt8-bIS1pfMun-NuHT7_kbRrDfC5Oo9vP4eLfa_F637zUj0X79LCp79rCAeJSQNTUg68gyh51T0ZqG4NhRQw-sCPjgFyw0qFFkmDYA3vDlR101N7BWlz9fVMIYftxSO_u8LWtmNCygW_HJEDY |
| CODEN | IEEPAD |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IH CBEJK RIE RIO |
| DOI | 10.1109/ICSE.2017.58 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan (POP) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library Online IEEE Proceedings Order Plans (POP) 1998-present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Xplore url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 1538638681 9781538638682 |
| EISSN | 1558-1225 |
| EndPage | 574 |
| ExternalDocumentID | 7985694 |
| Genre | orig-research |
| GroupedDBID | -~X .4S .DC 123 23M 29O 5VS 6IE 6IF 6IH 6IK 6IL 6IM 6IN 8US AAJGR AAWTH ABLEC ADZIZ AFFNX ALMA_UNASSIGNED_HOLDINGS APO ARCSS AVWKF BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO EDO FEDTE I-F I07 IEGSK IJVOP IPLJI M43 OCL RIE RIL RIO RNS XOL |
| ID | FETCH-LOGICAL-a355t-3f28b3c73f0b52b84026fe491893ce9a84a38ae60a56580349c39c4976d2f2ca3 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 20 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000427091300050&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Wed Aug 27 02:19:09 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a355t-3f28b3c73f0b52b84026fe491893ce9a84a38ae60a56580349c39c4976d2f2ca3 |
| PageCount | 12 |
| ParticipantIDs | ieee_primary_7985694 |
| PublicationCentury | 2000 |
| PublicationDate | 2017-May |
| PublicationDateYYYYMMDD | 2017-05-01 |
| PublicationDate_xml | – month: 05 year: 2017 text: 2017-May |
| PublicationDecade | 2010 |
| PublicationTitle | Proceedings / International Conference on Software Engineering |
| PublicationTitleAbbrev | ICSE |
| PublicationYear | 2017 |
| Publisher | IEEE |
| Publisher_xml | – name: IEEE |
| SSID | ssj0006499 |
| Score | 2.1511915 |
| Snippet | The features of a software product line - a portfolio of system variants - can be realized using various implementation techniques (a. k. a., variability... |
| SourceID | ieee |
| SourceType | Publisher |
| StartPage | 563 |
| SubjectTerms | Bars Clutter Java Latches Software Switches Visualization |
| Title | PEoPL: Projectional Editing of Product Lines |
| URI | https://ieeexplore.ieee.org/document/7985694 |
| WOSCitedRecordID | wos000427091300050&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07b8IwED4B6tCJtlD1rQwdCeA48aMrCmolhCL1ITbkOGeJDqSC0N9fX6Bphy7dLNuSdbbP_s7-7g7gXgluHUMZMmHH3kARPDRGJ2HBIomMobA1N-dtJudztVjorAWDxhcGEWvyGQ6pWP_lF6Xd0VPZSGqVCB23oS2l3PtqNaeu8NC9Ibbr0dPkOSXilhxSMvdfiVPqe2Pa_d-IJ9D_ccALsuZqOYUWrs-g-52BITgoZA8GWVpmswfq-15zqvy2CNJiRVzmoHRUT_FcgxmR2_vwOk1fJo_hIf9BaDwKqELuIpVzK7kb50mUe1MsEg5jzTzGsKiNig1XBsXYeFSmKNCM5drGHmAUkYus4efQWZdrvIAAmW9gyESieZzYwhReeRPMBZLTlTOX0CPhlx_7EBfLg9xXf1dfwzFN7Z73dwOdarPDWziyn9Vqu7mr1-ULWTONug |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3NT8IwFH9BNNETKhi_3cEjA7p-bPVKRiBOskQ03EjXvSZ42AyCf7_twOnBi7embdK8tq_9vfb33gO4jwTVhmDoE6EH1kAR1FdKcj8nQYiEoNAVN-c1CafTaD6XaQO6tS8MIlbkM-y5YvWXn5d6457K-qGMuJBsD_Y5YwHZemvV566w4L2mtsv-ZPgcO-pW2HPp3H-lTqlujlHrf2MeQ-fHBc9L68vlBBpYnELrOweDt1PJNnTTuEyTB9f3rWJV2Y3hxfnSsZm90rh6F9HVSxy9vQMvo3g2HPu7DAi-sjhg7VMTRBnVITWDjAeZNcYCYZBJYlGGRqkipmikUAyUxWWRCzWjqdTMQow8MIFW9AyaRVngOXhIbANBIrikjOtc5VZ9OWYCnduVURfQdsIv3rdBLhY7uS__rr6Dw_HsKVkkk-njFRy5ad6yAK-huV5t8AYO9Od6-bG6rdboC-wIkQE |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=proceeding&rft.title=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=PEoPL%3A+Projectional+Editing+of+Product+Lines&rft.au=Behringer%2C+Benjamin&rft.au=Palz%2C+Jochen&rft.au=Berger%2C+Thorsten&rft.date=2017-05-01&rft.pub=IEEE&rft.eissn=1558-1225&rft.spage=563&rft.epage=574&rft_id=info:doi/10.1109%2FICSE.2017.58&rft.externalDocID=7985694 |