928 resultados para Type system


Relevância:

60.00% 60.00%

Publicador:

Resumo:

Generic programming is likely to become a new challenge for a critical mass of developers. Therefore, it is crucial to refine the support for generic programming in mainstream Object-Oriented languages — both at the design and at the implementation level — as well as to suggest novel ways to exploit the additional degree of expressiveness made available by genericity. This study is meant to provide a contribution towards bringing Java genericity to a more mature stage with respect to mainstream programming practice, by increasing the effectiveness of its implementation, and by revealing its full expressive power in real world scenario. With respect to the current research setting, the main contribution of the thesis is twofold. First, we propose a revised implementation for Java generics that greatly increases the expressiveness of the Java platform by adding reification support for generic types. Secondly, we show how Java genericity can be leveraged in a real world case-study in the context of the multi-paradigm language integration. Several approaches have been proposed in order to overcome the lack of reification of generic types in the Java programming language. Existing approaches tackle the problem of reification of generic types by defining new translation techniques which would allow for a runtime representation of generics and wildcards. Unfortunately most approaches suffer from several problems: heterogeneous translations are known to be problematic when considering reification of generic methods and wildcards. On the other hand, more sophisticated techniques requiring changes in the Java runtime, supports reified generics through a true language extension (where clauses) so that backward compatibility is compromised. In this thesis we develop a sophisticated type-passing technique for addressing the problem of reification of generic types in the Java programming language; this approach — first pioneered by the so called EGO translator — is here turned into a full-blown solution which reifies generic types inside the Java Virtual Machine (JVM) itself, thus overcoming both performance penalties and compatibility issues of the original EGO translator. Java-Prolog integration Integrating Object-Oriented and declarative programming has been the subject of several researches and corresponding technologies. Such proposals come in two flavours, either attempting at joining the two paradigms, or simply providing an interface library for accessing Prolog declarative features from a mainstream Object-Oriented languages such as Java. Both solutions have however drawbacks: in the case of hybrid languages featuring both Object-Oriented and logic traits, such resulting language is typically too complex, thus making mainstream application development an harder task; in the case of library-based integration approaches there is no true language integration, and some “boilerplate code” has to be implemented to fix the paradigm mismatch. In this thesis we develop a framework called PatJ which promotes seamless exploitation of Prolog programming in Java. A sophisticated usage of generics/wildcards allows to define a precise mapping between Object-Oriented and declarative features. PatJ defines a hierarchy of classes where the bidirectional semantics of Prolog terms is modelled directly at the level of the Java generic type-system.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Durch globale Expressionsprofil-Analysen auf Transkriptom-, Proteom- oder Metabolom-Ebene können biotechnologische Produktionsprozesse besser verstanden und die Erkenntnisse für die zielgerichtete, rationale Optimierung von Expressionssystemen genutzt werden. In der vorliegenden Arbeit wurde die Überexpression einer Glukose-Dehydrogenase (EC 1.1.5.2), die von der Roche Diagnostics GmbH für die diagnostische Anwendung optimiert worden war, in Escherichia coli untersucht. Die Enzymvariante unterscheidet sich in sieben ihrer 455 Aminosäuren vom Wildtyp-Enzym und wird im sonst isogenen Wirt-/Vektor-System in signifikant geringeren Mengen (Faktor 5) gebildet. Das prokaryontische Expressionssystem wurde auf Proteom-Ebene charakterisiert. Die 2-dimensionale differenzielle Gelelektrophorese (DIGE) wurde zuvor unter statistischen Aspekten untersucht. Unter Berücksichtigung von technischen und biologischen Variationen, falsch-positiven (α-) und falsch-negativen (β-) Fehlern sowie einem daraus abgeleiteten Versuchsdesign konnten Expressionsunterschiede als signifikant quantifiziert werden, wenn sie um den Faktor ≥ 1,4 differierten. Durch eine Hauptkomponenten-Analyse wurde gezeigt, dass die DIGE-Technologie für die Expressionsprofil-Analyse des Modellsystems geeignet ist. Der Expressionsstamm für die Enzymvariante zeichnete sich durch eine höhere Variabilität an Enzymen für den Zuckerabbau und die Nukleinsäure-Synthese aus. Im Expressionssystem für das Wildtyp-Enzym wurde eine unerwartet erhöhte Plasmidkopienzahl nachgewiesen. Als potenzieller Engpass in der Expression der rekombinanten Glukose-Dehydrogenase wurde die Löslichkeitsvermittlung identifiziert. Im Expressionsstamm für das Wildtyp-Enzym wurden viele Proteine für die Biogenese der äußeren Membran verstärkt exprimiert. Als Folge dessen wurde ein sog. envelope stress ausgelöst und die Zellen gingen in die stationäre Wuchsphase über. Die Ergebnisse der Proteomanalyse wurden weiterführend dazu genutzt, die Produktionsleistung für die Enzymvariante zu verbessern. Durch den Austausch des Replikationsursprungs im Expressionsvektor wurde die Plasmidkopienzahl erhöht und die zelluläre Expressionsleistung für die diagnostisch interessantere Enzymvariante um Faktor 7 - 9 gesteigert. Um die Löslichkeitsvermittlung während der Expression zu verbessern, wurde die Plasmidkopienzahl gesenkt und die Coexpression von Chaperonen initiiert. Die Ausbeuten aktiver Glukose-Dehydrogenase wurden durch die Renaturierung inaktiven Produkts aus dem optimierten Expressionssystem insgesamt um einen Faktor von 4,5 erhöht. Somit führte im Rahmen dieser Arbeit eine proteombasierte Expressionsprofil-Analyse zur zielgerichteten, rationalen Expressionsoptimierung eines prokaryontischen Modellsystems.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

