Spelling suggestions: "subject:"[een] DESIGN PATTERNS"" "subject:"[enn] DESIGN PATTERNS""
81 |
Tree Component Alternatives to the Composite Design PatternSudhir, Arun 31 January 2009 (has links)
The Composite design pattern is commonly employed in object-oriented languages to design a system of objects that form a part-whole hierarchical structure with composite objects formed out of primitive objects. The client does not differentiate between a composite object and a primitive object. The composite hierarchy effectively forms a tree-like hierarchical grouping of objects. From a software engineering perspective, there are at least two problems with the Composite pattern. First, it does not maintain a separation of concerns between the structure of the objects in a system and the objects themselves. The objects that comprise the system contain information about their relationship to other objects. This limits the ability of programmers to reuse the system's structural information. Secondly, there is no mechanism for encapsulating the system as a whole. This makes it difficult to specify and reason about global system properties. This thesis presents two tree components that can be used as alternatives to the Composite design pattern in systems that are traditionally implemented with the pattern. Both components are data structures that can contain arbitrary objects and maintain the structure of those objects as an ordered-tree. Since the components encapsulate only the tree structure, they only need to be specified and verified once, and they are available for black-box reuse. The first component is a traversable tree that maintains a conceptual "cursor" position. Methods are provided for inserting and removing objects at the cursor position, and for moving the cursor throughout the tree. The second component extends the traversable tree. A formal specification for each tree component is presented in the Tako language — a Java-like language with alias avoidance that is designed to facilitate specification and verification. A case study is presented that shows how the indexed tree can be used and reasoned about in an application — a text-based adventure game. Finally, a similar application is developed in Java, once using the composite pattern and once using the indexed tree data structure, and object-oriented metrics are given for both systems. / Master of Science
|
82 |
A Configurable Job Submission and Scheduling System for the GridKasarkod, Jeevak 01 September 2003 (has links)
Grid computing provides the necessary infrastructure to pool together diverse and distributed resources interconnected by networks to provide a unified virtual computing resource view to the user. One of the important responsibilities of the grid software is resource management and techniques to allow the user to make optimal use of the resources for executing applications. In addition to the goals of minimizing job completion time and achieving good throughput there are other minimum requirements such as minimum memory and cpu requirements, choice of operating system, fine grained file access permissions etc. Currently such requirements are being fulfilled by resource brokers, which act as mediating agents between users and resource owners.
In this thesis we approach the resource brokering architectural issue in a different manner. Instead of a monolithic broker, which performs all the superscheduling functions we propose a Modular Framework based Architecture for Task Initiation and Scheduling (MFATIC) based on the three main stages in the superscheduling process.
There are three major goals of this research. The first aim is to develop a decoupled architectural model that not only provides a clear distinction in the responsibilities of each of the components but also provides the user the flexibility to replace one component with another functionally equivalent component. Secondly each of these components should be configurable and extensible to be able to accommodate user requirements. Finally, the design should enable the user to plug in modules within components of different deployments of the resource broker and thus promoting software reuse. / Master of Science
|
83 |
Random Variate Generation Web ServiceSabah, Mohammad 12 September 2003 (has links)
Simulation and statistical applications often mimic the behavior of a random phenomenon by way of generating random observations that form a known or empirical probability distribution with estimated parameter values. Generation of such random observations is called Random Variate Generation (RVG). The number of simulation and statistical applications provided on the World Wide Web (Web) is on the rise. To facilitate the development of simulation and statistical applications on the Web by way of reuse, there is a need for providing RVG as a Web service. This research involves the development of such a Web service for RVG, which can be invoked programmatically over the Web by using SOAP over the HyperText Transfer Protocol (HTTP) running on top of the Internet. To provide the RVG Web service, an RVG Web application is developed based on the Java 2 Enterprise Edition (J2EE) architecture. The RVG Web application is engineered by using the IBM WebSphere Studio Application Developer and runs on the IBM WebSphere Application Server. A client simulation and statistical application may call the RVG Web service and request the generation of random variates from 27 probability distributions. In addition, the RVG Web service also provides general statistics, scatter plot, and histogram of the requested random variates. The plots and histograms are created in Scalable Vector Graphics (SVG). The RVG Web service: (a) accepts requests in the Extensible Markup Language (XML) format, which is specified according to a request schema, and (b) sends the results to the client application also in the XML format specified according to a reply schema. The interface specification and access information needed to invoke the RVG Web service are provided in the Web Service Description Language (WSDL) document. Any Web-based simulation or statistical application that needs generation of random variates, their scatter plots and histograms, can invoke the RVG Web service programmatically at http://sunfish.cs.vt.edu/RVGWebService . / Master of Science
|
84 |
Mitigating Kingmaking in Multiplayer Board Games : Exploring Rule Modification for Fair GameplayKarlsson, William, af Bjur, Oskar, Brandeborg, Victor, Cernohous, Cody January 2024 (has links)
This thesis explores how rule modification in multiplayer board games can affect the occurrence of kingmaking while still maintaining core functionality of the game. Kingmaking describes situations where a player with no chance of winning affects which other player wins. Through formal analysis, this thesis provides insight into how kingmaking is facilitated through design patterns and proposes rule changes that can help mitigate instances of kingmaking. The findings of this thesis are that there is no one solution that fits all games, and that a targeted rule modification is required on a game-by-game basis to mitigate kingmaking. The method allows game designers to strengthen fair gameplay, although its application needs to be adapted for each particular game.
|
85 |
Μοντελοποίηση εφαρμογών παγκόσμιου ιστού: αποδοτική αναζήτηση και εφαρμογή σχεδιαστικών λύσεων και προτύπων / Modelling web applications: efficient mining and application of design solutions and patternsΚατσίμπα, Θεοδώρα 16 May 2007 (has links)
Οι εφαρμογές παγκόσμιου ιστού προσφέρουν ολοένα και περισσότερες, με υψηλό βαθμό πολυπλοκότητας υπηρεσίες, σε σχέση με τους πρώτους ιστότοπους που χρησιμοποιούνταν απλά και μόνο για την προβολή πληροφοριών. Λόγω της ολοένα αυξανόμενης πολυπλοκότητας των εφαρμογών αυτών, ο σχεδιασμός, η ανάπτυξη κι η συντηρησιμότητα μιας εφαρμογής παγκόσμιου ιστού προβάλλει ως μία από τις μεγαλύτερες προκλήσεις που καλείται να αντιμετωπίσει ο σχεδιαστής της. Η ερευνητική κοινότητα προκειμένου να αντιμετωπίσει την αυξανόμενη πολυπλοκότητα του σχεδιασμού εφαρμογών παγκόσμιου ιστού έχει προτείνει ένα πλήθος προσεγγίσεων και μεθόδων βασισμένων σε μοντέλα. Η δουλειά του σχεδιαστή εφαρμογών παγκόσμιου ιστού μπορεί να απλοποιηθεί ακόμα περισσότερο με την επαναχρησιμοποίηση της εμπειρίας άλλων σχεδιαστών εφαρμογών παγκόσμιου ιστού. Η επαναχρησιμοποίηση της εμπειρίας αυτής γίνεται με χρήση σχεδιαστικών προτύπων που ορίζονται από πεπειραμένους σχεδιαστές. Αν κατά το σχεδιασμό μιας εφαρμογής χρησιμοποιηθεί κάποια μέθοδος μοντελοποίησης σε συνδυασμό με ένα σύνολο σχεδιαστικών προτύπων, η τελική εφαρμογή θα είναι πιο αποδοτική και ποιοτική. Πολλές φορές όμως, κατά το σχεδιασμό και την ανάπτυξη μιας εφαρμογής παγκόσμιου ιστού δε λαμβάνεται υπόψη κάποια συγκεκριμένη μεθοδολογία μοντελοποίησης και ανάπτυξης. Ένα πλήθος μεθόδων αντίστροφης μηχανίκευσης έχει αναπτυχθεί για την ανάλυση, κατανόηση και μοντελοποίηση των αρχιτεκτονικών τέτοιου είδους εφαρμογών. Στα πλαίσια της παρούσας διπλωματικής εργασίας μελετούνται οι μέθοδοι μοντελοποίησης που έχουν προταθεί από την ερευνητική κοινότητα, τα σχεδιαστικά πρότυπα που έχουν οριστεί καθώς και οι μέθοδοι και οι διαδικασίες αντίστροφης μηχανίκευσης που έχουν αναπτυχθεί. Επιπλέον προτείνεται μία μέθοδος αυτόματου εντοπισμού σχεδιαστικών λύσεων στο εννοιολογικό μοντέλο μιας εφαρμογής και μία μέθοδος αντίστροφης μηχανίκευσης με στόχο τη μοντελοποίηση της εφαρμογής. Αναλυτικά, η παρούσα διπλωματική εργασία είναι δομημένη ως εξής: Στο πρώτο κεφάλαιο παραθέτονται τα οφέλη χρήσης μοντέλων κατά το σχεδιασμό εφαρμογών παγκόσμιου ιστού, καθώς και οι βασικές απαιτήσεις που θα πρέπει να ικανοποιούν οι μέθοδοι μοντελοποίησης για την πληρέστερη μοντελοποίηση των χαρακτηριστικών των εφαρμογών παγκόσμιου ιστού. Επιπλέον, γίνεται επισκόπηση και παρουσίαση των κυριότερων μεθόδων μοντελοποίησης που έχουν προταθεί από την ερευνητική κοινότητα. Ιδιαίτερη βαρύτητα δίνεται στην παρουσίαση της γλώσσας μοντελοποίησης WebML, γιατί αποτελεί την γλώσσα μοντελοποίησης με βάση την οποία αναπτύχθηκαν οι μέθοδοι που προτείνονται στα κεφάλαια 3 και 4. Τέλος, στο κεφάλαιο αυτό γίνεται σύγκριση των προτεινόμενων μεθόδων μοντελοποίησης. Στο δεύτερο κεφάλαιο παρουσιάζονται τα οφέλη χρήσης σχεδιαστικών προτύπων τόσο από άπειρους όσο και από έμπειρους σχεδιαστές και δίνεται ένας επίσημος ορισμός των σχεδιαστικών προτύπων για τον παγκόσμιο ιστό. Επιπλέον, στα πλαίσια του κεφαλαίου αυτού γίνεται παρουσίαση των προτύπων δημοσίευσης και διαχείρισης περιεχομένου που έχουν οριστεί στη WebML. Για το σχεδιασμό πολύπλοκων εφαρμογών παγκόσμιου ιστού, ναι μεν το είδος επαναχρησιμοποίησης που προσφέρουν τα σχεδιαστικά πρότυπα παγκόσμιου ιστού είναι πολύτιμα, εν τούτοις απαιτείται η επαναχρησιμοποίηση όσο το δυνατόν μεγαλύτερων σχεδιαστικών δομών. Για το λόγο αυτό γίνεται αναφορά και παρουσίαση της επαναχρησιμοποίησης που υποστηρίζεται από τη χρήση σχεδιαστικών πλαισίων ανάπτυξης εφαρμογών παγκόσμιου ιστού. Στο τρίτο κεφάλαιο προτείνεται μία μέθοδος ανάκτησης αποδοτικών σχεδιαστικών λύσεων και σχεδιαστικών προτύπων μέσα στο εννοιολογικό σχήμα-μοντέλο μίας ή περισσότερων εφαρμογών παγκόσμιου ιστού. Η συγκεκριμένη μεθοδολογική προσέγγιση, αν εφαρμοστεί σε εννοιολογικά σχήματα πολλών εφαρμογών μίας συγκεκριμένης κατηγορίας, μπορεί να οδηγήσει στον προσδιορισμό πλαισίων ανάπτυξης εφαρμογών για τον αποδοτικό σχεδιασμό εφαρμογών της συγκεκριμένης αυτής κατηγορίας, ή ακόμα και στον αυτόματο εντοπισμό σχεδιαστικών προτύπων. Τέλος, στο τέταρτο κεφάλαιο παρουσιάζονται ο ερευνητικός χώρος της αντίστροφης μηχανίκευσης, τα συστατικά που αποτελούν μία εφαρμογή παγκόσμιου ιστού, καθώς και ο τύπος της πληροφορίας που απαιτείται να εξαχθεί από μία διαδικασία αντίστροφης μηχανίκευσης, έτσι ώστε να γίνει κατανοητή και αντιληπτή η αρχιτεκτονική μιας τέτοιας εφαρμογής. Προτείνεται επίσης μια μέθοδος αντίστροφης μηχανίκευσης εφαρμογών παγκόσμιου ιστού, με στόχο τη μοντελοποίησή τους με χρήση της WebML και παρουσιάζεται το εργαλείο που αναπτύχθηκε στα πλαίσια της διπλωματικής εργασίας, για να υποστηρίξει την προτεινόμενη μέθοδο. Η εφαρμογή του σε μία εφαρμογή προβολής περιεχομένου έδωσε ενθαρρυντικά αποτελέσματα όσον αφορά τη λειτουργικότητα και την αποτελεσματικότητα της μεθόδου. / Web Applications provide many services and they are not used just to display content, as it was the case for the first web sites. Due to the growing complexity, the design, development and maintenance of these aplications has become one of the major challenges that the developer has to face. In an attempt to face this growing complexity, the research community has proposed a number of model based approaches and methods. The task of the hypertext architect may be further facilitated by reusing the experience of other hypertext architects. This reuse is achieved by means of design patterns that have been defined by experts. If, we make use of a modelling method in combination with design patterns when designing a web application, the final result will be more efficient and qualitative. Usually, due to the pressing market demands, the modeling methods or techniques are not applied during the degin and development of the web applications. A number of reverse engineering methods and tools have been proposed in order to analyse, comprehend and model the architectures of such applications. In this thesis, we study the various modelling methods that have been proposed, as well as the design paterns that have been defined and the reverse engineering methods that have been developed. Furthermore, we propose a method to automatically detect design solutions at the conceptual schema of a web application and a reverse engineering method in order to model an existing web application. Analytically, this master thesis is being structured in the following chapters: The first chapter presents the benefits of using models when designing web applications, as well as the requirements that a web application must satisfy in order to be able to model the features of the web applications. The main modelling methods, that have been proposed by the research community, are also presented. The Web modelling language (WebML) is extensively presented as it constitutes the model language with which the methods that we suggest in chapters 3 and 4 have been developed. In the end of this chapter, we make a comparison of the proposed modelling methods. In the second chapter we present the benefits gained when using design patterns by non-experienced as well by experienced developers. Moreover, we present the patterns that have been defined in WebML. Though the kind of reuse provided by patterns is valuable when designing web applications, complex web applications need a way to maximize reuse of larger design structures. For this reason, we also present the kind of reuse that is provided by using web application frameworks. In the third chapter we propose a methodology for retrieving effective design solutions, or even more design patterns, within the conceptual schema of one or more web applications. This approach, if applied to a large number of applications of the same domain, may lead to the identification of templates for specific domain Web application frameworks and to the discovery of new design patterns. The fourth and last chapter of this thesis focuses on reverse engineering. We present the work that has been done in the domain of reverse engineering, the components of a web application, and the type of information that should be retrieved by a reverse engineering approach in order to comprehend the architecture of the web application. We also suggest a reverse engineering method in order to model an existing web application using WebML. The tool that was implemented in order to support this method is also presented. Applying this method in a content management application gave us good results as far as its functionality and its effectiveness are concerned.
|
86 |
Design Patterns und CSCL-Scripts für hypervideo-basierte LernumgebungenSeidel, Niels 10 October 2014 (has links) (PDF)
Gegenstand des Promotionsvorhabens ist die Anwendung der Mustertheorie als systemtheoretische Methode zur Beschreibung verbreiteter Lösungen für wiederkehrende Probleme bei der Gestaltung und Entwicklung videobasierter Lernumgebungen. Diese sogenannten Design Patterns beschreiben dabei abstrakte, generische Lösungen bezüglich des Wissensmanagements, der sozialen Interaktion und der Anreicherung von Inhalten in hypervideo-basierten Lernumgebungen. Um neben rezeptiven und selbstgesteuerten auch kollaborative Lernszenarien in solchen Lernumgebungen zu ermöglichen, werden Materialien, Aufgaben sowie Gruppenzusammensetzungen mit Hilfe von CSCL-Scripts strukturiert. Auf Grundlage der entwickelten Design Patterns und Scripts wurden ein Software-Framework sowie mehrere Lernumgebungen implementiert und in Feldstudien evaluiert.
|
87 |
Automatisk uppspelning på Netflix: Sambandet mellan funktionen och hur mycket användaren binge-tittar / Post-Play on Netflix: The correlation between the feature and the extent to which the user binge watchesScholz, Anne-Charlot, Andersen, Adelina January 2019 (has links)
Netflix är en streamingtjänst som har hjälpt till att mynta termen för fenomenet binge-tittande, vilket i det här arbetet definieras som att titta på minst tre avsnitt av en serie i sträck. Tjänsten använder sig av en funktion som kallas automatisk uppspelning som förhandsgranskar nästa avsnitt av en TV-serie efter att användaren har avslutat föregående avsnitt och därefter automatiskt spelar upp det efter ett antal sekunder har passerat. Frågan som undersöks i denna uppsats är huruvida automatisk uppspelning på Netflix har en inverkan på hur mycket användare binge-tittar. Detta i hopp om att användare som binge-tittar kan bli mer medvetna om en eventuell inverkan funktionen har på deras tittarvanor och därför kan göra ett mer informerat val kring att använda funktionen eller inte. Relaterad forskning som är relevant för det här arbetet är studier om flow experience, beroende, dark design patterns och tidigare undersökningar kring Netflix. Frågeställningen undersöktes genom att genomföra intervjuer med en testgrupp av studenter från KTH samt dokumentera, jämföra och analysera data från deras tittarhistorik på Netflix. Testgruppen blev ombedda att inaktivera automatisk uppspelning i en vecka och historiken från testperioden jämfördes sedan med den från veckan innan. Resultatet från studien visar att inaktiveringen av funktionen ledde till en minskning på 45 minuter av den tid som individerna binge-tittade per tillfälle. Däremot hittades ingen signifikant inverkan på tittarvanorna hos testpersonerna i form av antalet tillfällen och hur länge de binge-tittade, samt hur många avsnitt de såg per binge-tillfälle. Det konstaterades även att inaktiveringen av automatisk uppspelning ökade medvetenheten om testgruppens binge-tittande, vilket talar för att automatisk uppspelning ökar användarens flow experience. Detta skulle eventuellt kunna medföra att funktionen ökar risken för ett beroende av binge-tittande. Andra aspekter som upptäcktes under undersökningen men inte undersöktes vidare och därför kan vara fokuspunkter för efterföljande studier inkluderar den inverkan automatisk uppspelning har på tittarvanor när användaren binge-tittar aktivt versus passivt samt vid binge-tittande på olika enheter. / Netflix is a streaming service that has helped coin the term for the phenomenon of binge watching, which in this essay is defined as watching at least three episodes of a tv-series back-to-back. Netflix provides a feature called post-play which previews the next episode of a TV series after having finished the previous one and then automatically plays it after a couple of seconds. The question examined in this essay is whether post-play on Netflix has a significant impact on the extent to which users binge watch. This is done in the hope of making users who binge watch more aware of any possible influence the feature can have on their binging-habits and therefore being able to make a more informed choice about disabling post-play or not. Related research that was relevant to this paper include studies on flow experience, addiction, dark design patterns and previous studies surrounding Netflix. The thesis was investigated by conducting interviews with a test group of students from KTH as well as documenting, comparing and analyzing their viewing-history on Netflix. The test group was asked to disable post-play during a week and the viewing-history from the test period was then compared to that from the week before. The results of the study showed that disabling of the feature led to the users reducing the amount of time they spent binge-watching per binge-session by 45 minutes. There was however no evidence of the function having a significant impact on the viewing-habits of the subjects in terms of the amount of episodes watched per binge-session or the overall amount of instances and hours they binge-watched during the test period. It was found that the disabling of post-play raised the awareness of binge watching in the subject, which indicates that post-play increases the flow experience for the user. This would subsequently suggest that the feature heightens the risk for addiction to binge watching. Aspects that were discovered but not examined and could therefore be focus points of subsequent studies include the impact of post-play on viewing habits when binge watching actively vs passively and when binge watching on different units.
|
88 |
CAPS: AN EGLIN RANGE STANDARD FOR PC-BASED TELEMETRY DATA REDUCTIONThomas, Tim 10 1900 (has links)
International Telemetering Conference Proceedings / October 21, 2002 / Town & Country Hotel and Conference Center, San Diego, California / A need exists to provide a flexible data reduction tool that minimizes software development costs and reduces analysis time for telemetry data. The Common Airborne Processing System (CAPS), developed by the Freeman Computer Sciences Center at Eglin AFB, Florida, provides a generalpurpose data reduction capability for digitally recorded data on a PC. Data from virtually any kind of MIL-STD-1553 message or Pulse Code Modulation (PCM) frame can be extracted and converted to engineering units using a parameter dictionary that describes the data format. The extracted data can then be written to a file, ASCII or binary, with a great deal of flexibility in the output format. CAPS has become the standard for digitally recorded data reduction on a PC at Eglin. New features, such as composing derived parameters using mathematical expressions, are being added to CAPS to make it an even more productive data reduction tool. This paper provides a conceptual overview of the CAPS version 2.3 software.
|
89 |
Reifying Game Design Patterns : A Quantitative Study of Real Time Strategy GamesBerg, Jens, Högye, Tony January 2017 (has links)
Communicating design is in many aspects a difficult process. Game design is not only directives on look and feel, but also carries intentionality. To properly convey intentionality, a common abstract vocabulary is a well-established method for expressing design. Game design patterns are an attempt to formalize and establish such a vocabulary. Game design patterns are a debated tool and this paper aims to examine the practical application of a pattern through a quantitative study in order to strengthen the potential for a more cohesive definition of the term. This is done by first establishing a game design pattern through observation of RTS games. The pattern is then studied through implementation in three commercial RTS games. The results focus on quantitative data gathered from AI vs AI matches related to game pacing. Through testing and analysis of the AI matches it can be stated that game design patterns in a contextualized setting supports the idea of using game design patterns as a formal tool. It was further concluded that the AI also came with limitations in how the collected data is applicable to the overall design of the games. Additional studies using quantitative data in conjunction with qualitative observations could lend further support to game design patterns as a useful tool for both researchers and developers. / Kommunikation av design är i många avseenden en invecklad process. Design av spel innebär inte enbart riktlinjer för utseende och känsla, utan också intentionalitet. En beprövad metod för att uttrycka design och intentionalitet är skapandet av ett gemensamt vokabulär. Game design patterns är ett försök att upprätta och formalisera just ett sådant vokabulär inom speldesign. Game design patterns är ett debatterat verktyg och detta arbetet ämnar undersöka den praktiska tillämpningen av ett pattern genom en kvantitativ studie för att stärka potentialen för en mer sammanhängande definition av termen. Detta utförs genom att först etablera ett game design pattern med hjälp av observation av RTS-spel. Sedan studeras det genom implementation i tre kommersiella RTS-spel. Resultatet fokuseras på kvantitativ data relaterat till pacing som insamlas från matcher mellan två AI. Genom analys av AI-matcherna kan det anses att game design pattern i en kontextualiserad inramning stöder teorin att använda design patterns som ett formellt designverktyg. Vidare drogs slutsatsen att användandet av AI också innebär begränsningar i hur tillämplig den insamlade datan är i den övergripande designen av spel. Fler studier med kvantitativ data ihop med kvalitativa observationer kan ytterligare stödja idén om game design pattern som ett användbart verktyg för både forskare och utvecklare inom spel.
|
90 |
Development of a Calibration Tool using CCP and XCP on CAN BusShivam, Satyesh 13 December 2016 (has links) (PDF)
Testing of the Electronic Control Unit is a very important step before delivering the software to customer. Due to increasing complexity in the requirements and the timing constraints, it is needed that the testing should be proper and on time. To meet the timing constraints it is needed to automate the entire process of testing. Although the current testing tool support the automation process, it is very slow. In this thesis a new tool has been developed which will support calibration using CCP and XCP on CAN bus. Secondly, the tool will also provide the feature of automation, where user can write their own script to test the ECU. This will make the entire process of testing very fast. Finally both the solutions will be compared with respect to time for deducing the final conclusion.
|
Page generated in 0.0474 seconds