907 resultados para Programming frameworks
Resumo:
Exogenous androgenic steroids applied to pregnant sheep programmes a PCOS-like phenotype in female offspring. Via ultrasound guidance we applied steroids directly to ovine fetuses at d62 and d82 of gestation, and examined fetal (day 90 gestation) and postnatal (11 months old) pancreatic structure and function. Of three classes of steroid agonists applied (androgen - Testosterone propionate (TP), estrogen - Diethystilbesterol (DES) and glucocorticoid - Dexamethasone (DEX)), only androgens (TP) caused altered pancreatic development. Beta cell numbers were significantly elevated in prenatally androgenised female fetuses (P=0.03) (to approximately the higher numbers found in male fetuses), whereas alpha cell counts were unaffected, precipitating decreased alpha:beta cell ratios in the developing fetal pancreas (P=0.001), sustained into adolescence (P=0.0004). In adolescence basal insulin secretion was significantly higher in female offspring from androgen-excess pregnancies (P=0.045), and an exaggerated, hyperinsulinaemic response to glucose challenge (P=0.0007) observed, whereas prenatal DES or DEX treatment had no effects upon insulin secretion. Postnatal insulin secretion correlated with beta cell numbers (P=0.03). We conclude that the pancreas is a primary locus of androgenic stimulation during development, giving rise to postnatal offspring whose pancreas secreted excess insulin due to excess beta cells in the presence of a normal number of alpha cells.
Resumo:
Oocytes are arrested for long periods of time in the prophase of the first meiotic division (prophase I). As chromosome condensation poses significant constraints to gene expression, the mechanisms regulating transcriptional activity in the prophase I-arrested oocyte are still not entirely understood. We hypothesized that gene expression during the prophase I arrest is primarily epigenetically regulated. Here we comprehensively define the Drosophila female germ line epigenome throughout oogenesis and show that the oocyte has a unique, dynamic and remarkably diversified epigenome characterized by the presence of both euchromatic and heterochromatic marks. We observed that the perturbation of the oocyte's epigenome in early oogenesis, through depletion of the dKDM5 histone demethylase, results in the temporal deregulation of meiotic transcription and affects female fertility. Taken together, our results indicate that the early programming of the oocyte epigenome primes meiotic chromatin for subsequent functions in late prophase I.
Resumo:
The persistence concern implemented as an aspect has been studied since the appearance of the Aspect-Oriented paradigm. Frequently, persistence is given as an example that can be aspectized, but until today no real world solution has applied that paradigm. Such solution should be able to enhance the programmer productivity and make the application less prone to errors. To test the viability of that concept, in a previous study we developed a prototype that implements Orthogonal Persistence as an aspect. This first version of the prototype was already fully functional with all Java types including arrays. In this work the results of our new research to overcome some limitations that we have identified on the data type abstraction and transparency in the prototype are presented. One of our goals was to avoid the Java standard idiom for genericity, based on casts, type tests and subtyping. Moreover, we also find the need to introduce some dynamic data type abilities. We consider that the Reflection is the solution to those issues. To achieve that, we have extended our prototype with a new static weaver that preprocesses the application source code in order to introduce changes to the normal behavior of the Java compiler with a new generated reflective code.
Resumo:
Applications are subject of a continuous evolution process with a profound impact on their underlining data model, hence requiring frequent updates in the applications' class structure and database structure as well. This twofold problem, schema evolution and instance adaptation, usually known as database evolution, is addressed in this thesis. Additionally, we address concurrency and error recovery problems with a novel meta-model and its aspect-oriented implementation. Modern object-oriented databases provide features that help programmers deal with object persistence, as well as all related problems such as database evolution, concurrency and error handling. In most systems there are transparent mechanisms to address these problems, nonetheless the database evolution problem still requires some human intervention, which consumes much of programmers' and database administrators' work effort. Earlier research works have demonstrated that aspect-oriented programming (AOP) techniques enable the development of flexible and pluggable systems. In these earlier works, the schema evolution and the instance adaptation problems were addressed as database management concerns. However, none of this research was focused on orthogonal persistent systems. We argue that AOP techniques are well suited to address these problems in orthogonal persistent systems. Regarding the concurrency and error recovery, earlier research showed that only syntactic obliviousness between the base program and aspects is possible. Our meta-model and framework follow an aspect-oriented approach focused on the object-oriented orthogonal persistent context. The proposed meta-model is characterized by its simplicity in order to achieve efficient and transparent database evolution mechanisms. Our meta-model supports multiple versions of a class structure by applying a class versioning strategy. Thus, enabling bidirectional application compatibility among versions of each class structure. That is to say, the database structure can be updated because earlier applications continue to work, as well as later applications that have only known the updated class structure. The specific characteristics of orthogonal persistent systems, as well as a metadata enrichment strategy within the application's source code, complete the inception of the meta-model and have motivated our research work. To test the feasibility of the approach, a prototype was developed. Our prototype is a framework that mediates the interaction between applications and the database, providing them with orthogonal persistence mechanisms. These mechanisms are introduced into applications as an {\it aspect} in the aspect-oriented sense. Objects do not require the extension of any super class, the implementation of an interface nor contain a particular annotation. Parametric type classes are also correctly handled by our framework. However, classes that belong to the programming environment must not be handled as versionable due to restrictions imposed by the Java Virtual Machine. Regarding concurrency support, the framework provides the applications with a multithreaded environment which supports database transactions and error recovery. The framework keeps applications oblivious to the database evolution problem, as well as persistence. Programmers can update the applications' class structure because the framework will produce a new version for it at the database metadata layer. Using our XML based pointcut/advice constructs, the framework's instance adaptation mechanism is extended, hence keeping the framework also oblivious to this problem. The potential developing gains provided by the prototype were benchmarked. In our case study, the results confirm that mechanisms' transparency has positive repercussions on the programmer's productivity, simplifying the entire evolution process at application and database levels. The meta-model itself also was benchmarked in terms of complexity and agility. Compared with other meta-models, it requires less meta-object modifications in each schema evolution step. Other types of tests were carried out in order to validate prototype and meta-model robustness. In order to perform these tests, we used an OO7 small size database due to its data model complexity. Since the developed prototype offers some features that were not observed in other known systems, performance benchmarks were not possible. However, the developed benchmark is now available to perform future performance comparisons with equivalent systems. In order to test our approach in a real world scenario, we developed a proof-of-concept application. This application was developed without any persistence mechanisms. Using our framework and minor changes applied to the application's source code, we added these mechanisms. Furthermore, we tested the application in a schema evolution scenario. This real world experience using our framework showed that applications remains oblivious to persistence and database evolution. In this case study, our framework proved to be a useful tool for programmers and database administrators. Performance issues and the single Java Virtual Machine concurrent model are the major limitations found in the framework.
Resumo:
Processors with large numbers of cores are becoming commonplace. In order to utilise the available resources in such systems, the programming paradigm has to move towards increased parallelism. However, increased parallelism does not necessarily lead to better performance. Parallel programming models have to provide not only flexible ways of defining parallel tasks, but also efficient methods to manage the created tasks. Moreover, in a general-purpose system, applications residing in the system compete for the shared resources. Thread and task scheduling in such a multiprogrammed multithreaded environment is a significant challenge. In this thesis, we introduce a new task-based parallel reduction model, called the Glasgow Parallel Reduction Machine (GPRM). Our main objective is to provide high performance while maintaining ease of programming. GPRM supports native parallelism; it provides a modular way of expressing parallel tasks and the communication patterns between them. Compiling a GPRM program results in an Intermediate Representation (IR) containing useful information about tasks, their dependencies, as well as the initial mapping information. This compile-time information helps reduce the overhead of runtime task scheduling and is key to high performance. Generally speaking, the granularity and the number of tasks are major factors in achieving high performance. These factors are even more important in the case of GPRM, as it is highly dependent on tasks, rather than threads. We use three basic benchmarks to provide a detailed comparison of GPRM with Intel OpenMP, Cilk Plus, and Threading Building Blocks (TBB) on the Intel Xeon Phi, and with GNU OpenMP on the Tilera TILEPro64. GPRM shows superior performance in almost all cases, only by controlling the number of tasks. GPRM also provides a low-overhead mechanism, called “Global Sharing”, which improves performance in multiprogramming situations. We use OpenMP, as the most popular model for shared-memory parallel programming as the main GPRM competitor for solving three well-known problems on both platforms: LU factorisation of Sparse Matrices, Image Convolution, and Linked List Processing. We focus on proposing solutions that best fit into the GPRM’s model of execution. GPRM outperforms OpenMP in all cases on the TILEPro64. On the Xeon Phi, our solution for the LU Factorisation results in notable performance improvement for sparse matrices with large numbers of small blocks. We investigate the overhead of GPRM’s task creation and distribution for very short computations using the Image Convolution benchmark. We show that this overhead can be mitigated by combining smaller tasks into larger ones. As a result, GPRM can outperform OpenMP for convolving large 2D matrices on the Xeon Phi. Finally, we demonstrate that our parallel worksharing construct provides an efficient solution for Linked List processing and performs better than OpenMP implementations on the Xeon Phi. The results are very promising, as they verify that our parallel programming framework for manycore processors is flexible and scalable, and can provide high performance without sacrificing productivity.
Resumo:
Metal-organic frameworks (MOFs) have attracted significant attention during the past decade due to their high porosity, tunable structures, and controllable surface functionalities. Therefore many applications have been proposed for MOFs. All of them however are still in their infancy stage and have not yet been brought into the market place. In this thesis, the background of the MOF area is first briefly introduced. The main components and the motifs of designing MOFs are summarized, followed by their synthesis and postsynthetic modification methods. Several promising application areas of MOFs including gas storage and separation, catalysis and sensing are reviewed. The current status of commercialization of MOFs as new chemical products is also summarized. Examples of the design and synthesis of two new MOF structures Eu(4,4′,4′′,4′′′-(porphine-5,10,15,20-tetrayl)tetrakis(benzoic acid))·2H2O∙xDMF and Zn4O(azobenzene-4,4’-dicarboxylic acid)3∙xNMP are described. The first one contains free-base porphyrin centers and the second one has azobenzene components. Although the structures were synthesized as designed, unfortunately they did not possess the expected properties. The research idea to use MOFs as template materials to synthesize porous polymers is introduced. Several methods are discussed to grow PMMA into IRMOF-1 (Zn4O(benzene-1,4-dicarboxylate)3, IR stands for isoreticular) structure. High concentration of the monomers resulted in PMMA shell after MOF digestion while with low concentration of monomers no PMMA was left after digestion due to the small iii molecular weight. During the study of this chapter, Kitagawa and co-workers published several papers on the same topic, so this part of the research was terminated thereafter. Many MOFs are reported to be unstable in air due to the water molecules in air which greatly limited their applications. By incorporating a number of water repelling functional groups such as trifluoromethoxy group and methyl groups in the frameworks, the water stability of MOFs are shown to be significantly enhanced. Several MOFs inculding Banasorb-22 (Zn4O(2-trifluoromethoxybenzene-1,4-dicarboxylate)3), Banasorb-24 (Zn4O(2, 5-dimethylbenzene-1,4-dicarboxylate)3) and Banasorb-30 (Zn4O(2-methylbenzene-1,4-dicarboxylate)3) were synthesized and proved to have isostructures with IRMOF-1. Banasorb-22 was stable in boiling water steam for one week and Banasorb-30’s shelf life was over 10 months under ambient condition. For comparison, IRMOF-1’s structure collapses in air after a few hours to several days. Although MOF is a very popular research area nowadays, only a few studies have been reported on the mechanical properties of MOFs. Many of MOF’s applications involve high pressure conditions, so it is important to understand the behavior of MOFs under elivated pressures. The mechanical properties of IRMOF-1 and a new MOF structure Eu2(C12N2O4H6)3(DEF)0.87(H2O)2.13 were studied using diamond anvil cells at Advanced Photon Source. IRMOF-1 experienced an irriversible phase transtion to a nonporous phase followed by amorphization under high pressure. Eu2(C12N2O4H6)3(DEF)0.87(H2O)2.13 showed reversible compression under pressure up to 9.08GPa.
Resumo:
É do conhecimento geral de que, hoje em dia, a tecnologia evolui rapidamente. São criadas novas arquitecturas para resolver determinadas limitações ou problemas. Por vezes, essa evolução é pacífica e não requer necessidade de adaptação e, por outras, essa evolução pode Implicar mudanças. As linguagens de programação são, desde sempre, o principal elo de comunicação entre o programador e o computador. Novas linguagens continuam a aparecer e outras estão sempre em desenvolvimento para se adaptarem a novos conceitos e paradigmas. Isto requer um esforço extra para o programador, que tem de estar sempre atento a estas mudanças. A Programação Visual pode ser uma solução para este problema. Exprimir funções como módulos que recebem determinado Input e retomam determinado output poderá ajudar os programadores espalhados pelo mundo, através da possibilidade de lhes dar uma margem para se abstraírem de pormenores de baixo nível relacionados com uma arquitectura específica. Esta tese não só mostra como combinar as capacidades do CeII/B.E. (que tem uma arquitectura multiprocessador heterogénea) com o OpenDX (que tem um ambiente de programação visual), como também demonstra que tal pode ser feito sem grande perda de performance. ABSTRACT; lt is known that nowadays technology develops really fast. New architectures are created ln order to provide new solutions for different technology limitations and problems. Sometimes, this evolution is pacific and there is no need to adapt to new technologies, but things also may require a change every once ln a while. Programming languages have always been the communication bridge between the programmer and the computer. New ones keep coming and other ones keep improving ln order to adapt to new concepts and paradigms. This requires an extra-effort for the programmer, who always needs to be aware of these changes. Visual Programming may be a solution to this problem. Expressing functions as module boxes which receive determined Input and return determined output may help programmers across the world by giving them the possibility to abstract from specific low-level hardware issues. This thesis not only shows how the CeII/B.E. (which has a heterogeneous multi-core architecture) capabilities can be combined with OpenDX (which has a visual programming environment), but also demonstrates that lt can be done without losing much performance.