• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 88
  • 20
  • 20
  • 16
  • 12
  • 7
  • 5
  • 5
  • 3
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 203
  • 203
  • 63
  • 42
  • 38
  • 30
  • 27
  • 26
  • 24
  • 23
  • 20
  • 20
  • 18
  • 18
  • 18
  • 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.
111

Virtual Frameworks for Source Migration

Chi, Jack January 2004 (has links)
<em>Virtual Frameworks</em> for source migration is a methodology to extract classes and interfaces from one or more frameworks used by an application. After migration, a new set of frameworks called virtual frameworks can replace the original frameworks used. The classes and interfaces extracted are used to create a proxy layer for these new frameworks. The application then depends on this proxy layer, and through it the new frameworks, rather than on the original frameworks. A combination of three patterns: Bridge, Adapter, and Proxy are used in these new frameworks. By doing so the changes made to the application source code are minimized during migration.
112

Rollen und Kollaborationen in Scala / Roles and Collaborations in Scala

Pradel, Michael 26 June 2008 (has links) (PDF)
The interrelations of a set of software objects are usually manifold and complex. Common object-oriented programming languages provide constructs for structuring objects according to shared properties and behavior, but fail to provide abstraction mechanisms for the interactions of objects. Roles seem to be a promising approach to solve this problem as they focus on the behavior of an object in a certain context. Combining multiple roles yields collaborations, an interesting abstraction and reuse unit. However, existing approaches towards roles in programming languages require vast extensions of the underlying language or even propose new languages. We propose a programming technique that enables role-based programming with commonly available language constructs. Thus, programmers can express roles and collaborations by simply using a library, and hence, without the need to change the language, its compiler, and its tools. We explain our proposal on a language-independent level. Moreover, we provide an implementation in form of a library for the Scala programming language. Finally, we apply our ideas to design patterns and analyze to which extent these can be expressed and reused with roles. / Die Zusammenhänge zwischen Softwareobjekten sind vielfältig und komplex. In den meisten objektorientierten Programmiersprachen werden Objekte an Hand von gemeinsamen Eigenschaften und Verhalten klassifiziert. Konstrukte zum Strukturieren bezüglich ihrer Interaktionen fehlen jedoch. Ein vielversprechender Lösungsansatz sind Rollen, welche das Verhalten von Objekten in einem bestimmten Kontext beschreiben. Zusammenhängende Rollen können zu Kollaborationen abstrahiert werden. Diese sind insbesondere als wiederverwendbare Bausteine interessant. Allerdings verändern bisherige Ansätze zu rollenbasiertem Programmieren die zu Grunde liegende Sprache erheblich oder schlagen gar neue Sprachen vor. Im Gegensatz dazu zeigen wir eine Programmiermethode, die rollenbasiertes Programmieren mit üblichen Sprachkonstrukten ermöglicht. Somit können Rollen und Kollaborationen als Bibliothek bereitgestellt werden, also ohne Sprache, Compiler und Werkzeuge anpassen zu müssen. Wir erläutern unseren Ansatz zunächst sprachunabhängig. Desweiteren wird eine Implementierung als Bibliothek für die Scala Programmiersprache präsentiert. Als praktische Anwendung stellen wir Entwurfsmustern dar und überprüfen, inwiefern sich diese mit Rollen ausdrücken und wiederverwenden lassen.
113

Klausimynų projektavimo šablonų kalba / A pattern language for questionnaire design

Žilinskas, Tomas 16 January 2007 (has links)
This thesis describes a methodology presented in a pattern language for design of questionnaire / survey information systems. It is intended to be used by professional programmers with negligible experience in the domain of questionnaire / survey software. A system of individual and discrete design patterns of various types is interconnected by varying relations enabling the user to navigate effortlessly and to implement a customizable level of expertise contained within the language. The design patterns contain expert knowledge about construction and contents of a universal high-end questionnaire / survey information system. Data structures, graphical user interface and psychological ramifications of questions’ formulations are discussed in detail. The descriptions of two different prototypes of information systems are supplied. They were created using the expertise of the pattern language and serve as a proof of eligibility for it. The innovation in the thesis is driven by the absence of pattern language for questionnaire design, usage of various types of design patterns / relations in the created language and the very design of universal metadata-based questionnaire information system described in the created language.
114

Analyse, à l'aide d'oculomètres, de techniques de visualisation UML de patrons de conception pour la compréhension de programmes