In computer systems, specifically in multithread, parallel and distributed systems, a deadlock is both a very subtle problem - because difficult to pre- vent during the system coding - and a very dangerous one: a deadlocked system is easily completely stuck, with consequences ranging from simple annoyances to life-threatening circumstances, being also in between the not negligible scenario of economical losses. Then, how to avoid this problem? A lot of possible solutions has been studied, proposed and implemented. In this thesis we focus on detection of deadlocks with a static program analysis technique, i.e. an analysis per- formed without actually executing the program. To begin, we briefly present the static Deadlock Analysis Model devel- oped for coreABS−− in chapter 1, then we proceed by detailing the Class- based coreABS−− language in chapter 2. Then, in Chapter 3 we lay the foundation for further discussions by ana- lyzing the differences between coreABS−− and ASP, an untyped Object-based calculi, so as to show how it can be possible to extend the Deadlock Analysis to Object-based languages in general. In this regard, we explicit some hypotheses in chapter 4 first by present- ing a possible, unproven type system for ASP, modeled after the Deadlock Analysis Model developed for coreABS−−. Then, we conclude our discussion by presenting a simpler hypothesis, which may allow to circumvent the difficulties that arises from the definition of the ”ad-hoc” type system discussed in the aforegoing chapter.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

In this thesis we present ad study an object-oriented language, characterized by two different types of objects, passive and active objects, of which we define the operational syntax and semantics. For this language we also define the type system, that will be used for the type checking and for the extraction of behavioral types, which are an abstract description of the behavior of the methods, used in deadlock analysis. Programs can manifest deadlock due to the errors of the programmer. To statically identify possible unintended behaviors we studied and implemented a technique for the analysis of deadlock based on behavioral types.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Most languages fall into one of two camps: either they adopt a unique, static type system, or they abandon static type-checks for run-time checks. Pluggable types blur this division by (i) making static type systems optional, and (ii) supporting a choice of type systems for reasoning about different kinds of static properties. Dynamic languages can then benefit from static-checking without sacrificing dynamic features or committing to a unique, static type system. But the overhead of adopting pluggable types can be very high, especially if all existing code must be decorated with type annotations before any type-checking can be performed. We propose a practical and pragmatic approach to introduce pluggable type systems to dynamic languages. First of all, only annotated code is type-checked. Second, limited type inference is performed on unannotated code to reduce the number of reported errors. Finally, external annotations can be used to type third-party code. We present Typeplug, a Smalltalk implementation of our framework, and report on experience applying the framework to three different pluggable type systems.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

