110 research outputs found
Inner Classes and Virtual Types
This paper studies the interplay between inner classes and virtual types. The combination of these two concepts can be observed in object-oriented languages like Beta or Scala. This study is based on a calculus of classes and objects composed of a very limited number of constructs. For example the calculus has neither methods nor class constructors. Instead it has a more general concept of abstract inheritance which lets a class extend an arbitrary object. Thanks to an interpretation of terms as types the calculus also unifies type fields and term fields. The main contribution of this work is to show that typing virtual types in the presence of inner classes requires some kind of alias analysis and to formalize this mechanism with a simple calculus
PiLib: A Hosted Language for Pi-Calculus Style Concurrency
PiLib is a library written in Scala that implements the concurrency constructs of the Pi-calculus. Some features of the programming language Scala, examined in the paper, make it possible to use almost the same syntax as in the Pi-calculus. The advantages of this library with respect to a simple Pi-calculus interpreter are that we can transmit any value along names, we can get control over them using the type system, and we have access to the full power of Scala in terms of expressiveness and libraries
An Equational Theory for Transactions
Transactions are commonly described as being ACID: All-or-nothing, Consistent, Isolated and Durable. However, although these words convey a powerful intuition, the ACID properties have never been given a precise semantics in a way that disentangles each property from the others. Among the benefits of such a semantics would be the ability to trade-off the value of a property against the cost of its implementation. This paper gives a sound equational semantics for the transaction properties. We define three categories of actions, A-actions, I-actions and D-actions, while we view Consistency as an induction rule that enables us to derive system-wide consistency from local consistency. The three kinds of action can be nested, leading to different forms of transactions, each with a well-defined semantics. Conventional transactions are obtained as ADI-actions. >From the equational semantics we develop a formal proof principle for transactional programs, from which we derive the induction rule for Consistency
A Nominal Theory of Objects with Dependent Types
We design and study newObj, a calculus and dependent type system forobjects and classes which can have types as members. Type members canbe aliases, abstract types, or new types. The type system can modelthe essential concepts of Java's inner classes as well as virtual typesand family polymorphism found in BETA or gbeta. It can also model mostconcepts of SML-style module systems, including sharing constraintsand higher-order functors, but excluding applicative functors.The type system can thus be used as a basis for unifying conceptsthat so far existed in parallel in advanced object systems and inmodule systems. The technical report presents results on confluenceof the calculus, soundness of the type system, and undecidability oftype checking
CDK11p58 Is Required for Centriole Duplication and Plk4 Recruitment to Mitotic Centrosomes
BACKGROUND: CDK11(p58) is a mitotic protein kinase, which has been shown to be required for different mitotic events such as centrosome maturation, chromatid cohesion and cytokinesis. METHODOLOGY/PRINCIPAL FINDINGS: In addition to these previously described roles, our study shows that CDK11(p58) inhibition induces a failure in the centriole duplication process in different human cell lines. We propose that this effect is mediated by the defective centrosomal recruitment of proteins at the onset of mitosis. Indeed, Plk4 protein kinase and the centrosomal protein Cep192, which are key components of the centriole duplication machinery, showed reduced levels at centrosomes of mitotic CDK11-depleted cells. CDK11(p58), which accumulates only in the vicinity of mitotic centrosomes, directly interacts with the centriole-associated protein kinase Plk4 that regulates centriole number in cells. In addition, we show that centriole from CDK11 defective cells are not able to be over duplicated following Plk4 overexpression. CONCLUSION/SIGNIFICANCE: We thus propose that CDK11 is required for centriole duplication by two non-mutually-exclusive mechanisms. On one hand, the observed duplication defect could be caused indirectly by a failure of the centrosome to fully maturate during mitosis. On the other hand, CDK11(p58) could also directly regulate key centriole components such as Plk4 during mitosis to trigger essential mitotic centriole modifications, required for centriole duplication during subsequent interphase
Nucleophosmin/B23 activates Aurora A at the centrosome through phosphorylation of serine 89.: Activation of Aurora-A by Nucleophosmin
International audienceAurora A (AurA) is a major mitotic protein kinase involved in centrosome maturation and spindle assembly. Nucleophosmin/B23 (NPM) is a pleiotropic nucleolar protein involved in a variety of cellular processes including centrosome maturation. In the present study, we report that NPM is a strong activator of AurA kinase activity. NPM and AurA coimmunoprecipitate and colocalize to centrosomes in G2 phase, where AurA becomes active. In contrast with previously characterized AurA activators, NPM does not trigger autophosphorylation of AurA on threonine 288. NPM induces phosphorylation of AurA on serine 89, and this phosphorylation is necessary for activation of AurA. These data were confirmed in vivo, as depletion of NPM by ribonucleic acid interference eliminated phosphorylation of CDC25B on S353 at the centrosome, indicating a local loss of AurA activity. Our data demonstrate that NPM is a strong activator of AurA kinase activity at the centrosome and support a novel mechanism of activation for AurA
An Overview of the Scala Programming Language
Scala fuses object-oriented and functional programming in a statically typed programming language. It is aimed at the construction of components and component systems. This paper gives an overview of the Scala language for readers who are familar with programming methods and programming language design
An Overview of the Scala Programming Language (2. Edition)
Scala fuses object-oriented and functional programming in a statically typed programming language. It is aimed at the construction of components and component systems. This paper gives an overview of the Scala language for readers who are familar with programming methods and programming language design
- …