• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 15
  • 2
  • 1
  • Tagged with
  • 23
  • 8
  • 8
  • 8
  • 8
  • 7
  • 7
  • 6
  • 6
  • 5
  • 5
  • 4
  • 4
  • 4
  • 4
  • 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.
11

Adaptability and encapsulation in dynamically typed languages : taming reflection and extension methods / Adaptabilité et encapsulation dans les langages dynamiquement typés : contrôler la réflexion et les méthodes d’extension

Teruel, Camille 21 January 2016 (has links)
Les utilisateurs s'attendent à ce que les logiciels soient à la fois continuellement disponibles et mis-à-jour à la volée. L'introduction de nouvelles fonctionnalités et l'intégration de correctifs ne doit pas perturber la bonne marche d'une application. Les développeurs bénéficient aussi de la modification dynamique des logiciels en adaptant le code à de nouvelle situations ou bien an exécutant des analyses dynamiques à des fins de monitorage, de déboguage et d’optimisation. Les langages de programmation doivent donc fournir aux développeurs des mécanismes qui améliorent l'adaptabilité logicielle. Dans le même temps, l'augmentation de la taille et de la complexité des logiciels requièrent des applications faites de nombreux composants développés par différents groupes. Dans ce contexte chaque composant doit être convenablement protégé des autres. Les langages de programmation doivent donc aussi fournir des mécanismes qui améliorent l'encapsulation. Le besoin de supporter des adaptations dynamiques d'un côté, et le besoin d'avoir des composants convenablement confinés d'un autre, poussent la conception des langages de programmation dans deux directions opposées: soit plus de flexibilité, soit plus de contrôle. Cette dissertation étudie cette tension dans le contexte des langages orientée-objet dynamiquement typés via deux mécanismes qui promeuvent l'adaptabilité logicielle: la réflexion et les méthodes d’extension. Pour chacun de ces mécanismes, nous démontrons leur utilité, leurs effets néfastes sur l'encapsulation et proposons des solutions qui conservent leurs forces tout en maintenant l'encapsulation. / Users expect modern software to be both continually available and updated on the fly. Introduction of new features and integration of bug fixes should not trouble the smooth running of an application. Developers also benefit from dynamic modifications of software by adapting code to new unanticipated situations or by running dynamic analyses to get feedback about the behavior of running applications for monitoring, debugging and optimization purposes. Programming languages should thus provides developers with mechanisms that improve software adaptability. At the same time, the increasing size and complexity of software call for applications made up of many interacting components developed by different parties. In this context, each component needs to be properly protected from other ones. Programming languages should thus provide developers with mechanisms that improve encapsulation. The need for dynamic adaptations on the one hand and the need for properly confined components on the other hand pulls programming language design in two opposite directions: either more flexi-bility or more control.This dissertation studies this tension in the context of dynamically-typed object-oriented languages with two language mechanisms that promote software adaptability: reflection and extension meth-ods. For both mechanisms, we demonstrate their usefulness, their harmful effect on encapsulation and propose solutions to retain their power while maintaining encapsulation.
12

Υλοποίηση και συγκριτική αξιολόγηση με βάση τα frameworks Ruby on rails

Βικτωράτος, Ιωσήφ 25 January 2010 (has links)
Η παρακάτω διπλωματική αφού κάνει μια εκτενή αναφορά στα είδη των γλωσσών προγραμματισμού επεκτείνεται και στην περιγραφή των frameworks που χρησιμοποιούνται σήμερα ευρέως. Έπειτα ασχολούμαστε εκτενώς με το framework ruby on rails και περιγράφουμε αναλυτικά τις δυνατότητες που μας προσφέρει μέσα από την ανάπτυξη κάποιων εφαρμογών. Ακριβέστερα, έχουν υλοποιηθεί και αξιολογηθεί ένα site με forum και shopping cart, ένα blog, μια wiki page και ένα site για δημιουργία προφίλ από τους χρήστες του. / The following work has made an extensive reference to the kinds of programming languages and then extends a description of the frameworks currently used widely. Then devotes considerable attention to the framework ruby on rails and describes in detail the possibilities offered by means of developing some applications. Being more specific, we implemented and evaluated a site with forum and shopping cart, a blog, a wiki page, and a site for creation profile of its users.
13

Μελέτη περιπτώσεων και ανάλυση δυνατοτήτων λογισμικών υποδομής για εφαρμογές δημιουργίας και υποστήριξης ερωτηματολογίων στον παγκόσμιο ιστό

