• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 49
  • 34
  • 3
  • 2
  • 1
  • Tagged with
  • 100
  • 100
  • 23
  • 19
  • 19
  • 17
  • 15
  • 15
  • 14
  • 13
  • 13
  • 13
  • 12
  • 11
  • 10
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
81

Um sistema de ensino na WEB baseados em padrões pedagógicos dando ênfase na aprendizagem significativa. / A web teaching system, based in pedagogical patterns giving emphasis in meaningful learning.

Silva, Alex Melo da 28 November 2008 (has links)
The information and communication technologies (ICT) had presented several uses at educational context, creating the need of models which allow to adapt these technological resources in the context of learning and teaching pedagogical practice. The use of the (DE) Distance Education gives to student flexibility in relation to time and place. DE makes the teacher reviews his pedagogical practice and the learning material to be used by internet. This work aims the usage of meaningful learning theory, considering the following aspects: Previous Organizers, Subsumer, Assimilation, Progressive Differentiation, and Integrated Reconciliation. In this work is also taken into account the following pedagogical patterns: RCLAP (Reading, Critique, Lecture, Activity and Presentation with Discussion) and LEASPE (Lecture, Examples, Activity, Student Presentation and Evaluation). RCLAP and LEASPE pedagogical patterns are considered as strategy in the context of a web teaching system. This strategy is used to define online teaching sessions related to a web teaching system. Framework FA_PorT was used to build a web teaching system by internet. The FA_PorT allows to define teaching sessions through the usage of strategies which are represented by a group of tactics. / As Tecnologias da Informação e Comunicação (TICs) apresentam diversos cenários de aplicação no contexto educacional, criando a necessidade de modelos que permitam adaptar esses recursos tecnológicos numa prática pedagógica de ensino e aprendizagem. O uso da tecnologia na Educação a Distância (EAD) permite ao aluno ter uma flexibilidade com relação a tempo e localidade. No qual a EAD, faz com que o professor reveja sua pratica pedagógica (estratégias) e o material de aprendizagem a ser utilizado via Internet. Este trabalho objetiva a utilização da Teoria da Aprendizagem Significativa, considerando os seguintes aspectos: Organizadores Prévios, Subsunçores, Assimilação, Diferenciação Progressiva e Reconciliação Integrativa, modelados em conjunto com os Padrões Pedagógicos RCLAP (Leitura, Critica, Exposição Teórica, Atividade e Apresentação com Discussão) e LEASPE (Exposição Teórica, Exemplos, Atividade, Apresentação do Estudante e Avaliação) como estratégia no desenvolvimento de um sistema de ensino na Web. A estratégia proposta é utilizada na definição de sessões de ensino online no contexto de um sistema de ensino Web. Para a construção e implementação do sistema foi utilizado o framework FA_PorT, que permite a criação de sistemas de ensino online via Internet. O FA_PorT permite a definição de sessões de ensino através do uso de estratégias que são representadas por um conjunto de táticas.
82

An investigation into the application of systematic software reuse in a project-centric organisation

Chapman, Mark Jonathon 31 January 2007 (has links)
The software development continues to become more competitive and demanding, placing pressure on developers. Changes in the international political climate have resulted in shrinking military budgets, putting developers of defence software under further pressure. At present, systematic reuse is probably the most realistic way of addressing this pressure by improving software development productivity and quality. Software product line (SPL) engineering provides a comprehensive approach to systematic software reuse and is becoming widely accepted. The focus of this interpretive case study was ground station software development in a small multidisciplinary project-centric company which produces avionics systems for military aircraft. The purpose of the study was to investigate the potential implementation of systematic software reuse in the company. The study consisted of three phases, a literature study, a contextualisation and a set of field interviews, and used elements of the Carnegie-Mellon Software Engineering Institute (SEI) Product Line Practice Framework to examine the suitability of SPL engineering for the company. The findings of the study highlight the potential challenges that SPL engineering poses for the company, and emphasise how the company's project-centric structure could impede its implementation of systematic software reuse. / Computing / M.Sc. (Information Systems)
83

