• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 72
  • 20
  • 16
  • 14
  • 10
  • 7
  • 5
  • 5
  • 3
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 178
  • 178
  • 53
  • 35
  • 31
  • 24
  • 24
  • 22
  • 22
  • 22
  • 18
  • 17
  • 16
  • 16
  • 15
  • 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.
61

Design and Validation of Configurable Filter for JAS 39 Gripen Mission Planning Data

Flodin, Per January 2009 (has links)
Saab Aerosystems, a part of Saab AB, has the overall responsibility for the development of the fourth generation fighter aircraft JAS 39 Gripen. When planning a mission for one or more aircrafts, a computer program called Mission Support System is used. Some of the data from the planning is then transferred to the actual aircraft. Today there are some unwanted restrictions in the planning software. One of these restrictions is about the fact that a number of parameters that controls the output from a planned mission are not configurable runtime, i.e. a reinstallation at customers location is needed to change this. The main purpose of this thesis was to propose a new design and a new framework that solves the inflexibility described above. The design should also be validated by a test implementation. A number of different designs were proposed and four of these were selected to be candidates for being implemented. An important tool used when developing the designs was the theory of design patterns. To choose one of the four a ranking system, based on both measurable metrics and non-measurable experience, was used. One design was selected to be the best and after implementing of the design it was considered to be valid. Future work can consist of rewriting all modules in the software to use the new framework.
62

Gränssnittsanalys av Video On Demand tjänster : En gränssnittsanalys av fyra stycken VOD-tjänster på fyra stycken plattformar / Interface analysis of Video On Demand services : An interface analysis of four VOD services on fourplatforms

Ask, Hanna January 2013 (has links)
This paper works as an assignment from the Video On Demand Company Headweb, who wanted aninterface analysis of their own and their competitors VOD services. The purpose is to help Headwebwith their own interface by studying theirs and others interfaces and make an analysis on how theyfunction, how they look and how good the usability is with every service, with hope to findsomething that could make the VOD service of Headweb better.I have also studied how the interfaces of the VOD services look on different platforms, to see howthey are designed as a whole. This has been an expert analysis where I have studied the differentVOD-services by myself, without any external users.To find advantages and disadvantages with the services and their platforms, I have used differenttheories, models and design patterns to frame areas such as filmsearch, categorization, registrationand navigation. I have compared the VOD services with each other and drew conclusions for eacharea to see how the interfaces differ between the services, but also between platforms.My analysis has shown that all VOD services in this project have a very unique interface, eventhough they all have the same goal, to allow the user to control their viewing of film. They usevarious functions and structure and use their own page names and categorizations. In this project, Ihave also found a number of changes that I recommend that Headweb does to their service toenhance the usability.
63

Quantitative Assessment of the Modularization of Security Design Patterns with Aspects

Edge, Crystal 01 January 2010 (has links)
Following the success of software engineering design patterns, security patterns are a promising approach to aid in the design and development of more secure software systems. At the same time, recent work on aspect-oriented programming (AOP) suggests that the cross-cutting nature of software security concerns makes it a good candidate for AOP techniques. This work uses a set of software metrics to evaluate and compare object-oriented and aspect-oriented implementations of five security patterns--Secure Base Action, Intercepting Validator, Authentication Enforcer, Authorization Enforcer, and Secure Logger. Results show that complete separation of concerns was achieved with the aspect-oriented implementations and the modularity of the base application was improved, but at a cost of increased complexity in the security pattern code. In most cases the cohesion, coupling, and size metrics were improved for the base application but worsened for the security pattern package. Furthermore, a partial aspect-oriented solution, where the pattern code is decoupled from the base application but not completely encapsulated by the aspect, demonstrated better modularity and reusability than a full aspect solution. This study makes several contributions to the fields of aspect-oriented programming and security patterns. It presents quantitative evidence of the effect of aspectization on the modularity of security pattern implementations. It augments four existing security pattern descriptions with aspect-oriented solution strategies, complete with new class and sequence diagrams based on proposed aspect-oriented UML extensions. Finally, it provides a set of role-based refactoring instructions for each security pattern, along with a proposal for three new basic generalization refactorings for aspects.
64