The overall objective of this thesis was to gain further understanding of the non-enzymatic mechanisms involved in brown-rot wood decay, especially the role of pH, oxalic acid, and low molecular catecholate compounds on the dissolution and reduction of iron, and the formation of reactive oxygen species. Another focus of this study will be the potential application of a biomimetic free radical generating system inspired from fungi wood decay process, especially the non-enzymatic mechanism. The possible pathways of iron uptake and iron redox cycling in non-enzymatic brown-rot decay were investigated in this study. UV-Vis spectroscopy and HPLC were employed to study the kinetics and pathways of the interaction between iron and model catecholate compounds under different pH and chelator/iron molar ratio conditions. Iron chelation and reduction during early non-enzymatic wood decay processes have been studied in this thesis. The results indicate that the effects of the chelator/iron ratio, the pH, and other reaction parameters on the hydroxyl radical generation in a Fenton type system can be determined using ESR spin-trapping techniques. Data also support the hypothesis that superoxide radicals are involved in chelator-mediated Fenton processes. The mechanisms involved in free radical activation of Thermal Mechanical Pulp fibers were investigated. The activation of TMP fibers was evaluated by ESR measurement of free phenoxy radical generation on solid fibers. The results indicate that low molecular weight chelators can improve Fenton reactions, thus in turn stimulating the free radical activation of TMP fibers. A mediated Fenton system was evaluated for decolorization of several types of dyes. The result shows that the Fenton system mediated by a catecholate-type chelator effectively reduced the color of a diluted solution of synthetic dyes after 90 minutes of treatment at room temperature. The results show that compared to a neat Fenton process, the mediated Fenton decolorization process increased the production, and therefore the effective longevity, of hydroxyl radical species to increase the decolorization efficiency.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Context. It appears that most (if not all) massive stars are born in multiple systems. At the same time, the most massive binaries are hard to find owing to their low numbers throughout the Galaxy and the implied large distances and extinctions. Aims. We want to study LS III +46 11, identified in this paper as a very massive binary; another nearby massive system, LS III +46 12; and the surrounding stellar cluster, Berkeley 90. Methods. Most of the data used in this paper are multi-epoch high S/N optical spectra, although we also use Lucky Imaging and archival photometry. The spectra are reduced with dedicated pipelines and processed with our own software, such as a spectroscopic-orbit code, CHORIZOS, and MGB. Results. LS III +46 11 is identified as a new very early O-type spectroscopic binary [O3.5 If* + O3.5 If*] and LS III +46 12 as another early O-type system [O4.5 V((f))]. We measure a 97.2-day period for LS III +46 11 and derive minimum masses of 38.80 ± 0.83 M⊙ and 35.60 ± 0.77 M⊙ for its two stars. We measure the extinction to both stars, estimate the distance, search for optical companions, and study the surrounding cluster. In doing so, a variable extinction is found as well as discrepant results for the distance. We discuss possible explanations and suggest that LS III +46 12 may be a hidden binary system where the companion is currently undetected.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

In this position paper we present the developing Fluid framework, which we believe offers considerable advantages in maintaining software stability in dynamic or evolving application settings. The Fluid framework facilitates the development of component software via the selection, composition and configuration of components. Fluid's composition language incorporates a high-level type system supporting object-oriented principles such as type description, type inheritance, and type instantiation. Object-oriented relationships are represented via the dynamic composition of component instances. This representation allows the software structure, as specified by type and instance descriptions, to change dynamically at runtime as existing types are modified and new types and instances are introduced. We therefore move from static software structure descriptions to more dynamic representations, while maintaining the expressiveness of object-oriented semantics. We show how the Fluid framework relates to existing, largely component based, software frameworks and conclude with suggestions for future enhancements. © 2007 IEEE.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

A simulation model has been constructed of a valve manufacturing plant with the aim of assessing capacity requirements in response to a forecast increase in demand. The plant provides a weekly cycle of valves of varying types, based on a yearly production plan. Production control is provided by a just-in-time type system to minimise inventory. The simulation model investigates the effect on production lead time of a range of valve sequences into the plant. The study required the collection of information from a variety of sources, and a model that reflected the true capabilities of the production system. The simulation results convinced management that substantial changes were needed in order to meet demand. The case highlights the use of simulation in enabling a manager to quantify operational scenarios and thus provide a rational basis on which to take decisions on meeting performance criteria.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