Uma abordagem para gerenciamento de Linhas de Produtos de Software baseada em serviços / A service-based approach for managing Software Product Lines

Karen Dias Rabelo Pacini 05 April 2016 (has links)
Linhas de Produtos de Software (LPS) abstraem a semelhança entre produtos e envolvem o conceito de reúso de software para desenvolver software em larga escala com mais rapidez e qualidade. O reúso dos artefatos em uma LPS é planejado e executado desde sua concepção, sendo assim possível armazenar esses artefatos em um repositório (núcleo de ativos reusáveis) para utilização posterior. Porém, ao se construir um repositório para uma certa LPS, este atende apenas às especificações desta arquitetura e não promove o reúso desses ativos em outras LPS, causando uma certa perda no potencial de reusabilidade dos ativos produzidos e armazenados. Além disso, a definição e os dados da execução do processo de desenvolvimento dessas LPS também não são armazenados prevendo o reúso, o que gera retrabalho para definir e instanciar um processo de software sempre que uma nova LPS é criada. Neste contexto, este trabalho tem por objetivo apresentar uma abordagem baseada em um conjunto de serviços para promover o amplo reúso de ativos produzidos e de elementos de processo utilizados, além de facilitar a criação e o desenvolvimento de linha de produtos de software, permitindo o gerenciamento do núcleo de ativos reusáveis. Por possuir uma interface baseada em serviços, esta abordagem poderá ser incorporada também a outros ambientes. Para validar a abordagem, verificar vantagens e sugerir melhorias, foi conduzida uma prova de conceito com sua aplicação. Os resultados dessa prova comprovaram a viabilidade da abordagem em cumprir os objetivos propostos. / Software Product Lines (SPL) extract the similarity among products and use the software reuse concept to produce large-scale software with increased quality and reduction in the development time. Reuse in SPL is planned and executed since the beginning for each artifact resulting from the development process, and then these artifacts are stored in a repository (reusable core assets) for later use. However, when a repository is built for a specific SPL, it supports only the specifications for that architecture and do not promote the reuse of these assets among distinct SPL, which inhibits their reuse potential. In addition, the definition and execution data of the development process applied are not stored properly for reuse, which causes a re-work to define and instantiate a software process when creating a new SPL. In this context, this work aims at present a service-based approach to promote the wide reuse of the produced assets and process elements, also to facilitate the creation and the management of SPL and to allow the management of the reusable core assets. Once this approach has a service-based interface, it can be embedded into other environments. In order to validate this approach, point out advantages and suggest improvements, a concept proof was performed applying it. The results of this proof ensured the approach viability to fulfill the proposed goals.
84

Plataforma de software para técnicas de navegação e colaboração de robôs móveis autônomos / Software platform for autonomous mobile robot navigation and collaboration