Cepeda Porras, Gerardo January 2008 (has links)
Mémoire numérisé par la Division de la gestion de documents et des archives de l'Université de Montréal
115

Investigation, Improvement and Development of Aspect-Oriented Design Patterns / Aspektinio projektavimo šablonų tyrimas, tobulinimas ir kūrimas

Vaira, Žilvinas 26 April 2012 (has links)
Software systems are permanently changed in order to meet new requirements and to adapt them to permanently changing technology. Design modularity decouples design concerns that probably can be changed and in this way facilitates further system changes. Unfortunately, some design concerns, called crosscutting concerns, cannot be modularized using traditional modularization methods and techniques. Modularization of crosscutting concerns is the research subject of the new emerging software engineering paradigm, aspect-oriented analysis and design. However, this paradigm is still not enough mature. It is still unknown, which design patterns developed in the object-oriented paradigm can be adapted for aspect-oriented paradigm and how to transform them from one paradigm to another in a systematic way. Despite the fact that some attempts have been done to solve this problem, the proposed solutions only eliminate crosscutting concerns in object-oriented design patterns, but do not generate pure aspect-oriented patterns. The thesis defines the class of object-oriented design patterns which can be transformed into pure aspect-oriented ones, proposes a systematic procedure for such transformation and investigates properties of resulting patterns from the viewpoint of their applicability in the design of aspect-oriented domain frameworks. This is the main contribution of the research work. The case study methodology has been used for the experimental research of the properties of... [to full text] / Programų sistemos yra dažnai keičiamos, siekiant jas pritaikyti prie pasikeitusių reikalavimų ir dėl nuolat kintančių technologijų. Modulinė sistemos architektūra įgalina nepriklausomus dalykinius turinius realizuoti nepriklausomais ar nedaug vienas nuo kito priklausomais moduliais, kuriuos galima keisti nepriklausomai vienas nuo kito. Tačiau esamomis priemonėmis galima atskirti ne visus turinius. Kai kurie dalykiniai turiniai yra susipynę tarpusavyje ir jų negalima realizuoti savarankiškais moduliais. Šiai problemai spręsti buvo pasiūlyta nauja programų sistemų inžinerijos paradigma – aspektinė paradigma. Tačiau sistemų projektavimo technologija joje kol kas dar nėra pakankamai brandi. Vis dar nėra žinoma, kuriuos objektinio projektavimo šablonus galima panaudoti aspektinėje paradigmoje ir kaip juos transformuoti, keliant iš vienos paradigmos į kitą. Nors keliuose darbuose yra parodoma, kaip objektinių šablonų realizacijas perrašyti aspektinėmis programavimo kalbomis, nė viename iš jų šablonų transformavimo klausimai nebuvo nagrinėti sistemiškai. Šioje disertacijoje nagrinėjami grynieji aspektinio projektavimo šablonai, kurie buvo transformuoti iš objektinių projektavimo šablonų, apibrėžiama sistemiška tokio transformavimo procedūra ir analizuojamas tokių šablonų taikymas aspektiniams dalykiniams karkasams projektuoti. Atskiro atvejo analizės tyrimo metodas disertacijoje yra naudojamas, siekiant išsiaiškinti, kokį poveikį grynieji aspektiniai šablonai padaro aspektinių... [toliau žr. visą tekstą]
116

Aspektinio projektavimo šablonų tyrimas, tobulinimas ir kūrimas / Investigation, Improvement and Development of Aspect-Oriented Design Patterns