Λουκοπούλου, Μαρία 25 January 2010 (has links)
Στόχος της παρούσας διπλωματικής εργασίας είναι να γίνει μια μελέτη πάνω στο υπάρχον λογισμικό για τη δημιουργία και υποστήριξη ερωτηματολογίων στον Παγκόσμιο Ιστό. Θα μελετηθούν οι δυνατότητες που προσφέρουν τα διαδικτυακά ερωτηματολόγια όπως επίσης και οι περιορισμοί τους και θα παρουσιαστούν τα κριτήρια που μπορούν να βοηθήσουν έναν ερευνητή να επιλέξει το κατάλληλο για την έρευνά του εργαλείο ανάπτυξης και υποστήριξης online ερωτηματολογίων. Στη συνέχεια θα γίνει μια παρουσίαση κάποιων open source εργαλείων δημιουργίας και υποστήριξης διαδικτυακών ερωτηματολογίων και θα γίνει μία σύγκριση μεταξύ αυτών. Θα παρουσιαστεί μια πιλοτική εφαρμογή, χρησιμοποιώντας το επιλεγμένο ως ισχυρότερο open source εργαλείο από τα παραπάνω και κατά τη δημιουργία του ερωτηματολογίου θα γίνει και παρουσίαση του συγκεκριμένου εργαλείου. / The aim of this paper is to examine the existant software for online surveys.The benefits of the web-based surveys will be examined as well as their limitations and the criteria for choosing the appropriate tool for each research are going to be presented. There will also be presented some open source tools for online surveys and following that, these tools are going to be compared with each other. At the end of this paper with the chosen as the most powerful tool of the above, a survey is going to be created and at the same time the characteristics of this software will be demonstrated.
14

Contribution à la formalisation et à la vérification des diagrammes dynamiques UML2 à base des réseaux de Petri / Contribution of Formalization and Verification of UML2 Dynamic Diagrams Based on Petri Nets

Louati, Aymen 09 December 2015 (has links)
Les systèmes informatiques envahissent de plus en plus notre quotidien, en allant de la plus simple application de lecture des fichiers audio, à la plus critique comme les voitures et les avions. Dans les systèmes critiques, la validation par vérification formelle s'impose. Cette thèse s'inscrit dans ce cadre et tend à doter le langage UML, langage de modélisation standard de facto, d'une sémantique formelle pour des finalités de vérification. En premier lieu, nous avons analysé et révisé le fondement théorique des principales approches de formalisation et de vérification issues de la littérature et se focalisant sur le langage UML, ses profils et les concepts des réseaux de Petri (RdPs). En deuxième lieu, nous avons proposé une nouvelle approche hiérarchique de formalisation des diagrammes globaux d'interactions (IOD). En se basant sur ce point, nous avons développé des formalismes temporels et temporisés des diagrammes de Timing UML2 (TD), appliqués par des exemples d'illustration. Ensuite, nous avons conçu une approche de vérification sur les approches développées, s'intéressant aux Systèmes Temps Réel (STRs), utilisant l'extension temporelle du langage des contraintes objets OCL/Temps Réel (OCL TR), le profil UML MARTE et la logique temporelle temporisée (TCTL), exploitée d'une technique de vérification automatique après la transformation du modèle (Model Checking). Enfin, nous avons appliqué les formalismes proposés sur une étude de cas, afin de garantir leurs efficacités logique et temporelle. / The computer systems have increasingly invaded our daily lives from the simplest application as audio files reading to the most critical one as cars and airplanes. For critical systems, the validation by the formal verification is required. This Thesis concerns this area of research and aims to ensure the betterment of UML language, which is the de facto standard, with formal semantics for verification finality. For the first part, we have analyzed and revised the theoretical foundations the existing formal verification methods used UML, their profiles and the basic concepts of the Petri nets (PNs). For the second part, we have created a novel hierarchical approach to formalize the Interaction Overview Diagrams (IOD). Based on this idea, we have developed temporal formalisms based on the UML2 Timing Diagrams (TD), applied by illustration examples. Then, we have proposed a Formal Verification approach based on last formalisms which are interested in Real Time Systems (RTS) and employ the temporal extension of the Object Constraints language (OCL/Real Time) (OCL TR), the UML MARTE profile and the timed computation Tree logic (TCTL), given by the Model Checking technique after the model's transformation. Finally, we have applied all the proposed formalisms through a case study, in order to ensure its logical and temporal efficiency.
15

Object-Oriented Mechanisms for Interoperability Between Proof Systems / Mécanismes orientés objet pour l’interopérabilité entre systèmes de preuve