Alves, Silas Franco dos Reis 19 August 2018 (has links)
Orientadores: João Maurício Rosário, Humberto Ferasoli Filho / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Mecânica / Made available in DSpace on 2018-08-19T15:08:00Z (GMT). No. of bitstreams: 1 Alves_SilasFrancodosReis_M.pdf: 3766365 bytes, checksum: dbbe1298b44cd06d13a9d2e56dfe873e (MD5) Previous issue date: 2011 / Resumo: A navegação e a colaboração são aspectos importantes da robótica móvel. A navegação confere aos robôs móveis as habilidades básicas de interação com o ambiente, os obstáculos e agentes nele situado. Já a colaboração permite que os robôs coordenem sua navegação e interação com o ambiente de forma que os permita realizar tarefas complexas de forma rápida e eficiente. Neste trabalho de pesquisa foi desenvolvida uma plataforma de software que oferece suporte a algumas técnicas tradicionais de navegação e colaboração de robôs móveis. Com esta plataforma, é possível programar diferentes robôs com os mesmos componentes de software, o que reduz o tempo de desenvolvimento do aplicativo ao incentivar o reuso de software. Além disso, as técnicas de navegação e colaboração fornecidas pela plataforma amenizam o esforço em desenvolver o software de controle para robôs móveis colaborativos, pois a plataforma permite que o usuário concentre seus esforços na solução dos problemas pertinentes a aplicação do robô, uma vez que as técnicas de navegação e colaboração são fornecidas pela plataforma / Abstract: The navigation and collaboration are important aspects of mobile robotics. The navigation provides to mobile robots the basic skills of interaction with the environment, and the obstacles and agents located therein. The collaboration allows the robots to coordinate their navigation and interaction with the environment in a way that enables them to per-form complex tasks quickly and efficiently. This research project developed a software plat-form that supports some traditional navigation techniques and collaboration of mobile robots. With this platform, different robots can be programmed with the same software components, reducing the application's development time by encourage software reuse. Furthermore, the techniques of navigation and collaboration provided by the platform alleviate the effort to develop the control software for collaborative mobile robots, because the plat-form allows the user to focus their efforts on solving the problems relevant to the robot's application, since the navigation techniques and collaboration are provided by the platform / Mestrado / Mecanica dos Sólidos e Projeto Mecanico / Mestre em Engenharia Mecânica
85

Graphical Approach for Variability Management in Safety-Critical Product Lines

Salikiryaki, Aleksandra, Petrova, Iliana January 2015 (has links)
The number and complexity of the systems realizing the functionality of the machines in the automotive domain are growing. In this arises the need for a systematic way to manage their development. As the technologies advance, the vehicles introduce an increasing range of capabilities. However, they have similar functions, which have the potential to be reused. One of the widely used approaches that manages the commonality and variability of the development artifacts in a systematic manner is Product Line Engineering (PLE). Consequently, PLE reduces the time to market and the development cost. The machines, realized in the automotive domain, interact with their operators and the surrounding environment. Possible malfunctions of the machines may introduce a risk of accidents with fatal consequences. Therefore, the products should be analyzed, developed and managed in a safe manner and certified according to different relevant safety standards like ISO 15998, ISO 61508 and ISO 26262. There is a diversity of functions in a Product Line (PL). Some of them are mandatory for all machines and others are optional for some models. This gives the opportunity to combine the functions in multiple configurations. However, not all combinations are possible due to dependencies among the functions. Furthermore, the configurations should be valid from a safety perspective, and the developed products should satisfy the requirements identified during the safety analysis. The above mentioned factors emphasize the need for explicit representation of the systems' characteristics, such as commonality and variability, functional dependencies and quality attributes. The purpose of the current work is to find an efficient way to satisfy this need. The scope of our research is limited to the automotive domain. In order to gain familiarity with the state of practice, we collaborated with Volvo Construction Equipment (Volvo CE) as an industrial partner. In particular, we: conducted an informal interview study with the practitioners, analyzed the requirements management tool used in Volvo CE and studied products typical for the domain in detail, examined the deliverables defined in the related domain specific safety standards. We gained knowledge on how variability is managed in an industrial context today, which safety aspects need to be considered and how functional safety artifacts are managed with regards to variability. We synthesized the characteristics that are explicitly represented during the development and safety certification of the products in a safety-critical product line. We identified the challenges that the practitioners meet today and the areas that need to be improved. As a result, we formulated evaluation criteria for search and assessment of possible solutions. Subsequently we searched in the literature for different modeling techniques, that are able to respond to the industrial needs, and found the following to be relevant in our context: Feature modeling techniques consider the different variability types and dependencies among the features. Model-based development techniques can represent different views of the system on each level of the development process. Orthogonal modeling techniques extract the variability and dependencies in a different view. Furthermore, we evaluated the methods found during the literature study, based on the proposed criteria. We concluded that the examined techniques alone cannot represent all characteristics needed to support the development of a safety-critical product line, especially the impact of the variability on the safety and vice versa. However, each of them focuses on the presentation of certain aspect of the product line, which can help in building a more complete representation. Thus we focused on the approaches that may be extended and integrated into a complete solution. As a result, we propose a model and graphical notation for variability management in safety-critical product lines, which takes the identified industrial needs into account. The concept is depicted graphically by several model-based diagrams, which represent the different aspects of the product line, on each development level. Special attention is paid to the representation of the safety and variability aspects of the systems. The method is exemplified on an industrial example, in order to show how it achieves the defined goals.
86