Vaira, Žilvinas 26 April 2012 (has links)
Programų sistemos yra dažnai keičiamos, siekiant jas pritaikyti prie pasikeitusių reikalavimų ir dėl nuolat kintančių technologijų. Modulinė sistemos architektūra įgalina nepriklausomus dalykinius turinius realizuoti nepriklausomais ar nedaug vienas nuo kito priklausomais moduliais, kuriuos galima keisti nepriklausomai vienas nuo kito. Tačiau esamomis priemonėmis galima atskirti ne visus turinius. Kai kurie dalykiniai turiniai yra susipynę tarpusavyje ir jų negalima realizuoti savarankiškais moduliais. Šiai problemai spręsti buvo pasiūlyta nauja programų sistemų inžinerijos paradigma – aspektinė paradigma. Tačiau sistemų projektavimo technologija joje kol kas dar nėra pakankamai brandi. Vis dar nėra žinoma, kuriuos objektinio projektavimo šablonus galima panaudoti aspektinėje paradigmoje ir kaip juos transformuoti, keliant iš vienos paradigmos į kitą. Nors keliuose darbuose yra parodoma, kaip objektinių šablonų realizacijas perrašyti aspektinėmis programavimo kalbomis, nė viename iš jų šablonų transformavimo klausimai nebuvo nagrinėti sistemiškai. Šioje disertacijoje nagrinėjami grynieji aspektinio projektavimo šablonai, kurie buvo transformuoti iš objektinių projektavimo šablonų, apibrėžiama sistemiška tokio transformavimo procedūra ir analizuojamas tokių šablonų taikymas aspektiniams dalykiniams karkasams projektuoti. Atskiro atvejo analizės tyrimo metodas disertacijoje yra naudojamas, siekiant išsiaiškinti, kokį poveikį grynieji aspektiniai šablonai padaro aspektinių... [toliau žr. visą tekstą] / Software systems are permanently changed in order to meet new requirements and to adapt them to permanently changing technology. Design modularity decouples design concerns that probably can be changed and in this way facilitates further system changes. Unfortunately, some design concerns, called crosscutting concerns, cannot be modularized using traditional modularization methods and techniques. Modularization of crosscutting concerns is the research subject of the new emerging software engineering paradigm, aspect-oriented analysis and design. However, this paradigm is still not enough mature. It is still unknown, which design patterns developed in the object-oriented paradigm can be adapted for aspect-oriented paradigm and how to transform them from one paradigm to another in a systematic way. Despite the fact that some attempts have been done to solve this problem, the proposed solutions only eliminate crosscutting concerns in object-oriented design patterns, but do not generate pure aspect-oriented patterns. The thesis defines the class of object-oriented design patterns which can be transformed into pure aspect-oriented ones, proposes a systematic procedure for such transformation and investigates properties of resulting patterns from the viewpoint of their applicability in the design of aspect-oriented domain frameworks. This is the main contribution of the research work. The case study methodology has been used for the experimental research of the properties of... [to full text]
117

Software Engineering Best Practices for Parallel Computing Development

patney, vikas January 2010 (has links)
In today’s computer age, the numerical simulations are replacing the traditional laboratory experiments. Researchers around the world are using advanced computer software and multiprocessor computer technology to perform experiments, and analyse these simulation results to advance in their respective endeavours. With a wide variety of tools and technologies available, it could be a tedious and time taking task for a non-computer science researcher to choose appropriate methodologies for developing simulation software The research of this thesis addresses the use of Message Passing Interface (MPI) using object-oriented programming techniques and discusses the methodologies suitable to scientific computing, also, propose a customized software engineering development model.
118

Elimination of redundant polymorphism queries in object-oriented design patterns

Brown, Rhodes Hart Fraser 07 May 2010 (has links)
This thesis presents an investigation of two new techniques for eliminating redundancy inherent in uses of dynamic polymorphism operations such as virtual dispatches and type tests. The novelty of both approaches derives from taking a subject-oriented perspective which considers multiple applications to the same run-time values, as opposed to previous site-oriented reductions which treat each operation independently. The first optimization (redundant polymorphism elimination -- RPE) targets reuse over intraprocedural contexts, while the second (instance-specializing polymorphism elimination -- ISPE) considers repeated uses of the same fields over the lifetime of individual object and class instances. In both cases, the specific formulations of the techniques are guided by a study of intentionally polymorphic constructions as seen in applications of common object-oriented design patterns. The techniques are implemented in Jikes RVM for the dynamic polymorphism operations supported by the Java programming language, namely virtual and interface dispatching, type tests, and type casts. In studying the complexities of Jikes RVM's adaptive optimization system and run-time environment, an improved evaluation methodology is derived for characterizing the performance of adaptive just-in-time compilation strategies. This methodology is applied to demonstrate that the proposed optimization techniques yield several significant improvements when applied to the DaCapo benchmarks. Moreover, dramatic improvements are observed for two programs designed to highlight the costs of redundant polymorphism. In the case of the intraprocedural RPE technique, a speed up of 14% is obtained for a program designed to focus on the costs of polymorphism in applications of the Iterator pattern. For the instance-specific technique, an improvement of 29% is obtained for a program designed to focus on the costs inherent in constructions similar to the Decorator pattern. Further analyses also point to several ways in which the results of this work may be used to complement and extend existing optimization techniques, and provide clarification regarding the role of polymorphism in object-oriented design.
119