Cauderlier, Raphaël 10 October 2016 (has links)
Dedukti est un cadre logique résultant de la combinaison du typage dépendant et de la réécriture. Il permet d'encoder de nombreux systèmes logiques au moyen de plongements superficiels qui préservent la notion de réduction. Ces traductions de systèmes logiques dans un format commun sont une première étape nécessaire à l'échange de preuves entre ces systèmes. Cet objectif d'interopérabilité des systèmes de preuve est la motivation principale de cette thèse. Pour y parvenir, nous nous inspirons du monde des langages de programmation et plus particulièrement des langages orientés-objet parce qu'ils mettent en œuvre des mécanismes avancés d'encapsulation, de modularité et de définitions par défaut. Pour cette raison, nous commençons par une traduction superficielle d'un calcul orienté-objet en Dedukti. L'aspect le plus intéressant de cette traduction est le traitement du sous-typage. Malheureusement, ce calcul orienté-objet ne semble pas adapté à l'incorporation de traits logiques. Afin de continuer, nous devons restreindre les mécanismes orientés-objet à des mécanismes statiques, plus faciles à combiner avec la logique et apparemment suffisant pour notre objectif d'interopérabilité. Une telle combinaison de mécanismes orientés-objet et de logique est présente dans l'environnement FoCaLiZe donc nous proposons un encodage superficiel de FoCaLiZe dans Dedukti. Les difficultés principales proviennent de l'intégration de Zenon, le prouveur automatique de théorèmes sur lequel FoCaLiZe repose, et de la traduction du langage d'implantation fonctionnel de FoCaLiZe qui présente deux constructions qui n'ont pas de correspondance simple en Dedukti : le filtrage de motif local et la récursivité. Nous démontrons finalement comment notre encodage de FoCaLiZe dans Dedukti peut servir en pratique à l'interopérabilité entre des systèmes de preuve à l'aide de FoCaLiZe, Zenon et Dedukti. Pour éviter de trop renforcer la théorie dans laquelle la preuve finale est obtenue, nous proposons d'utiliser Dedukti en tant que méta-langage pour éliminer des axiomes superflus. / Dedukti is a Logical Framework resulting from the combination ofdependent typing and rewriting. It can be used to encode many logical systems using shallow embeddings preserving their notion of reduction. These translations of logical systems in a common format are a necessary first step for exchanging proofs between systems. This objective of interoperability of proof systems is the main motivation of this thesis.To achieve it, we take inspiration from the world of programming languages and more specifically from object-oriented languages because they feature advanced mechanisms for encapsulation, modularity, and default definitions. For this reason we start by a shallow translation of an object calculus to Dedukti. The most interesting point in this translation is the treatment of subtyping. Unfortunately, it seems very hard to incorporate logic in this object calculus. To proceed, object-oriented mechanisms should be restricted to static ones which seem enough for interoperability. Such a combination of static object-oriented mechanisms and logic is already present in the FoCaLiZe environment so we propose a shallow embedding of FoCaLiZe in Dedukti. The main difficulties arise from the integration of FoCaLiZe automatic theorem prover Zenon and from the translation of FoCaLiZe functional implementation language featuring two constructs which have no simple counterparts in Dedukti: local pattern matching and recursion. We then demonstrate how this embedding of FoCaLiZe to Dedukti can be used in practice for achieving interoperability of proof systems through FoCaLiZe, Zenon, and Dedukti. In order to avoid strengthening to much the theory in which the final proof is expressed, we use Dedukti as a meta-language for eliminating unnecessary axioms.
16

Towards the formalisation of object-oriented methodologies

Adesina-Ojo, Ayodele Adeola 06 1900 (has links)
Formal methods have been shown to be beneficial in increasing the quality of, and confidence in software systems. Despite the advantages of using formal methods in software development, the uptake in the commercial industry has been limited where the use of informal and semi-formal notations is favoured. To bridge the gap between the ease-of-use of semi-formal notation and correctness of formal methods, a number of approaches to the formalisation of informal and semi-formal notation have been researched and documented. Two of these approaches are discussed in this dissertation using a medium-sized case study to demonstrate the approaches. It was shown that each approach offered results that differed in terms of levels of abstraction, requisite knowledge of the formal target specification language and potential for automation. / Information Science / M.Sc.(Information Systems)
17

Towards the formalisation of object-oriented methodologies