Projeto e implementação de um gerador automático de serviços web a partir de diagramas de classes / Design and implementation of an automatic generator of web services from class diagrams

Domenico Schettini Filho 21 March 2016 (has links)
A indústria de desenvolvimento de software está em constante evolução e em busca de novos desafios, como por exemplo: novas tecnologias, linguagens de programação e estratégias para aumentar a produtividade no desenvolvimento. Com o passar do tempo, essa evolução desejada tem se concretizado, em especial com o surgimento de conceitos como Service Oriented Architecture (SOA) e Model-Driven Development (MDD). Nesse contexto, ganha importância a reutilização de software, por exemplo por meio do uso de serviços que facilitam a interoperabilidade entre diferentes sistemas. Ambientes de desenvolvimento de software, em especial ambientes de reúso de software, poderiam se adequar à arquitetura SOA para facilitar a disponibilização de serviços a outros ambientes, promovendo sua integração e aumentando a possibilidade de reúso. Após um levantamento bibliográfico sobre ambientes integrados de reúso que utilizassem serviços para permitir o compartilhamento de recursos, percebeu-se que os trabalhos nessa direção são poucos. Ao mesmo tempo, observou-se que para integração de sistemas por meio de serviços é necessário criar camadas de acesso às entidades dos sistemas que compartilharão informações. A implementação desses serviços de forma manual é repetitiva e sujeita a erros, principalmente por programadores que não estão familiarizados com SOA. Por outro lado, diagramas de classes em UML (Unified Modeling Language) são de amplo conhecimento por parte de desenvolvedores e estão em um nível de abstração que é suficientemente detalhado para permitir a derivação de serviços de acesso às suas classes. Desta forma, para atender uma demanda crescente de sistemas que precisam oferecer serviços para possibilitar sua integração com outros sistemas, este mestrado tem por objetivo promover a geração automatizada de código de serviços por meio de transformações de modelo para texto, em que o modelo de entrada é um diagrama de classes derivado da UML e os serviços gerados cobrem operações básicas do tipo CRUD. O gerador resultante foi validado por meio de duas provas de conceito e mostrou-se adequado para cumprir os objetivos estabelecidos, visto que o desenvolvedor trabalha com um modelo em alto nível de abstração, não precisando conhecer os detalhes inerentes à implementação dos serviços. / The software development industry is constantly evolving and looking for challenges, such as: new technologies, programming languages and strategies to increase developers productivity. During the course of time, this required evolution has been concretized, especially with the emergency of concepts such as Service Oriented Architecture (SOA) and Model-Driven Development (MDD). In this context, software reuse gains importance, for example through the use of services that ease the interoperability of different systems. Software development environments, in special reuse environments, could be adapted to the SOA architecture to ease the availability of services to other environments, thus promoting its integration and possibility of reuse. After a literature review about integrated reuse environments that use services to allow resources sharing, it has been observed that there are only a few works in this direction. At the same time, it was observed that for system integration through services it is required to create an access layer for the system entities that share information. The manual implementation of these services is repetitive and error prone, especially for programmers who are not familiar with SOA. On the other hand, UML (Unified Modeling Language) class diagrams are widely known by developers and are at a level of abstraction that is sufficiently detailed to allow the derivation of access services to their classes. Thus, to meet a growing demand for systems that need to provide services to enable its integration with other systems, this masters dissertation aims to promote the automated generation of service code through transformations from model to text, where the input model is a class diagram derived from UML, and the generated services cover the basic CRUD operations. The resulting generator has been validated through two proofs of concepts and was adequate to meet the stated objectives, as the developer works with a model in a high abstraction level, and does not need to know the details related with the service implementation.
87

