Compile-time information in software components

Compile-time information in software components(2007)

引用 23|浏览19
暂无评分
摘要
Component programming techniques help programmers manage the intrinsic complexity of large software systems by supporting their modular construction from collections of smaller, independent pieces. Each component presents to the other components an abstraction of its functionality with an explicitly specified interface. This dissertation presents two component systems based on the unit model of components, and it demonstrates how both systems support flexible placement of component-based abstraction boundaries by allowing component authors to specify compile-time information in interface specifications. It also emphasizes the importance of supporting a simple module system, alongside the component system, for the management of source-code namespaces and compilation. The first component system is embedded in a model of an ML-like typed functional programming language that includes a Haskell-style module construct. I formalize a type system that supports more flexible specification of type imports and exports than previous unit models in similar settings. These specifications are similar to those found in the imports and exports of ML's functors, and I investigate the connections between units and functors, showing formally how a simplified model of functors can be translated into the component system. The second component system is for languages that can be extended through the use of macros, and I describe its implementation for the PLT Scheme dialect of the Scheme programming language. By allowing definitions of macros to appear inside of component interface definitions, I preserve both compile-time expansion of macros and component independence while allowing different components to encapsulate features that share compile-time information. To accommodate new forms of compile-time information that can accompany new language extensions, the specification language for component interfaces can itself be extended with macros.
更多
查看译文
关键词
software component,simple module system,Compile-time information,component interface definition,component interface,component programming technique,component independence,compile-time information,large software system,different component,component author,component system
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要