Feature-oriented contract composition

被引:5
|
作者
Thuem, Thomas [1 ]
Knueppel, Alexander [1 ]
Krueger, Stefan [2 ]
Bolle, Stefanie [1 ]
Schaefer, Ina [1 ]
机构
[1] TU Braunschweig, Braunschweig, Germany
[2] Paderborn Univ, Paderborn, Germany
关键词
Feature-oriented programming; Software product lines; Design by contract; Deductive verification; Formal methods; SOFTWARE PRODUCT LINES; SPECIFICATION; DESIGN;
D O I
10.1016/j.jss.2019.01.044
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A software product line comprises a set of products that share a common code base, but vary in specific characteristics called features. Ideally, features of a product line are developed in isolation and composed subsequently. Product lines are increasingly used for safety-critical software, for which quality assurance becomes indispensable. While the verification of product lines gained considerable interest in research over the last decade, the subject of how to specify product lines is only covered rudimentarily. A challenge to overcome is composition; similar to inheritance in object-oriented programming, features of a product line may refine other features along with their specifications. To investigate how refinement and composition of specifications can be established, we derive a notion of feature-oriented contracts comprising preconditions, postconditions, and framing conditions of a method. We discuss six mechanisms to perform contract composition between original and refining contracts. Moreover, we identify and discuss desired properties for contract composition and evaluate which properties are established by which mechanism. Our three main insights are that (a) contract refinement is seldom but crucial, (b) the Liskov principle does not apply to features, and (c) it is sufficient to accommodate techniques from object-orientation in the contract-composition mechanisms for handling frame refinements. (C) 2019 Elsevier Inc. All rights reserved.
引用
收藏
页码:83 / 107
页数:25
相关论文
共 50 条
  • [41] Feature-Oriented Modularization of Deep Learning APIs
    Shi, Yechuan
    Kienzle, Jorg
    Guo, Jin L. C.
    [J]. ACM/IEEE 25TH INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, MODELS 2022 COMPANION, 2022, : 367 - 374
  • [42] An incremental method for the design of feature-oriented systems
    Berkani, K
    Le Gall, P
    Klay, F
    [J]. LANGUAGE CONSTRUCTS FOR DESCRIBING FEATURES, 2001, : 45 - 64
  • [43] A Hybrid Approach to Feature-Oriented Programming in XVCL
    Zhang, Hongyu
    Jarzabek, Stan
    [J]. SOFTWARE PRODUCT LINES: GOING BEYOND, 2010, 6287 : 440 - +
  • [44] Type safety for feature-oriented product lines
    Apel, Sven
    Kaestner, Christian
    Groesslinger, Armin
    Lengauer, Christian
    [J]. AUTOMATED SOFTWARE ENGINEERING, 2010, 17 (03) : 251 - 300
  • [45] FeatureC++:: On the symbiosis of Feature-Oriented and Aspect-Oriented Programming
    Apel, S
    Leich, T
    Rosenmüller, M
    Saake, G
    [J]. GENERATIVE PROGRAMMING AND COMPONENT ENGINEERING, PROCEEDINGS, 2005, 3676 : 125 - 140
  • [46] SDF-GA: a service domain feature-oriented approach for manufacturing cloud service composition
    Li, Tianyang
    He, Ting
    Wang, Zhongjie
    Zhang, Yufeng
    [J]. JOURNAL OF INTELLIGENT MANUFACTURING, 2020, 31 (03) : 681 - 702
  • [47] A Value Estimation Method for Feature-Oriented Requirements Tracing
    Ahn, Sangim
    Chong, Kiwon
    [J]. ICHIT 2008: INTERNATIONAL CONFERENCE ON CONVERGENCE AND HYBRID INFORMATION TECHNOLOGY, PROCEEDINGS, 2008, : 159 - 162
  • [48] Feature-oriented acoustic tomography of a coastal thermal front
    Hermand, Jean-Pierre
    Carriere, Olivier
    Stephan, Yann
    [J]. OCEANS 2010, 2010,
  • [49] FeatureIDE: An extensible framework for feature-oriented software development
    Thuema, Thomas
    Kaestner, Christian
    Benduhn, Fabian
    Meinicke, Jens
    Saake, Gunter
    Leich, Thomas
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2014, 79 : 70 - 85
  • [50] Towards Feature-Oriented Requirements Validation for Automotive Systems
    Zhou, Jiale
    Lu, Yue
    Lundqvist, Kristina
    Lonn, Henrik
    Karlsson, Daniel
    Liwang, Bo
    [J]. 2014 IEEE 22ND INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE (RE), 2014, : 428 - 436