Exploration des variantes d'artefacts logiciels pour une analyse et une migration vers des lignes de produits / Mining software artefact variants for product line migration and analysis

Martinez, Jabier 18 October 2016 (has links)
Les lignes de produits logiciels (LdPs) permettent la dérivation d'une famille de produits basés sur une gestion de la variabilité. Les LdPs utilisent des configurations de caractéristiques afin de satisfaire les besoins de chaque client et, de même, permettre une réutilisation systématique en utilisant des assets réutilisables. L’approche capitalisant sur des variantes des produits existants est appelé une approche extractive pour l'adoption de LdPs. L’identification des caractéristiques est nécessaire pour analyser la variabilité d’un ensemble de variantes. Il est également nécessaire de localiser les éléments associés à ces caractéristiques. Les contraintes entre ces caractéristiques doivent être identifiées afin de garantir la sélection de configurations valides. Par ailleurs, il faut construire les assets réutilisables et synthétiser un modèle de caractéristiques. Cette thèse présente BUT4Reuse (Bottom-Up Technologies for Reuse), un framework unifié, générique et extensible pour l’adoption extractive de LdPs. Une attention particulière est accordée à des scénarios de développement dirigée par les modèles. Nous nous concentrons aussi sur l'analyse des techniques en proposant un benchmark pour la localisation de caractéristiques et une technique d’identification de familles de variantes. Nous présentons des paradigmes de visualisation pour accompagner les experts du domaine dans le nommage de caractéristiques et aider à la découverte de contraintes. Finalement, nous étudions l'exploitation des variantes pour l'analyse de la LdP après sa création. Nous présentons une approche pour trouver des variantes pertinentes guidée par des évaluations des utilisateurs finaux. / Software Product Lines (SPLs) enable the derivation of a family of products based on variability management techniques. Inspired by the manufacturing industry, SPLs use feature configurations to satisfy different customer needs, along with reusable assets to allow systematic reuse. Capitalizing on existing variants by extracting the common and varying elements is referred to as extractive approaches for SPL adoption. Feature identification is needed to analyse the domain variability. Also, to identify the associated implementation elements of the features, their location is needed. In addition, feature constraints should be identified to guarantee that customers are not able to select invalid feature combinations. Then, the reusable assets associated to the features should be constructed. And finally, a comprehensive feature model need to be synthesized. This dissertation presents Bottom-Up Technologies for Reuse (BUT4Reuse), a unified, generic and extensible framework for mining software artefact variants. Special attention is paid to model-driven development scenarios. We also focus on benchmarks and in the analysis of variants, in particular, in benchmarking feature location techniques and in identifying families of variants in the wild for experimenting with feature identification techniques. We present visualisation paradigms to support domain experts on feature naming and to support on feature constraints discovery. Finally, we investigate and discuss the mining of artefact variants for SPL analysis once the SPL is already operational. Concretely, we present an approach to find relevant variants within the SPL configuration space guided by end user assessments.
88

Uma abordagem orientada a modelos para reutilização de software / A model-driven software reuse approach

