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)...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Proceedings / International Conference on Software Engineering s. 563 - 574
Hlavní autoři: Behringer, Benjamin, Palz, Jochen, Berger, Thorsten
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