Ambiente para desenvolvimento de métodos aplicados a problemas de otimização / Environment for developing methods applied to optimization problems

Márcio da Silva Arantes 20 March 2014 (has links)
O presente documento tem por objetivo apresentar o desenvolvimento de uma ferramenta computacional para auxiliar profissionais da área de otimização na implementação de métodos e resolução de problemas. O projeto foi desenvolvido como tema de dissertação no Programa de Mestrado em Ciência da Computação e Matemática Computacional do ICMC/USP. A ferramenta pode ser enquadrada como um ambiente de desenvolvimento (framework) e será chamada de ProOF - Professional Optimization Framework. O ProOF tem como foco principal nortear a implementação computacional de métodos variados para problemas de otimização, utilizando como paradigma a programação orientada a objetos. Esse framework incorpora as principais características encontradas por outras ferramentas propostas na literatura. Além disso, procura facilitar a implementação de métodos e resolução de problemas ao permitir alto reuso de códigos, dar suporte a geração de códigos em diferentes linguagens de programação e gerar uma Graphical User Interface (GUI) automática para parametrização dos métodos inseridos pelo usuário. Alguns trabalhos publicados recentemente utilizaram versões em desenvolvimento do ProOF e serão citados como estudo de caso para atestar a robustez do framework proposto. Por fim, uma comparação será realizada entre o ProOF e outros frameworks existentes na literatura / This paper aims to present the development of a computational tool to assist professionals in the optimization field in implementation of methods and problem solving. The project was developed as dissertation topic in the Masters Program in Computer Science and Computational Mathematics at ICMC/USP. The tool can be considered as a development environment (framework) and will be called ProOF - Professional Optimization Framework. The ProOF is mainly focused on guiding the implementation of various computational methods for optimization problems using as a paradigm the object-oriented programming. This framework incorporating the principal features found in other tools proposed in the literature. Moreover, seeks to facilitate the implementation of methods and problem resolution by allowing high code reuse, give support to code generation in different programming languages and generate a Graphical User Interface (GUI) automatic for parameter setting of methods implemented by the user. Some recently published studies have used previous versions of the ProOF and they will be cited as a case study to attest the robustness of the proposed framework. Finally, a comparison will be made between the ProOF and other existing frameworks in the literature
65

Návrhové vzory v paralelních a distribuovaných systémech / Design Patterns for Parallel and Distributed Systems

Jurnečka, Peter Unknown Date (has links)
This Ph.D. thesis describes proposed notation and method for working with parallel design patterns, which allowes proposing of automatic corrections to existing parallel source code with help of refactoring. In order to define the proposed notation, this work must cover areas of static code analysis, formal description of parallel design patterns and refactoring. Static code analysis is used to analyse the existing parallel source code for definition of places where you want to insert specified design pattern. Formal description of design pattern allows you to automatically apply the pattern to the existing source code. Finally, refactoring allows you to edit an existing source code without changing its functionality. The first part is devoted to the description of the current status in these three areas e.g. code analysis, design patterns and refactoring. The second part is devoted to a description of the methodology and experimental verification of its deployment.
66

Contribution à la modélisation des applications temps réel d'aide à la conduite / Contribution to the modelling of real time advanced assistance systems