Lucredio, Daniel 17 July 2009 (has links)
A reutilização de software busca aumentar a qualidade e produtividade no desenvolvimento de software, evitando a duplicação do esforço e reaproveitando o máximo possível das experiências de projetos passados. Apesar de simples, esta idéia não é facilmente colocada em prática, principalmente de maneira sistemática e controlada. Técnicas de engenharia de domínio e linhas de produtos de software buscam facilitar esta tarefa, porém ainda existem outros fatores que dificultam a adoção da prática da reutilização. Entre estes, destacam-se os problemas inerentes ao desenvolvimento de software da maneira como é conduzido atualmente, baseado em código-fonte. Estes problemas têm suas origens na crescente demanda por software cada vez mais complexo e afetam negativamente a capacidade de reutilizar software. O desenvolvimento orientado a modelos surge como uma alternativa atraente neste cenário, elevando a importância de modelos dentro do ciclo de vida do software, incorporando-os como parte integrante do produto final por meio de técnicas de modelagem e geração de código. Com isto, parte da complexidade do software fica escondida dentro dos geradores, protegendo os desenvolvedores, reduzindo a incidência de erros, aumentando a produtividade, qualidade, interoperabilidade e manutenibilidade dos artefatos produzidos. Nesta dissertação defende-se a tese de que o desenvolvimento orientado a modelos pode efetivamente aumentar e/ou melhorar a reutilização de software, e que para isso ela deve ser tratada de forma consistente dentro de um processo de engenharia de domínio. Para demonstrar esta tese, é apresentada uma abordagem orientada a modelos para reutilização de software, com atividades que guiam o desenvolvedor durante a análise, projeto e implementação do domínio. São também apresentados os resultados de uma avaliação envolvendo três estudos empíricos, realizados em ambiente acadêmico e industrial, que buscou determinar a viabilidade da abordagem e os benefícios que podem ser alcançados com a combinação de técnicas do desenvolvimento orientado a modelos e da reutilização de software. Os resultados mostram que a abordagem pode trazer diferentes benefícios para organizações de software, incluindo aumento da quantidade e qualidade da reutilização, e reduzindo a complexidade de desenvolvimento e configuração de produtos / Software reuse aims at increasing quality and productivity in software development, avoiding effort duplication and reusing all past experiences possible. Although it is a simple idea, it is not easy to put reuse in practice, especially in a systematic and controlled way. Domain engineering and software product lines techniques try to make this task easier, but there are many other factors that difficult the reuse adoption. Among these factors are the problems that are inherent to software development in the way it is conducted today, based on source code. These problems arise from the growing demand for increasingly complex software, negatively affecting the ability to reuse. Model-driven development is an attractive alternative in this scenario, leveraging the importance of models in the software life cycle, incorporating them as part of the final product through modeling and code generation techniques. As a result, part of the software complexity becomes hidden inside the generators, shielding the developers, reducing errors, increasing the productivity, quality, interoperability and maintainability of the produced assets. In this dissertation is presented the thesis that model-driven development can effectively increase and/or improve software reuse, and that to achieve this goal it must be treated in a consistent way inside a domain engineering process. To demonstrate this thesis, a model-driven software reuse approach is presented, with activities that guide the developer during domain analysis, design and implementation. The results of an evaluation involving three empirical studies are also presented. The studies were performed in both academic and industrial environments, and aimed at determining the viability of the approach and the benefits that can be achieved with the combination of model-driven development and software reuse techniques. The results showed that the approach can bring different benefits to software organizations, such as software reuse quantity and quality improvements, and complexity reduction in product development and configuration tasks
89

[en] ARCHITECTURE FOR COORDINATION AND COMPOSITION OF SOFTWARE / [pt] UMA ARQUITETURA PARA A COORDENAÇÃO E A COMPOSIÇÃO DE ARTEFATOS DE SOFTWARE

