Nominal and Structural Subtyping in Component-Based Programming

被引:9
|
作者
Ostermann, Klaus [1 ]
机构
[1] Univ Aarhus, Comp Sci, Aarhus, Denmark
来源
JOURNAL OF OBJECT TECHNOLOGY | 2008年 / 7卷 / 01期
关键词
D O I
10.5381/jot.2008.7.1.a4
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In nominal type systems, the subtype relation is between names of types, and subtype links are explicitly declared. In structural type systems, names are irrelevant; in determining type compatibility, only the structure of types is considered, and a type name is just an abbreviation for the full type. We analyze structural and different flavors of nominal subtyping from the perspective of component-based programming, where issues such as blame assignment and modular extensibility are important. Our analysis puts various existing subtyping mechanisms into a common frame of reference and delineates the frontiers of the subtyping design space. In addition, we propose a new subtyping definition in one particularly interesting corner of the design space which combines the safety of nominal subtyping with the flexibility of structural subtyping.
引用
收藏
页码:121 / 145
页数:25
相关论文
共 50 条
  • [1] THE EVOLUTION OF COMPONENT-BASED PROGRAMMING
    FLOYD, M
    [J]. DR DOBBS JOURNAL, 1991, 16 (01): : S96 - &
  • [2] A model of component-based programming
    Chen, Xin
    He, Jifeng
    Liu, Zhiming
    Zhan, Naijun
    [J]. INTERNATIONAL SYMPOSIUM ON FUNDAMENTALS OF SOFTWARE ENGINEERING, PROCEEDINGS, 2007, 4767 : 191 - +
  • [3] Integrating nominal and structural subtyping
    Malayeri, Donna
    Aldrich, Jonathan
    [J]. ECOOP 2008 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2008, 5142 : 260 - 284
  • [4] An Inheritance System for Structural & Behavioral Reuse in Component-based Software Programming
    Spacek, Petr
    Dony, Christophe
    Tibermacine, Chouki
    Fabresse, Luc
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (03) : 60 - 69
  • [5] Component-based programming of distributed applications
    Issarny, V
    Bellissard, L
    Riveill, M
    Zarras, A
    [J]. ADVANCES IN DISTRIBUTED SYSTEMS: ADVANCED DISTRIBUTED COMPUTING: FROM ALGORITHMS TO SYSTEMS, 2000, 1752 : 327 - 353
  • [6] Component-based programming of distributed applications
    Issarny, Valérie
    Bellissard, Luc
    Riveill, Michel
    Zarras, Apostolos
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2000, 1752 : 327 - 353
  • [7] Reversibility in Component-based Programming Language
    Giedrimas, Vaidas
    [J]. 2018 IEEE 12TH INTERNATIONAL CONFERENCE ON APPLICATION OF INFORMATION AND COMMUNICATION TECHNOLOGIES (AICT), 2018, : 251 - 255
  • [8] Component-based software development and logic programming
    Lau, KK
    [J]. LOGIC PROGRAMMING, PROCEEDINGS, 2003, 2916 : 103 - 108
  • [9] Motivating Students in Component-based Programming Courses
    Porubaen, Jaroslav
    Bacikova, Michaela
    Stastna, Jana
    [J]. 2016 INTERNATIONAL CONFERENCE ON EMERGING ELEARNING TECHNOLOGIES AND APPLICATIONS (ICETA), 2016,
  • [10] Structural Testing of Component-Based Systems
    Sundmark, Daniel
    Carlson, Jan
    Punnekkat, Sasikumar
    Ermedahl, Andreas
    [J]. COMPONENT-BASED SOFTWARE ENGINEERING, PROCEEDINGS, 2008, 5282 : 180 - 195