MétaCan
Menu
Back to cohort
Record W2187985312

Parametric polymorphism for software component architectures and related optimizations

2006· article· en· W2187985312 on OpenAlexaff
Cosmin E. Oancea

Bibliographic record

Venuenot available
Typearticle
Languageen
FieldComputer Science
TopicLogic, programming, and type systems
Canadian institutionsWestern University
Fundersnot available
KeywordsComputer scienceProgramming languageConcurrencyCompilerSymbolic computationCode refactoringParameterized complexityParametric statisticsTheoretical computer scienceSoftwareAlgorithmMathematics
DOInot available

Abstract

fetched live from OpenAlex

Parametric polymorphism has become a common feature of mainstream programming languages, but software component architectures have lagged behind and do not support this feature. The immediate consequence is that applications cannot naturally combine the functionality exposed by various parameterized modules, if it happens that the implementation language differs. This significant problem surfaced first and most acutely in the computer algebra community, where parametric polymorphism is heavily used for the specification and enforcement of the algebraic interfaces and in the implementation of algorithms that work over various coefficient rings or fields. Complex, specialized mathematical libraries, servicing disjoint areas are implemented in various languages and therefore they cannot yet work together to attack increasingly difficult problems. This thesis examines the problem of accommodating parametric polymorphism, and related optimizations in a multi-language, distributed setting. We report on a first experiment, where we developed the Alma framework that allows Aldor libraries to extend Maple in a effective and natural way, and constitutes a new approach to structuring computer algebra systems. The motivation for this experiment are twofold: First, we are interested in understanding the issues that arise in matching the compile-time parametric polymorphism of Aldor's dependent types with the dynamic parametric polymorphism of Maple's module-producing functions, and in matching the Aldor's strongly type system with Maple's dynamically typed system. Second, we are interested in the practical problem of using Aldor as an extension mechanism for the popular Maple computer algebra system. The details of generics, templates or functors, as they are variously called, differ significantly in different programming languages. We investigated how to resolve different binding times and parametric polymorphism semantics in a range of rep resentative programming languages, and identified a common ground that can be suitably mapped to different language bindings. We explore the possibility of a systematic solution for parametric polymorphism, that should encompass many languages in a simple way. We present a generic component architecture extension that provides support for parameterized components, and can be easily adapted to work on top of various software component architectures in use today: CORBA, JNI, DCOM. We have implemented and tested our extension on top of CORBA.We present Generic Interface Definition Language (GIDL), an extension to CORBA-IDL, supporting generic types, and our language bindings for C++, Java, and Aldor. We describe our implementation of GIDL, consisting of a GIDL to IDL compiler and tools for generating linkage code under the language bindings. GIDL captures a very general notion of parametric polymorphism such that it can meaningfully be supported by various languages, and has the power to model the structure and semantics of system's components. To test the effectiveness of our model for generics, we have investigated how to expose C++'s STL and Aldor's BasicMath libraries to a multi-language environment, and discuss our mappings in the context of automatic library interface generation. Our work in the context of exposing generic libraries to a multi-language, potentially distributed environment has revealed several performance issues. First, as different components are separately compiled, the traditional compiler optimizations, such as inlining and parallelization, will fail to perform aggressively. Second, the overhead introduced by the inter-process communication stalls can be quite significant. Finally, this thesis explores speculative optimizations in the attempt to speed up the application performance in distributed environments.

Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.

How this classification was reachedexpand

Full frame distilled prediction

Teacher imitation

Not calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.

metaresearch head score (Codex)0.000
metaresearch head score (Gemma)0.000
Version: codex-gemma-dda1882f352aValidation status: machine_predicted_unvalidated
Candidate categoriesnone
Consensus categoriesnone
DomainCandidate signal: none · Consensus signal: none
Study designCandidate signal: Theoretical or conceptual · Consensus signal: Theoretical or conceptual
GenreCandidate signal: Methods · Consensus signal: none
Teacher disagreement score0.861
Threshold uncertainty score0.298

Codex and Gemma teacher scores by category

CategoryCodexGemma
Metaresearch0.0000.000
Meta-epidemiology (narrow)0.0000.000
Meta-epidemiology (broad)0.0000.000
Bibliometrics0.0000.000
Science and technology studies0.0000.000
Scholarly communication0.0000.000
Open science0.0000.000
Research integrity0.0000.000
Insufficient payload (model declined to judge)0.0000.000

Machine scores (provisional)

The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.

Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.

Opus teacher head0.013
GPT teacher head0.224
Teacher spread0.210 · how far apart the two teachers sit on this one work
Validation statusscore_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from it

Classification

machine, unvalidated

Machine predicted; a candidate call from one teacher head, not a consensus.

The models applied no category: nothing in the taxonomy fit this work.
Study designTheoretical or conceptual
Domainnot available
GenreMethods

How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".

Quick stats

Citations1
Published2006
Admission routes1
Has abstractyes

Explore more

Same topicLogic, programming, and type systemsFrench-language works237,207