GUSTAVO ROBICHEZ DE CARVALHO 16 October 2003 (has links)
[pt] A engenharia de software baseada em componentes é uma abordagem que prevê a reutilização de artefatos de software na geração de um conjunto de aplicações. Ao desenvolver aplicações com esta abordagem, é preciso reunir ou compor componentes de software já existentes. Após compor estas unidades, é necessário coordenar as interdependências estabelecidas entre elas para adequar a aplicação em desenvolvimento à resolução do problema. Esta dissertação propõe uma arquitetura de software que separa e estrutura os conceitos de coordenação, composição e componentes de software em camadas arquiteturais. A partir desta estrutura, espera-se que modificações específicas em construções de uma camada tenham o mínimo de influência sobre as demais. ACCA (Arquitetura para a Coordenação e a Composição de Artefatos de Software) deve ser entendida como uma estrutura conceitual utilizada para organizar o desenvolvimento de software baseado em componentes. Além disto, são apresentados um framework para ilustrar a realização da camada de composição de ACCA, o processo de reificação de ACCA e um processo de desenvolvimento de software utilizando a abordagem proposta. / [en] Component Based Software Engineering is an approach for reusing software artifacts when developing applications. In order to develop solutions using this approach, it is necessary to compose software using components that have already been developed. After putting those pieces together, we need to coordinate the interdependencies established among those compositions to fulfill the requirements, needed to resolve a problem. This dissertation proposes a software architecture that separates and structures the concepts of coordination, composition and software components in different architectural layers. Using this approach, we expect that specific modifications in layer constructions have the minimum impact on the others layers. ACCA (Architecture for Coordination and Composition of software Artifacts) must be understood as a conceptual structure that is used to organize component based software development. It also presents a composition framework, the reification process for ACCA and a software development process organized using this approach.
90

Effective reuse of coupling technologies for Earth System Models

Dunlap, Ralph S. 16 September 2013 (has links)
Designing and implementing coupled Earth System Models (ESMs) is a challenge for climate scientists and software engineers alike. Coupled models incorporate two or more independent numerical models into a single application, allowing for the simulation of complex feedback effects. As ESMs increase in sophistication, incorporating higher fidelity models of geophysical processes, developers are faced with the issue of managing increasing software complexity. Recently, reusable coupling software has emerged to aid developers in building coupled models. Effective reuse of coupling infrastructure means increasing the number of coupling functions reused, minimizing code duplication, reducing the development time required to couple models, and enabling flexible composition of coupling infrastructure with existing constituent model implementations. Despite the widespread availability of software packages that provide coupling infrastructure, effective reuse of coupling technologies remains an elusive goal: coupling models is effort-intensive, often requiring weeks or months of developer time to work through implementation details, even when starting from a set of existing software components. Coupling technologies are never used in isolation: they must be integrated with multiple existing constituent models to provide their primary services, such as model-to-model data communication and transformation. Unfortunately, the high level of interdependence between coupling concerns and scientific concerns has resulted in high interdependence between the infrastructure code and the scientific code within a model’s implementation. These dependencies are a source of complexity which tends to reduce reusability of coupling infrastructure. This dissertation presents mechanisms for increasing modeler productivity based on improving reuse of coupling infrastructure and raising the level of abstraction at which modelers work. This dissertation argues that effective reuse of coupling technologies can be achieved by decomposing existing coupling technologies into a salient set of implementation-independent features required for coupling high-performance models, increasing abstraction levels at which model developers work, and facilitating integration of coupling infrastructure with constituent models via component-based modularization of coupling features. The contributions of this research include: (1) a comprehensive feature model that identifies the multi-dimensional design space of coupling technologies used in high-performance Earth System Models, (2) Cupid, a domain-specific language and compiler for specifying coupling configurations declaratively and generating their implementations automatically, and (3) Component-based Coupling Operators (CC-Ops), a modular approach to code reuse of coupling infrastructure based on component technologies for high-performance scientific settings. The Cupid domain-specific language is evaluated by specifying a coupling configuration for an example fluid dynamics model and measuring the amount of code generated by the Cupid compiler compared to a hand coded version. The CC-Op approach is evaluated by implementing several CC-Ops using an existing high-performance component framework and measuring performance in terms of scalability and overhead.

Page generated in 0.0609 seconds