Thinking Outside the Lootbox : Balancing on the Scale of Gacha

Alonso, Kevin, Jigvall, Erik January 2018 (has links)
Lootboxes currently cause a frequent debate in the games industry where the discussion is often focused on the connection to gambling. In this thesis an addition to this debate is made by taking a closer look at Gacha design – a way to design games around monetization – through theory and player opinions. Conclusions point to that if Gacha is viewed as a spectrum of strength the discussion can benefit from an increased understanding of all monetization systems within games regardless of their abstract definitions. The data was collected through focus groups and analyzed based on current research of the common topics that surfaced during the focus group discussions. The thesis found that overall knowledge surrounding Gacha was lacking and by looking at Gacha as a design method opened up for a broader discussion with connections to Lootboxes. / Lootboxes orsakar för närvarande en återkommande debatt inom spelindustrin där diskussionens fokus ofta är kring kopplingen till hasardspel. I detta examensarbete görs ett tillägg till debatten genom en närmre undersökning av Gacha design – vilket är ett designverktyg för inkomstgenerering – genom teori och spelares åsikter. Slutsatserna pekar mot att om Gacha är sett som ett spektrum av styrka kan diskussionen nyttjas för att bidra till en ökad förståelse av alla former av inkomstgenereringssystem inom spel oberoende av deras abstrakta definitioner. Data samlades genom fokusgrupper och analyserades utifrån nuvarande forskning runt de vanligaste ämnen som uppstod under fokusgruppernas diskussioner. Detta examensarbetet fann att den övergripande kunskapen kring Gacha var begränsad och genom att titta på Gacha som en design method öppnade upp för en bredare diskussion med kopplingar till Lootboxes.
120

BUSCA POR OPORTUNIDADES DE REFATORAÇÃO PARA APLICAÇÃO DE PADRÕES DE PROJETO / SEARCHING FOR REFACTORING OPPORTUNITIES TO APPLY DESIGN PATTERNS

Pauli, Guinther de Bitencourt 27 August 2014 (has links)
It is difficult to maintain and to adapt poorly written code presenting shortcomings in its structure. Refactoring techniques are used to improve the source code and the structure of applications, making them better and easier to modify. Design patterns are reusable solutions used in similar problems in object-oriented systems, so there is no need to recreate the solutions. Applying design patterns in the context of refactoring in a corrective way becomes a desired activity in the life cycle of a specific software system. However, for medium and large-scale projects, the manual examination of artifacts to find problems and opportunities to apply a design pattern is a hard task. In this context, we present a set of metric-based heuristic functions to detect where a design pattern can be applied in a given project, more specifically, the Strategy, Factory Method, Template Method, Creation Method and Chain Constructors patterns. To evaluate the heuristic functions and its results we have also built a tool to show the results. This tool can examine source code traversing ASTs (Abstract Syntax Trees), searching for opportunities to apply the patterns, indicating the exact location in the source code where the pattern is suggested, also showing some evidences used in the detection. / Manter e adaptar código mal escrito, com problemas estruturais, é uma tarefa difícil. As técnicas de refatoração são usadas para melhorar o código e a estrutura de aplicações, aumentando sua qualidade e tornando-as mais fáceis de serem modificadas. Padrões de projeto são soluções reutilizáveis usadas para resolver problemas comumente encontrados em sistemas orientados a objetos. A aplicação de padrões de projeto no contexto de refatoração usando uma abordagem corretiva torna-se uma atividade interessante no ciclo de vida de um sistema de software. Contudo, para projetos de média e larga-escala, examinar manualmente os artefatos de software na busca por problemas e oportunidades para aplicar um determinado padrão de projeto é uma tarefa árdua e difícil. Nesse contexto, apresentamos um conjunto de funções heurísticas baseadas em métricas que permitem detectar onde um padrão de projeto pode ser aplicado nos artefatos de código de um determinado projeto, mais especificamente, os padrões de projeto Strategy, Factory Method, Template Method, Creation Method e Chain Constructors. Para avaliar as funções propostas, desenvolvemos uma ferramenta que avalia código-fonte e exibe possíveis oportunidades para aplicar uma refatoração rumo a tais padrões. Essa ferramenta foi desenvolvida usando-se ASTs (Abstract Syntax Trees), procurando por oportunidades de refatoração, indicando os locais no código fonte onde o padrão é sugerido e mostrando algumas evidências usadas para a detecção.

Page generated in 0.1134 seconds