Adesina-Ojo, Ayodele Adeola 06 1900 (has links)
Formal methods have been shown to be beneficial in increasing the quality of, and confidence in software systems. Despite the advantages of using formal methods in software development, the uptake in the commercial industry has been limited where the use of informal and semi-formal notations is favoured. To bridge the gap between the ease-of-use of semi-formal notation and correctness of formal methods, a number of approaches to the formalisation of informal and semi-formal notation have been researched and documented. Two of these approaches are discussed in this dissertation using a medium-sized case study to demonstrate the approaches. It was shown that each approach offered results that differed in terms of levels of abstraction, requisite knowledge of the formal target specification language and potential for automation. / Information Science / M.Sc.(Information Systems)
18

Towards the formalisation of use case maps

Dongmo, Cyrille 11 1900 (has links)
Formal specification of software systems has been very promising. Critics against the end results of formal methods, that is, producing quality software products, is certainly rare. Instead, reasons have been formulated to justify why the adoption of the technique in industry remains limited. Some of the reasons are: • Steap learning curve; formal techniques are said to be hard to use. • Lack of a step-by-step construction mechanism and poor guidance. • Difficulty to integrate the technique into the existing software processes. Z is, arguably, one of the successful formal specification techniques that was extended to Object-Z to accommodate object-orientation. The Z notation is based on first-order logic and a strongly typed fragment of Zermelo-Fraenkel set theory. Some attempts have been made to couple Z with semi-formal notations such as UML. However, the case of coupling Object-Z (and also Z) and the Use Case Maps (UCMs) notation is still to be explored. A Use Case Map (UCM) is a scenario-based visual notation facilitating the requirements definition of complex systems. A UCM may be generated either from a set of informal requirements, or from use cases normally expressed in natural language. UCMs have the potential to bring more clarity into the functional description of a system. It may furthermore eliminate possible errors in the user requirements. But UCMs are not suitable to reason formally about system behaviour. In this dissertation, we aim to demonstrate that a UCM can be transformed into Z and Object-Z, by providing a transformation framework. Through a case study, the impact of using UCM as an intermediate step in the process of producing a Z and Object-Z specification is explored. The aim is to improve on the constructivity of Z and Object-Z, provide more guidance, and address the issue of integrating them into the existing Software Requirements engineering process. / Computer Science / M. Sc. (Computer Science)
19

Towards the formalisation of use case maps

Dongmo, Cyrille 11 1900 (has links)
Formal specification of software systems has been very promising. Critics against the end results of formal methods, that is, producing quality software products, is certainly rare. Instead, reasons have been formulated to justify why the adoption of the technique in industry remains limited. Some of the reasons are: • Steap learning curve; formal techniques are said to be hard to use. • Lack of a step-by-step construction mechanism and poor guidance. • Difficulty to integrate the technique into the existing software processes. Z is, arguably, one of the successful formal specification techniques that was extended to Object-Z to accommodate object-orientation. The Z notation is based on first-order logic and a strongly typed fragment of Zermelo-Fraenkel set theory. Some attempts have been made to couple Z with semi-formal notations such as UML. However, the case of coupling Object-Z (and also Z) and the Use Case Maps (UCMs) notation is still to be explored. A Use Case Map (UCM) is a scenario-based visual notation facilitating the requirements definition of complex systems. A UCM may be generated either from a set of informal requirements, or from use cases normally expressed in natural language. UCMs have the potential to bring more clarity into the functional description of a system. It may furthermore eliminate possible errors in the user requirements. But UCMs are not suitable to reason formally about system behaviour. In this dissertation, we aim to demonstrate that a UCM can be transformed into Z and Object-Z, by providing a transformation framework. Through a case study, the impact of using UCM as an intermediate step in the process of producing a Z and Object-Z specification is explored. The aim is to improve on the constructivity of Z and Object-Z, provide more guidance, and address the issue of integrating them into the existing Software Requirements engineering process. / Computer Science / M. Sc. (Computer Science) / D. Phil. (Computer Science)
20

Integration testing of object-oriented software

Skelton, Gordon William 08 1900 (has links)
This thesis examines integration testing of object-oriented software. The process of integrating and testing procedural programs is reviewed as foundation for testing object-oriented software. The complexity of object-oriented software is examined. The relationship of integration testing and the software development life cycle is presented. Scenarios are discussed which account for the introduction of defects into the software. The Unified Modeling Language (UML) is chosen for representing pre-implementation and post-implementation models of the software. A demonstration of the technique of using post-implementation models representing the logical and physical views as an aid in integration and system testing of the software is presented. The use of UML diagrams developed from the software is suggested as a technique for integration testing of object-oriented software. The need for automating the data collection and model building is recognized. The technique is integrated into the Revised Spiral Model for Object-Oriented Software Development developed by du Plessis and van der Walt. / Computing / D.Phil. (Computer Science)

Page generated in 0.0145 seconds