If we classify variables in a program into various security levels, then a secure information flow analysis aims to verify statically that information in a program can flow only in ways consistent with the specified security levels. One well-studied approach is to formulate the rules of the secure information flow analysis as a type system. A major trend of recent research focuses on how to accommodate various sophisticated modern language features. However, this approach often leads to overly complicated and restrictive type systems, making them unfit for practical use. Also, problems essential to practical use, such as type inference and error reporting, have received little attention. This dissertation identified and solved major theoretical and practical hurdles to the application of secure information flow. ^ We adopted a minimalist approach to designing our language to ensure a simple lenient type system. We started out with a small simple imperative language and only added features that we deemed most important for practical use. One language feature we addressed is arrays. Due to the various leaking channels associated with array operations, arrays have received complicated and restrictive typing rules in other secure languages. We presented a novel approach for lenient array operations, which lead to simple and lenient typing of arrays. ^ Type inference is necessary because usually a user is only concerned with the security types for input/output variables of a program and would like to have all types for auxiliary variables inferred automatically. We presented a type inference algorithm B and proved its soundness and completeness. Moreover, algorithm B stays close to the program and the type system and therefore facilitates informative error reporting that is generated in a cascading fashion. Algorithm B and error reporting have been implemented and tested. ^ Lastly, we presented a novel framework for developing applications that ensure user information privacy. In this framework, core computations are defined as code modules that involve input/output data from multiple parties. Incrementally, secure flow policies are refined based on feedback from the type checking/inference. Core computations only interact with code modules from involved parties through well-defined interfaces. All code modules are digitally signed to ensure their authenticity and integrity. ^

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Secure Multi-party Computation (MPC) enables a set of parties to collaboratively compute, using cryptographic protocols, a function over their private data in a way that the participants do not see each other's data, they only see the final output. Typical MPC examples include statistical computations over joint private data, private set intersection, and auctions. While these applications are examples of monolithic MPC, richer MPC applications move between "normal" (i.e., per-party local) and "secure" (i.e., joint, multi-party secure) modes repeatedly, resulting overall in mixed-mode computations. For example, we might use MPC to implement the role of the dealer in a game of mental poker -- the game will be divided into rounds of local decision-making (e.g. bidding) and joint interaction (e.g. dealing). Mixed-mode computations are also used to improve performance over monolithic secure computations. Starting with the Fairplay project, several MPC frameworks have been proposed in the last decade to help programmers write MPC applications in a high-level language, while the toolchain manages the low-level details. However, these frameworks are either not expressive enough to allow writing mixed-mode applications or lack formal specification, and reasoning capabilities, thereby diminishing the parties' trust in such tools, and the programs written using them. Furthermore, none of the frameworks provides a verified toolchain to run the MPC programs, leaving the potential of security holes that can compromise the privacy of parties' data. This dissertation presents language-based techniques to make MPC more practical and trustworthy. First, it presents the design and implementation of a new MPC Domain Specific Language, called Wysteria, for writing rich mixed-mode MPC applications. Wysteria provides several benefits over previous languages, including a conceptual single thread of control, generic support for more than two parties, high-level abstractions for secret shares, and a fully formalized type system and operational semantics. Using Wysteria, we have implemented several MPC applications, including, for the first time, a card dealing application. The dissertation next presents Wys*, an embedding of Wysteria in F*, a full-featured verification oriented programming language. Wys* improves on Wysteria along three lines: (a) It enables programmers to formally verify the correctness and security properties of their programs. As far as we know, Wys* is the first language to provide verification capabilities for MPC programs. (b) It provides a partially verified toolchain to run MPC programs, and finally (c) It enables the MPC programs to use, with no extra effort, standard language constructs from the host language F*, thereby making it more usable and scalable. Finally, the dissertation develops static analyses that help optimize monolithic MPC programs into mixed-mode MPC programs, while providing similar privacy guarantees as the monolithic versions.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