Marouane, Hela 16 October 2015 (has links)
Les systèmes d'aide à la conduite gèrent un grand volume de données qui doivent être mises à jour régulièrement. Cependant, ces systèmes ne permettent, ni de les stocker, ni de les gérer d'une manière efficace. Pour ces raisons, nous proposons l'intégration d'un système de bases de données temps réel (TR) dans les systèmes d'aide à la conduite. Cela permet d'améliorer la tolérance aux fautes, de réduire le nombre de transactions et de réduire leur temps de réponse. La gestion d'un grand volume de données et leurs contraintes TR rend ces systèmes plus complexes, ce qui rend leur modélisation plus difficile. Pour remédier à cette complexité, nous avons proposé trois patrons de conception en nous basant sur un processus de création de patrons. Ce processus permet de définir les étapes à suivre pour déterminer les fonctionnalités et les exigences du domaine d'aide à la conduite, d'une part, et de définir les règles d'unification pour générer les diagrammes UML de classes et de séquence, d'autre part. Pour représenter ces patrons, nous avons proposé le profil UML-RTDB2, pour tenir compte : (i) de l'expression de la variabilité des patrons, (ii) de la représentation des contraintes TR et des aspects non fonctionnels et (iii) des éléments instanciés à partir des patrons lors de la modélisation d'une application cible. Une fois les patrons créés, ils peuvent être réutilisés par les concepteurs pour modéliser des systèmes spécifiques. Pour cela, nous avons proposé un processus de réutilisation pour guider les concepteurs d'applications lors de la réutilisation des solutions de patrons. Enfin, nous avons procédé à l'évaluation de ces patrons en utilisant deux catégories de métriques. / Advanced Driver Assistance Systems (ADAS) manage an important volume of data that must be updated regularly. However, ADAS don't store, nor manage efficiently these data. For these reasons, we propose to integrate a real-time (RT) database system into ADAS. The integration of the RT database system allows improving the fault tolerance, reducing the number of transactions and minimizing their response time. The management of a lot of data makes these systems complex, thus, their design is highly difficult. To tackle this problem, we have proposed three patterns based on the pattern development process. This process allows defining the steps to follow in order to determine the functionalities and the requirements of the driver assistance domain on one hand, and defining the unification rules for the generation of the UML class and sequence diagrams, on the other hand. In order to represent these patterns, we have proposed UML-RTDB2 profile, which allows (i) expressing the variability of patterns, (ii) representing the real time constraints and the non functional properties and (iii) identifying the role played by each pattern element in a pattern instance. Once the proposed patterns are created, they can be reused by designers to model a specific application. For this reason, we have proposed a process to assist the applications designers when instantiating the patterns solutions. Finally, we have evaluated these patterns based on two categories of metrics.
67

Patterns of Trust in Ubiquitous Environments

Biel, Bettina, Grill, Thomas, Gruhn, Volker 08 November 2018 (has links)
In ubiquitous environments, users are exposed to public spaces and places where they are supposed to interact and provide also private information. In order to enhance user acceptance of such ubiquitous appliances they have to be designed to consider trust and trustworthiness already in the design phase. We focus on regarding trust in early phases and provide tools for designers by describing trust issues through patterns which are made available through design repositories. Such patterns help designers of ubiquitous applications to create designs quicker based on the availability of already proven solutions they can rely on.
68

Test-Driven Development in Clojure : An analysis of how differences between Clojure and Java affects unit testing and design patterns / Testdriven utveckling i Clojure : En analys av hur skillnader mellan Clojure och Java påverkar enhetstestning och designmönster

Nilsson, Niclas January 2015 (has links)
Agile methods and Test-Driven Development are well established methodologies within the software development industry. As a large part of today’s software development is done in Object-Oriented languages like Java it’s only natural that agile best practices have evolved to fit into the Object-Oriented paradigm. Clojure is a relatively young programming language that greatly differs from Object-Oriented languages and it’s thus not certain that these best practices can be directly applicable in Clojure development. This thesis attempts to identify key differences between Clojure and Java that may affect unit testing and the Test-Driven Development process. It finds that although the two languages are fundamentally the difference between them in regards to unit test creation and execution is small. The most striking consequence of Clojure’s lack of Object-Orientation is that dependency injection must be done between functions rather than between classes and objects. It’s also argued that the relative immaturity of the available Clojure development tools can have negative effects on the Test-Driven Development process. / Agila metoder och Testdriven Utveckling är väletablerade metoder inom mjukvaruindustrin. Då en stor del av dagens mjukvaruutveckling sker inom Objektorienterade språk som Java är det bara naturligt att agila best-practices har utvecklats för att passa den Objektorienterade paradigmen. Clojure är ett relativt ungt programmeringsspråk som skiljer sig kraftigt från Objektorienterade språk och det är därför inte självklart att dessa best-practices kan vara direkt applicerbara på utveckling i Clojure. Denna uppsats försöker identifiera de huvudskillnader mellan Clojure och Java som kan ha en direkt påverkan på enhetstestning och den Testdrivna Utvecklingsprocessen. Man upptäcker att det - de två språkens fundamentala skillnader till trots - endast finns små skillnader som påverkar skapandet och körandet av enhetstester. Den mest iögonfallande konsekvensen av bristen på Objektorientering i Clojure är att Dependency Injection måste ske på funktionsnivå, istället för klass- och objektsnivå. Man argumenterar även för att den relativa omogenheten hos verktyg som används vid mjukvaruutveckling i Clojure kan ha en negativ effekt på den Testdrivna Utvecklingsprocessen.
69

