PDF Completo, 1700K

Total Page:16

File Type:pdf, Size:1020Kb

PDF Completo, 1700K Caracterizac¸ao˜ de um Processo de Software para Projetos de Software Livre Christian Robottom Reis [email protected] Orientac¸ao:˜ Profa. Dra. Renata Pontin de Mattos Fortes [email protected] Dissertac¸ao˜ apresentada ao Instituto de Cienciasˆ Matematicas´ e de Computac¸ao˜ da Universidade de Sao˜ Paulo para a obtenc¸ao˜ do t´ıtulo de Mestre em Cienciasˆ da Computac¸ao˜ e Matematica´ Computacional. Sao˜ Carlos, Sao˜ Paulo Fevereiro de 2003 ii Resumo Software Livre e´ software fornecido com codigo´ fonte, e que pode ser livremente usado, modifica- do e redistribu´ıdo. Projetos de Software Livre sao˜ organizac¸oes˜ virtuais formadas por indiv´ıduos que trabalham juntos no desenvolvimento de um software livre espec´ıfico. Estes indiv´ıduos trabalham geo- graficamente dispersos, utilizando ferramentas simples para coordenar e comunicar seu trabalho atraves´ da Internet. Este trabalho analisa esses projetos do ponto de vista de seu processo de software; em outras pala- vras, analisa as atividades que realizam para produzir, gerenciar e garantir a qualidade do seu software. Na parte inicial do trabalho e´ feita uma extensa revisao˜ bibliografica,´ comentando os principais traba- lhos na area,´ e sao˜ detalhadas as caracter´ısticas principais dos projetos de software livre. O conteudo´ principal deste trabalho resulta de dois anos de participac¸ao˜ ativa na comunidade, e de um levantamento realizado atraves´ de questionario,´ detalhando mais de quinhentos projetos diferentes. Sao˜ apresenta- das treze hipoteses´ experimentais, e os resultados do questionario´ sao˜ discutidos no contexto destas hipoteses.´ Dos projetos avaliados nesse levantamento, algumas caracter´ısticas comuns foram avaliadas. As equipes da grande maioria dos projetos sao˜ pequenas, tendo menos de cinco participantes. Alem´ disso, existe uma distribuic¸ao˜ equilibrada entre algumas formas de organizac¸ao˜ descritas na literatura, incluin- do o ‘ditador benevolente’ de Eric S. Raymond e o ‘comite’ˆ exemplificado pelo projeto Apache. Dentre um conjunto de dom´ınios de aplicac¸ao˜ determinados, os projetos de software livre se concentram nas areas´ de engenharia e desenvolvimento de software, redes e seguranc¸a, e aplicac¸oes˜ multim´ıdia. Com relac¸ao˜ as` atividades do processo de software, pode-se dizer que a maioria dos projetos tem requisitos fundamentalmente definidos pelos seus autores, e que a base de usuarios´ de grande parte dos softwares e´ composta dos seus desenvolvedores e da comunidade de software livre. Uma parcela signifi- cativa dos projetos baseia-se em outros softwares pre-existentes,´ e em padroes˜ publicados previamente. Pouca enfaseˆ e´ dada a` usabilidade, assim como as` atividades de garantia de qualidade convencionais. Surpreendentemente, tambem´ recebem pouca atenc¸ao˜ as atividades de revisao˜ de codigo´ e teste sis- tematico.´ Entre as ferramentas que os projetos utilizam, se destacam as listas de discussao˜ e os sistemas de controle de versao.˜ Foi estabelecida uma correlac¸ao˜ entre a dimensao˜ da equipe do projeto e as atividades de engenharia de software que realiza, mas nao˜ se confirmou um v´ınculo entre estas atividades e a idade do projeto. Foram tambem´ estabelecidas relac¸oes˜ entre o numero´ de linhas de codigo´ do software do projeto e a sua idade, tamanho e dom´ınio de aplicac¸ao.˜ Estes resultados sao˜ exibidos neste trabalho, e estarao˜ publicamente dispon´ıveis no site Web do projeto. O trabalho conclui descrevendo partes essenciais do processo de software em projetos de software livre, e oferecendo sugestoes˜ para trabalhos posteriores. Palavras-Chave: Software Livre, Open Source, Processo de Software, Ciclo de Vida, Modelo de Pro- cesso de Software, Engenharia de Software, Desenvolvimento de Software Descentralizado. iii iv Abstract Free Software (or Open Source) is software provided with source code that may be freely used, modified and redistributed. Free Software Projects are virtual communities of developers that work on a specific free software product. These developers work geographically dispersed, using simple tools to communicate and coordinate their actions over the Internet. This work analyzes these projects with respect to their software process; in other words, the activiti- es they do to produce, manage and ensure the quality of their software. In the initial sections, I perform a large review of related work in this field, and provide an overview of the main characteristics of free software projects. The main contents of this dissertation is based on two years of participation in free software projects, and on a survey based on a questionnaire that describes over five hundred different free software projects. I present thirteen initial hypothesis, using them as a framework to analyze the results of the survey. Among the projects evaluated in this survey, some common aspects were observed. For instance, most projects have a small team, with less than five developers. I also found a balanced distribution of leadership systems described in other works, including Eric Raymond’s ‘benevolent dictator’ and the committee exemplified by the Apache project. The domains in which these projects tend to concentrate are software engineering and development, networks and security, and multimedia applications. Concerning the software process activities, most projects have their functional requirements esta- blished by their authors: the user base for most of the projects includes the development team and the free software community. A large proportion of the projects surveyed are based on pre-existing soft- ware, or on previously published standards. Little emphasis is placed on usability and conventional forms of quality assurance. Remarkably, this lack of emphasis on conventional process includes activi- ties like review and testing. Among the tools used by the projects, mailing lists and versioning systems such as CVS come out ahead by a strong margin. A correlation was identified between the size of the project’s team and the software engineering activities that it realizes, but I could not establish a link between the age of the project and these activities. Other correlations were established between the size of the project’s codebase (in terms of lines of code) and its age, size and application domain. The dissertation concludes describing essential parts of the software process in free software projects, and offering suggestions for future work. Keywords: Free Software, Open Source, Software Process, Software Lifecycle, Software Process Mo- del, Software Engineering, Distributed Software Development. v vi CONTEUDO´ CONTEUDO´ Conteudo´ 1 Introduc¸ao˜ 1 1.1 Motivac¸ao˜ ......................................... 2 1.2 Problema de Pesquisa ................................... 2 1.3 Organizac¸ao˜ da Dissertac¸ao˜ ................................ 3 1.4 Convenc¸oes˜ de Formato .................................. 3 2 Processo de Software 5 2.1 Definic¸ao˜ ......................................... 5 2.2 Atividades Essenciais ................................... 6 2.3 Atividades Auxiliares ................................... 7 2.4 Garantia de Qualidade de Software ............................ 8 2.5 Modelos de Processo de Software ............................ 9 3 Software Livre e Open Source 11 3.1 Propriedade Intelectual .................................. 11 3.2 Licenc¸as de Software ................................... 12 3.2.1 Graus de Restric¸ao˜ em Licenc¸as de Software .................. 13 3.2.2 Licenc¸as de Software Livre ............................ 13 3.3 Software Livre e Open Source .............................. 14 3.3.1 Open Source ................................... 16 3.4 Historico´ ......................................... 16 3.4.1 GNU e a Free Software Foundation ....................... 16 3.4.2 O nucleo´ Linux .................................. 17 3.4.3 Outros pacotes de software livre ......................... 17 3.4.4 As distribuic¸oes˜ Linux .............................. 18 3.4.5 Projetos de Software Livre ............................ 20 vii CONTEUDO´ CONTEUDO´ 4 Projetos de Software Livre 21 4.1 Definic¸ao˜ ......................................... 21 4.2 Organizac¸oes˜ Alternativas ................................ 22 4.3 Aspectos de um Projeto de Software Livre ........................ 23 4.3.1 Software ..................................... 23 4.3.2 Comunidade ................................... 24 4.3.3 Comunicac¸ao˜ escrita ............................... 25 4.3.4 Gerenciaˆ do Codigo-fonte´ ............................ 26 4.3.5 Apoio ao Processo de Desenvolvimento ..................... 30 4.3.6 Servic¸os de Hospedagem de Projetos ...................... 32 4.4 Exemplos de Projetos de Software Livre ......................... 33 4.4.1 Nucleo´ de Sistema Operacional: Linux ..................... 33 4.4.2 Servidor Web: Apache .............................. 34 4.4.3 Navegador Web: Mozilla ............................. 34 5 Trabalhos Relacionados 37 5.1 Literatura Essencial .................................... 37 5.1.1 A Catedral e o Bazar de Eric Raymond ..................... 37 5.1.2 Desenvolvimento Distribu´ıdo: Herbsleb e Grinter ................ 39 5.1.3 A avaliac¸ao˜ emp´ırica de Sandeep Krishnamurthy ................ 39 5.1.4 Detratores Iniciais ................................ 40 5.2 Estudos sobre Projetos Espec´ıficos ............................ 41 5.2.1 O Servidor Apache ................................ 41 5.2.2 O Nucleo´ Linux .................................. 42 5.2.3 O Projeto Mozilla ................................
Recommended publications
  • The Design of a Pascal Compiler Mohamed Sharaf, Devaun Mcfarland, Aspen Olmsted Part I
    The Design of A Pascal Compiler Mohamed Sharaf, Devaun McFarland, Aspen Olmsted Part I Mohamed Sharaf Introduction The Compiler is for the programming language PASCAL. The design decisions Concern the layout of program and data, syntax analyzer. The compiler is written in its own language. The compiler is intended for the CDC 6000 computer family. CDC 6000 is a family of mainframe computer manufactured by Control Data Corporation in the 1960s. It consisted of CDC 6400, CDC 6500, CDC 6600 and CDC 6700 computers, which all were extremely rapid and efficient for their time. It had a distributed architecture and was a reduced instruction set (RISC) machine many years before such a term was invented. Pascal Language Imperative Computer Programming Language, developed in 1971 by Niklaus Wirth. The primary unit in Pascal is the procedure. Each procedure is represented by a data segment and the program/code segment. The two segments are disjoint. Compiling Programs: Basic View Machine Pascal languag program Pascal e compile program filename . inpu r gp output a.out p t c Representation of Data Compute all the addresses at compile time to optimize certain index calculation. Entire variables always are assigned at least one full PSU “Physical Storage Unit” i.e CDC6000 has ‘wordlength’ of 60 bits. Scalar types Array types the first term is computed by the compiler w=a+(i-l)*s Record types: reside only within one PSU if it is represented as packed. If it is not packed its size will be the size of the largest possible variant. Data types … Powerset types The set operations of PASCAL are realized by the conventional bit-parallel logical instructions ‘and ‘ for intersection, ‘or’ for union File types The data transfer between the main store buffer and the secondary store is performed by a Peripheral Processor (PP).
    [Show full text]
  • Gnu Smalltalk Library Reference Version 3.2.5 24 November 2017
    gnu Smalltalk Library Reference Version 3.2.5 24 November 2017 by Paolo Bonzini Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License". 1 3 1 Base classes 1.1 Tree Classes documented in this manual are boldfaced. Autoload Object Behavior ClassDescription Class Metaclass BlockClosure Boolean False True CObject CAggregate CArray CPtr CString CCallable CCallbackDescriptor CFunctionDescriptor CCompound CStruct CUnion CScalar CChar CDouble CFloat CInt CLong CLongDouble CLongLong CShort CSmalltalk CUChar CByte CBoolean CUInt CULong CULongLong CUShort ContextPart 4 GNU Smalltalk Library Reference BlockContext MethodContext Continuation CType CPtrCType CArrayCType CScalarCType CStringCType Delay Directory DLD DumperProxy AlternativeObjectProxy NullProxy VersionableObjectProxy PluggableProxy SingletonProxy DynamicVariable Exception Error ArithmeticError ZeroDivide MessageNotUnderstood SystemExceptions.InvalidValue SystemExceptions.EmptyCollection SystemExceptions.InvalidArgument SystemExceptions.AlreadyDefined SystemExceptions.ArgumentOutOfRange SystemExceptions.IndexOutOfRange SystemExceptions.InvalidSize SystemExceptions.NotFound SystemExceptions.PackageNotAvailable SystemExceptions.InvalidProcessState SystemExceptions.InvalidState
    [Show full text]
  • Users As Co-Designers of Software-Based Media: the Co-Construction of Internet Relay Chat
    Users as Co-Designers of Software-Based Media: The Co-Construction of Internet Relay Chat Guillaume Latzko-Toth Université Laval AbsTrAcT While it has become commonplace to present users as co-creators or “produsers” of digital media, their participation is generally considered in terms of content production. The case of Internet Relay Chat (IRC) shows that users can be fully involved in the design process, a co-construction in the sense of Science and Technology Studies (STS): a collective, simultaneous, and mutual construction of actors and artifacts. A case study of the early de - velopment of two IRC networks sheds light on that process and shows that “ordinary users” managed to invite themselves as co-designers of the socio-technical device. The article con - cludes by suggesting that IRC openness to user agency is not an intrinsic property of software- based media and has more to do with its architecture and governance structure. Keywords Digital media; Communication technology; Co-construction; Design process; Ordinary user résumé Il est devenu banal de présenter l’usager comme cocréateur ou « produtilisateur » des médias numériques, mais sa participation est généralement envisagée comme une production de contenus. Le cas d’IRC (Internet Relay Chat) montre que les usagers des médias à support logiciel peuvent s’engager pleinement dans le processus de conception, une co-construction au sens des Science and Technology Studies : une construction collective, simultanée et mutuelle des acteurs et des artefacts. Une étude de cas portant sur le développement de deux réseaux IRC éclaire ce processus et montre que les « usagers ordinaires » sont parvenus à s’inviter comme co-concepteurs du dispositif.
    [Show full text]
  • Ausgabe 06/2016 Als
    freiesMagazin Juni 2016 Themen dieser Ausgabe sind u. a. Ubuntu unter Windows ausprobiert Seite 3 Microsoft hat auf der Entwicklerkonferenz Build 2016 einigermaßen überraschend verraten, dass in zukünftigen Windows-Versionen die Bash sowie eine ganze Sammlung von Linux-Tools auf der Basis von Ubuntu 14.04 integriert werden soll. Der Artikel gibt einen ersten Eindruck des „Windows-Subsystems für Linux“, das Microsoft bereitstellt, um Ubuntu ohne Virtualisierung unter Windows laufen zu lassen. (weiterlesen) Linux-Distributionen im Vergleich – eine etwas andere Auswahl Seite 8 In dem Artikel werden eine Reihe von Linux-Distributionen vorgestellt, die nicht so bekannt sind wie die klassischen „großen“ Distributionen oder nicht so häufig verwendet werden, weil sie entweder für spezielle Anwendungen oder für einen besonderen Benutzerkreis konzipiert sind. Ziel ist es, diese Distributionen ein bisschen näher kennenzulernen, damit man weiß, was zur Verfügung steht, wenn man einmal etwas ganz bestimmtes braucht. (weiterlesen) Audacity 2.1 – Teil I Seite 21 Aus verschiedenen Gründen ist Audacity der beliebteste freie Audio-Editor. Im Internetzeitalter hat man sich daran gewöhnt, dass viele Programme kostenlos verfügbar sind, aber dennoch eine hohe Professionalität aufweisen. In die Riege der besten Open-Source-Werkzeuge reiht sich auch Audacity ein. Ob man nun die Schallplatten- oder Kassettensammlung digitalisieren, Videos nachvertonen oder das eigene Gitarrenspiel oder den Bandauftritt aufnehmen und bearbeiten möchte – all das ist mit Audacity möglich. (weiterlesen) © freiesMagazin CC-BY-SA 4.0 Ausgabe 06/2016 ISSN 1867-7991 MAGAZIN Editorial Veränderungen unter der Haube Viewport-Meta-Tag auf den meisten Seiten Stan- Inhalt Technisch betrachtet ist freiesMagazin stabil. Ver- dard ist, gilt er eher als eine Krücke, die in Zukunft Linux allgemein änderungen erfolgen daher naturgemäß in klei- wohl durch eine CSS basierte Lösung ersetzt wer- Ubuntu unter Windows ausprobiert S.
    [Show full text]
  • GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.2.1 14 November 2020
    GNU MP The GNU Multiple Precision Arithmetic Library Edition 6.2.1 14 November 2020 by Torbj¨ornGranlund and the GMP development team This manual describes how to install and use the GNU multiple precision arithmetic library, version 6.2.1. Copyright 1991, 1993-2016, 2018-2020 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being \A GNU Manual", and with the Back-Cover Texts being \You have freedom to copy and modify this GNU Manual, like GNU software". A copy of the license is included in Appendix C [GNU Free Documentation License], page 132. i Table of Contents GNU MP Copying Conditions :::::::::::::::::::::::::::::::::::: 1 1 Introduction to GNU MP ::::::::::::::::::::::::::::::::::::: 2 1.1 How to use this Manual :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2 Installing GMP ::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.1 Build Options:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 ABI and ISA :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Notes for Package Builds:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 11 2.4 Notes for Particular Systems :::::::::::::::::::::::::::::::::::::::::::::::::::::: 12 2.5 Known Build Problems ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 14 2.6 Performance
    [Show full text]
  • Instalación Y Administración De Servicios De Mensajería Instantánea, Noticias Y Listas De Distribución
    Servicios de red e internet Instalación y administración de servicios de mensajería instantánea, noticias y listas de distribución Raquel Castellanos Crespo Instalación y administración de servicios de mensajería instantánea, noticias y listas de distribución Servicios de red e internet Raquel Castellanos Crespo INDICE 2 Servicios de red e internet | Instalación y administración de servicios de mensajería instantánea, noticias y listas de distribución Servicios de red e internet Raquel Castellanos Crespo Protocolos La mensajería instantánea (conocida también en inglés como IM) es una forma de comunicación en tiempo real entre dos o más personas basada en texto. El texto es enviado a través de dispositivos conectados a una red como Internet. La mensajería instantánea requiere el uso de un cliente de mensajería instantánea que realiza el servicio y se diferencia del correo electrónico en que las conversaciones se realizan en tiempo real. La mayoría de los servicios ofrecen el "aviso de presencia", indicando cuando el cliente de una persona en la lista de contactos se conecta o en qué estado se encuentra, si está disponible para tener una conversación. En los primeros programas de mensajería instantánea, cada letra era enviada según se escribía y así, las correcciones de las erratas también se veían en tiempo real. Esto daba a las conversaciones más la sensación de una conversación telefónica que un intercambio de texto. En los programas actuales, habitualmente, se envía cada frase de texto al terminarse de escribir. Además, en algunos, también se permite dejar mensajes aunque la otra parte no esté conectada al estilo de un contestador automático. Otra función que tienen muchos servicios es el envío de ficheros.
    [Show full text]
  • Appendix 1 the Borland Pascal Package
    Section 1. Installation 555 Appendix 1 The Borland Pascal Package Section 1. Installation When you open your carton of Borland Pascal, you may be frightened by the tens of kilos of books and mountain of disks. This Appendix will get you started on installation and use of the system to write your Pascal programs. Even if you have already installed Borland Pascal and are using it, you may find some useful tips here, so please thumb through these pages. (There is much useful information in the Borland Pascal User's Guide, which is in your package.) For starters, your computer should have a goodly chunk of free disk space in one hard disk partition. If you install the complete Borland Pascal system, that will take about 30M. The programs with this book will fill about 2M, and when you start writing programs, who knows? Before you start installation, decide which partition to use, and note how much free disk space is available. Don't push a partition to its absolute limit. Start the "Install" program by inserting Disk 1 into the A: drive and typing A:INSTALL <Enter> (By the time this book appears you will probably be able to acquire BP on CD­ ROM and install it that way.) The "Install" program gives you lots of options, and explains what it is doing as it runs. If you have adequate disk space, the easiest course is to install everything. If you want to install only what you need for using this book, when the "Install" program prompts you for what to install/omit, you can omit the Windows version, the Assembler, the Profiler, the Debugger, the Turbo Vision package, and the On-line compilers.
    [Show full text]
  • Dynamic Object-Oriented Programming with Smalltalk
    Dynamic Object-Oriented Programming with Smalltalk 1. Introduction Prof. O. Nierstrasz Autumn Semester 2009 LECTURE TITLE What is surprising about Smalltalk > Everything is an object > Everything happens by sending messages > All the source code is there all the time > You can't lose code > You can change everything > You can change things without restarting the system > The Debugger is your Friend © Oscar Nierstrasz 2 ST — Introduction Why Smalltalk? > Pure object-oriented language and environment — “Everything is an object” > Origin of many innovations in OO development — RDD, IDE, MVC, XUnit … > Improves on many of its successors — Fully interactive and dynamic © Oscar Nierstrasz 1.3 ST — Introduction What is Smalltalk? > Pure OO language — Single inheritance — Dynamically typed > Language and environment — Guiding principle: “Everything is an Object” — Class browser, debugger, inspector, … — Mature class library and tools > Virtual machine — Objects exist in a persistent image [+ changes] — Incremental compilation © Oscar Nierstrasz 1.4 ST — Introduction Smalltalk vs. C++ vs. Java Smalltalk C++ Java Object model Pure Hybrid Hybrid Garbage collection Automatic Manual Automatic Inheritance Single Multiple Single Types Dynamic Static Static Reflection Fully reflective Introspection Introspection Semaphores, Some libraries Monitors Concurrency Monitors Categories, Namespaces Packages Modules namespaces © Oscar Nierstrasz 1.5 ST — Introduction Smalltalk: a State of Mind > Small and uniform language — Syntax fits on one sheet of paper >
    [Show full text]
  • A Brief History of GNOME
    A Brief History of GNOME Jonathan Blandford <[email protected]> July 29, 2017 MANCHESTER, UK 2 A Brief History of GNOME 2 Setting the Stage 1984 - 1997 A Brief History of GNOME 3 Setting the stage ● 1984 — X Windows created at MIT ● ● 1985 — GNU Manifesto Early graphics system for ● 1991 — GNU General Public License v2.0 Unix systems ● 1991 — Initial Linux release ● Created by MIT ● 1991 — Era of big projects ● Focused on mechanism, ● 1993 — Distributions appear not policy ● 1995 — Windows 95 released ● Holy Moly! X11 is almost ● 1995 — The GIMP released 35 years old ● 1996 — KDE Announced A Brief History of GNOME 4 twm circa 1995 ● Network Transparency ● Window Managers ● Netscape Navigator ● Toolkits (aw, motif) ● Simple apps ● Virtual Desktops / Workspaces A Brief History of GNOME 5 Setting the stage ● 1984 — X Windows created at MIT ● 1985 — GNU Manifesto ● Founded by Richard Stallman ● ● 1991 — GNU General Public License v2.0 Our fundamental Freedoms: ○ Freedom to run ● 1991 — Initial Linux release ○ Freedom to study ● 1991 — Era of big projects ○ Freedom to redistribute ○ Freedom to modify and ● 1993 — Distributions appear improve ● 1995 — Windows 95 released ● Also, a set of compilers, ● 1995 — The GIMP released userspace tools, editors, etc. ● 1996 — KDE Announced This was an overtly political movement and act A Brief History of GNOME 6 Setting the stage ● 1984 — X Windows created at MIT “The licenses for most software are ● 1985 — GNU Manifesto designed to take away your freedom to ● 1991 — GNU General Public License share and change it. By contrast, the v2.0 GNU General Public License is intended to guarantee your freedom to share and ● 1991 — Initial Linux release change free software--to make sure the ● 1991 — Era of big projects software is free for all its users.
    [Show full text]
  • Ontology-Based Chatbot for Disaster Management: Use Case Coronavirus
    TUNISIAN REPUBLIC MINISTRY OF HIGHER EDUCATION AND SCIENTIFIC RESEARCH TUNIS EL MANAR UNIVERSITY FACULTY OF SCIENCES OF TUNIS Master Thesis Submitted for a Research Master’s Degree in Computer Science By Khouloud Hwerbi Ontology-Based Chatbot for Disaster Management: Use Case CoronaVirus Defended on October 9, 2020 in front of the following jury: President Hella Kaffel Ben Ayed Associate Professor at FST Reporter Narjes Doggaz Assistant Professor at FST arXiv:2011.02340v1 [cs.AI] 2 Nov 2020 Co-Supervisor Salvatore Flavio Pileggi Lecturer at UTS Supervisor Sadok Ben Yahia Full Professor at FST In the Laboratory: LIPAH 2019–2020 Abstract Today is the era of intelligence in machines. With the advances in Artificial Intelligence, machines have started to impersonate different human traits, a chatbot is the next big thing in the domain of conversational services. A chatbot is a virtual person who is capable to carry out a natural conversation with people. They can include skills that enable them to converse with the humans in audio, visual, or textual formats. Artificial intelligence conversational entities, also called chatbots, conversational agents, or dialogue system, are an excellent example of such machines. Obtaining the right information at the right time and place is the key to effective disaster management. The term "disaster management" encompasses both natural and human-caused disasters. To assist citizens, our project is to create a COVID Assistant to provide the need of up to date information to be available 24 hours. With the growth in the World Wide Web, it is quite intelligible that users are interested in the swift and relatedly correct information for their hunt.
    [Show full text]
  • BORLAND Turbo Pascafbj Version 6.0
    BORLAND Turbo PascafBJ Version 6.0 Turbo Vision Guide BORLAND INTERNATIONAL INC. 1800 GREEN HILLS ROAD P.O. BOX 660001, scons VALLEY, CA 95067-0001 Copyright © 1990 by Borland International. All rights reserved. All Borland products are trademarks or registered trademarks of Borland International, Inc. Other brand and product names are trademarks or registered trademarks of their respective holders. PRINTED IN THE USA. R2 10 9 8 7 6 5 4 3 2 1 c o N T E N T s Introduction 1 Chapter 2 Writing Turbo Vision Why Turbo Vision? ................... 1 applications 23 What is Turbo Vision? ................. 1 Your first Turbo Vision application . .. 23 What you need to know ............... 2 The desktop, menu bar, and status line .. 25 What's in this book? ................... 2 The desktop . .. 26 The status line . .. 26 Part 1 Learning Turbo Vision Creating new commands. .. 27 Chapter 1 Inheriting the wheel 7 The menu bar ..................... 28 The framework of a windowing A note on structure . .. 30 application . .. 7 Opening a window. .. 31 A new Vision of application development. 8 Standard window equipment . .. 31 The elements of a Turbo Vision Window initialization .............. 33 application . .. 9 The Insert method ............... 33 Naming of parts .................... 9 Closing a window. .. 34 Views ........................... 9 Window behavior . .. 34 Events ........................... 9 Look through any window . .. 35 Mute objects. .. 10 What do you see? .................. 37 A common "look and feel" .......... 10 A better way to Write. .. 38 "Hello, World!" Turbo Vision style ..... 12 A simple file viewer .. .. 38 Running HELLO.PAS .............. 13 Reading a text file .. .. 39 Pulling down a menu. .. 14 Buffered drawing .................
    [Show full text]
  • Indicators for Missing Maintainership in Collaborative Open Source Projects
    TECHNISCHE UNIVERSITÄT CAROLO-WILHELMINA ZU BRAUNSCHWEIG Studienarbeit Indicators for Missing Maintainership in Collaborative Open Source Projects Andre Klapper February 04, 2013 Institute of Software Engineering and Automotive Informatics Prof. Dr.-Ing. Ina Schaefer Supervisor: Michael Dukaczewski Affidavit Hereby I, Andre Klapper, declare that I wrote the present thesis without any assis- tance from third parties and without any sources than those indicated in the thesis itself. Braunschweig / Prague, February 04, 2013 Abstract The thesis provides an attempt to use freely accessible metadata in order to identify missing maintainership in free and open source software projects by querying various data sources and rating the gathered information. GNOME and Apache are used as case studies. License This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license. Keywords Maintenance, Activity, Open Source, Free Software, Metrics, Metadata, DOAP Contents List of Tablesx 1 Introduction1 1.1 Problem and Motivation.........................1 1.2 Objective.................................2 1.3 Outline...................................3 2 Theoretical Background4 2.1 Reasons for Inactivity..........................4 2.2 Problems Caused by Inactivity......................4 2.3 Ways to Pass Maintainership.......................5 3 Data Sources in Projects7 3.1 Identification and Accessibility......................7 3.2 Potential Sources and their Exploitability................7 3.2.1 Code Repositories.........................8 3.2.2 Mailing Lists...........................9 3.2.3 IRC Chat.............................9 3.2.4 Wikis............................... 10 3.2.5 Issue Tracking Systems...................... 11 3.2.6 Forums............................... 12 3.2.7 Releases.............................. 12 3.2.8 Patch Review........................... 13 3.2.9 Social Media............................ 13 3.2.10 Other Sources..........................
    [Show full text]