The big data era has dramatically transformed our lives; however, security incidents such as data breaches can put sensitive data (e.g. photos, identities, genomes) at risk. To protect users' data privacy, there is a growing interest in building secure cloud computing systems, which keep sensitive data inputs hidden, even from computation providers. Conceptually, secure cloud computing systems leverage cryptographic techniques (e.g., secure multiparty computation) and trusted hardware (e.g. secure processors) to instantiate a “secure” abstract machine consisting of a CPU and encrypted memory, so that an adversary cannot learn information through either the computation within the CPU or the data in the memory. Unfortunately, evidence has shown that side channels (e.g. memory accesses, timing, and termination) in such a “secure” abstract machine may potentially leak highly sensitive information, including cryptographic keys that form the root of trust for the secure systems. This thesis broadly expands the investigation of a research direction called trace oblivious computation, where programming language techniques are employed to prevent side channel information leakage. We demonstrate the feasibility of trace oblivious computation, by formalizing and building several systems, including GhostRider, which is a hardware-software co-design to provide a hardware-based trace oblivious computing solution, SCVM, which is an automatic RAM-model secure computation system, and ObliVM, which is a programming framework to facilitate programmers to develop applications. All of these systems enjoy formal security guarantees while demonstrating a better performance than prior systems, by one to several orders of magnitude.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Multivariate orthogonal polynomials in D real dimensions are considered from the perspective of the Cholesky factorization of a moment matrix. The approach allows for the construction of corresponding multivariate orthogonal polynomials, associated second kind functions, Jacobi type matrices and associated three term relations and also Christoffel-Darboux formulae. The multivariate orthogonal polynomials, their second kind functions and the corresponding Christoffel-Darboux kernels are shown to be quasi-determinants as well as Schur complements of bordered truncations of the moment matrix; quasi-tau functions are introduced. It is proven that the second kind functions are multivariate Cauchy transforms of the multivariate orthogonal polynomials. Discrete and continuous deformations of the measure lead to Toda type integrable hierarchy, being the corresponding flows described through Lax and Zakharov-Shabat equations; bilinear equations are found. Varying size matrix nonlinear partial difference and differential equations of the 2D Toda lattice type are shown to be solved by matrix coefficients of the multivariate orthogonal polynomials. The discrete flows, which are shown to be connected with a Gauss-Borel factorization of the Jacobi type matrices and its quasi-determinants, lead to expressions for the multivariate orthogonal polynomials and their second kind functions in terms of shifted quasi-tau matrices, which generalize to the multidimensional realm, those that relate the Baker and adjoint Baker functions to ratios of Miwa shifted tau-functions in the 1D scenario. In this context, the multivariate extension of the elementary Darboux transformation is given in terms of quasi-determinants of matrices built up by the evaluation, at a poised set of nodes lying in an appropriate hyperplane in R^D, of the multivariate orthogonal polynomials. The multivariate Christoffel formula for the iteration of m elementary Darboux transformations is given as a quasi-determinant. It is shown, using congruences in the space of semi-infinite matrices, that the discrete and continuous flows are intimately connected and determine nonlinear partial difference-differential equations that involve only one site in the integrable lattice behaving as a Kadomstev-Petviashvili type system. Finally, a brief discussion of measures with a particular linear isometry invariance and some of its consequences for the corresponding multivariate polynomials is given. In particular, it is shown that the Toda times that preserve the invariance condition lay in a secant variety of the Veronese variety of the fixed point set of the linear isometry.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Slot and van Emde Boas Invariance Thesis states that a time (respectively, space) cost model is reasonable for a computational model C if there are mutual simulations between Turing machines and C such that the overhead is polynomial in time (respectively, linear in space). The rationale is that under the Invariance Thesis, complexity classes such as LOGSPACE, P, PSPACE, become robust, i.e. machine independent. In this dissertation, we want to find out if it possible to define a reasonable space cost model for the lambda-calculus, the paradigmatic model for functional programming languages. We start by considering an unusual evaluation mechanism for the lambda-calculus, based on Girard's Geometry of Interaction, that was conjectured to be the key ingredient to obtain a space reasonable cost model. By a fine complexity analysis of this schema, based on new variants of non-idempotent intersection types, we disprove this conjecture. Then, we change the target of our analysis. We consider a variant over Krivine's abstract machine, a standard evaluation mechanism for the call-by-name lambda-calculus, optimized for space complexity, and implemented without any pointer. A fine analysis of the execution of (a refined version of) the encoding of Turing machines into the lambda-calculus allows us to conclude that the space consumed by this machine is indeed a reasonable space cost model. In particular, for the first time we are able to measure also sub-linear space complexities. Moreover, we transfer this result to the call-by-value case. Finally, we provide also an intersection type system that characterizes compositionally this new reasonable space measure. This is done through a minimal, yet non trivial, modification of the original de Carvalho type system.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Pollution of water bodies is one of the most common environmental problems today. Organic pollutants are one of the main drawbacks in this natural resource, among which the following stand out long-lived dyes, pharmaceuticals, and pesticides. This research aims at obtaining nanocomposites based on polycaprolactone-chitosan (PCL-CS) electrospun nanofibers (NFs) containing TiO2 nanoparticles (NPs) for the adsorption and photocatalytic degradation of organic pollutants, using Rhodamine B as a model. The fabricated hybrid materials were characterized by FT-IR, TGA, DSC, SEM, TEM, tensile properties, and the contact angle of water drops. The photoactivity of the NFs was investigated using a batch-type system by following UV-Vis absorbance and fluorescence of rhodamine B (RhB). For this purpose, TiO2NPs were successfully ex-situ incorporated into the polymer matrix promoting good mechanical properties and higher hydrophilicity of the material. The results showed that CS in the NFs increased the absorption and degradation of RhB by the TiO2NPs. CS attracted the pollutant molecules to the active sites vicinity of TiO2NPs, favoring initial adsorption and degradation. In other words, a bait-hook-and-destroy effect was evidenced. It also was demonstrated that the sensitization of TiO2 by organic dyes (e.g., perylene derivative) considerably improves the photocatalytic activity under visible radiation, allowing the use of low amounts of TiO2. (≈0.05 g/1 g of fiber). Hence, the current study is expected to contribute with an environmentally friendly green alternative solution.