Teaching Patterns: A Pattern Language for Improving the Quality of Instruction in Higher Education Settings

Olson, Daren 01 December 2008 (has links)
One method for improving the appeal of instruction is found in Christopher Alexander’s work on architectural design patterns. In this qualitative research study, student comments on teacher/course evaluation forms were analyzed to generate six instructional design patterns. The teacher enthusiasm pattern encourages teachers to show (a) increased scholarship and enthusiasm towards the subject matter, (b) genuine concern and enthusiasm towards the students, and (c) mastery of and enthusiasm towards the act of teaching. The balanced curriculum pattern recommends that teachers (a) determine the appropriate depth or breadth of subject matter and communicate it to the students, (b) create a balanced schedule of activities, assignments, and tests, and (c) provide a variety of subject matter topics, instructional strategies, and media delivery technologies. The clear and appropriate assessments pattern directs teachers to (a) communicate the learning objectives related to each assessment, (b) ensure assessment methods are appropriate measures of the objectives, and (c) use fair criteria in grading and administering the assessments. The authentic connections pattern asks teachers to (a) help students understand the connections between the subject matter content and the world of work, (b) promote interpersonal connections between students through instruction and group work, as well as facilitate teacher-student connections by dealing with students honestly and fairly, and (c) encourage students to look at connections that go beyond workplace application and help students become better people. The flow of time pattern recommends that teachers (a) help students plan out their schedules for various time periods, and (b) synchronize the flow of instructional events with the flow of events occurring in the students’ personal lives. Finally, the negotiation and cooperation pattern encourages teachers to apply the processes of negotiation and cooperation to solve problems related to (a) the students’ lack of a sense of freedom, power, or control, (b) the conflict within the students or within the social order of the class, and (c) the general absence of a self-supporting, self-maintaining, and generating quality in the instruction. These six instructional design patterns may be used by teachers to increase the appeal of instruction in higher education settings.
70

Energy Consumption of Behavioral Software Design Patterns

Henmyr, Albert, Melnyk, Kateryna January 2023 (has links)
The environmental and economic implications of the increase in Information and Communication Technology energy consumption have become a topic of research in energy efficiency. Most studies focus on the energy estimation and optimization of lower tiers of the hardware and software infrastructures. However, the software itself is an indirect driver of energy consumption, therefore, its energy implications can be to some extent controlled by the software design. Software design patterns belong to high-level software abstractions that represent solutions to common design problems. Since patterns define the structure and behavior of software components, their application may come at energy efficiency costs that are not obvious to the software developers. The existing body of knowledge on energy consumption of software design patterns contains a number of gaps, some of which are addressed within the scope of this thesis project. More specifically, we conducted a series of experiments on the estimation of energy consumption of Visitor and Observer/Listener patterns within the context of non-trivial data parsing in Python. Furthermore, we considered a Patternless alternative for the same task. Additionally, our measurements include runtime duration and memory consumption. The results show that the Visitor pattern led to the largest energy consumption, followed by Observer/Listener and finally the Patternless version. We found a strong relationship between runtime duration and energy consumption, thus coming to the conclusion that the longest-running pattern is the most energy-consuming one. The findings of the current study can be beneficial for Python software developers interested in the energy implications of software design patterns.

Page generated in 0.0598 seconds