research methods and techniques lecture 10 tools for experimental use © 2004, j s sventek,...

19
Research Methods and Techniques Lecture 10 Tools for Experimental Use © 2004, J S Sventek, University of Glasgow

Upload: philip-butler

Post on 16-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

  • Research Methods and TechniquesLecture 10Tools for Experimental Use 2004, J S Sventek, University of Glasgow

    RMaT/Tools for Experimental Use

  • Reminders/NoticesWeb site:www.dcs.gla.ac.uk/~joe/Teaching/RMaT.htmlCourse director: Prof J S [email protected] due Thursday, 9 December 2004Annotated bibliography topic Redundant Arrays of Inexpensive Disks

    RMaT/Tools for Experimental Use

  • Your Research CareerSuccess in your research career will depend upon:Your technical knowledge and research skillsYour ability to convey your results verbally and via the written wordHow well you are known!

    RMaT/Tools for Experimental Use

  • Open SourceThe basic idea When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt it, people fix bugs. And this can happen at a speed that, if one is used to the slow pace of conventional software development, seems astonishing. We in the open source community have learned that this rapid evolutionary process produces better software than the traditional closed model, in which only a very few programmers can see the source and everybody else must blindly use an opaque block of bits. quoted from http://www.opensource.org

    RMaT/Tools for Experimental Use

  • The Open Source DefinitionFree Redistribution - The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.Source Code - The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction costpreferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.

    RMaT/Tools for Experimental Use

  • The Open Source DefinitionDerived Works - The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.Integrity of The Author's Source Code - The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.No Discrimination Against Persons or Groups - The license must not discriminate against any person or group of persons.

    RMaT/Tools for Experimental Use

  • The Open Source DefinitionNo Discrimination Against Fields of Endeavor - The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.Distribution of License - The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.License Must Not Be Specific to a Product - The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.

    RMaT/Tools for Experimental Use

  • The Open Source DefinitionLicense Must Not Restrict Other Software - The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.License Must Be Technology-Neutral - No provision of the license may be predicated on any individual technology or style of interface.

    obtained from http://www.opensource.org/docs/definition.php

    RMaT/Tools for Experimental Use

  • Linuxhttp://www.linux.orgLinux is a free, Unix-type operating system originally created by Linus Torvalds with the assistance of developers around the world. Developed under the GNU General Public License , the source code for Linux is freely available to everyone.Most other open source software has Linux as its primary targetYou should know how to obtain Linux, how to install it on a typical PC, and how to manage Linux.Similar to knowing how to drive a car you dont need to be a mechanic, but you ought to know how to start it up, run it, add things to it, and how to shut it down

    RMaT/Tools for Experimental Use

  • Java and Java-based Technologieshttp://java.sun.comJava runtime systems and MANY packages constructed on top of the Java runtimeJ2SE (Core/Desktop)J2EE (Enterprise/Server)J2ME (Mobile/Wireless)Java Web ServicesJiniJXTA (open source p2p support layer)JMSRTSJJ3D runtime environment for visualizationJavaspaces (Linda tuple space for Java systems)

    RMaT/Tools for Experimental Use

  • Free Software Foundation/GNUhttp://www.gnu.orgThe GNU Project was launched in 1984 to develop a complete UNIX style operating system which is free software: the GNU system. (GNU is a recursive acronym for GNU's Not UNIX; it is pronounced guh-noo.) Variants of the GNU operating system, which use the kernel Linux, are now widely used; though these systems are often referred to as Linux, they are more accurately called GNU/Linux systems.3,719 software packages available from the web site

    RMaT/Tools for Experimental Use

  • Free Software Foundation/GNUgcc GNU Compiler Collection (c, c++, objective c, java, and FORTRAN)ghc Haskell compiler and interactive environmentjprolog, prolog Prolog interpreterSableCC generates compilers and interpreters in Javaemacs all powerful text editor/operating system, numerous shellsGSL GNU scientific library lots of useful C code for scientific functions, data types, etc.

    RMaT/Tools for Experimental Use

  • Cygnus & MikTeXhttp://www.cygwin.com/GNU + Cygnus + Windows = cygwinCygwin is a Linux-like environment for Windows. It consists of two parts: A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality. A collection of tools, which provide Linux look and feel. The Cygwin DLL works with all non-beta, non "release candidate", ix86 32 bit versions of Windows since Windows 95, with the exception of Windows CE.http://www.miktex.org/MiKTeX is an up-to-date TeX implementation for the Windows operating system.

    RMaT/Tools for Experimental Use

  • Networkinghttp://www.isi.edu/nsnam/ns/NS is a discrete event simulator targeted at networking research. It provides substantial support for simulation of TCP, routing, and multicast protocols over wired and wireless networks. This is the de facto standard simulation environment for network protocol research.http://www.tcpdump.orgThe tcpdump program and the underlying libpcap library are essential tools for monitoring network performance and understanding the dynamic behaviour of real-world protocol implementations.http://www.xorp.orgDevelop an open source software router platform that is stable and fully featured enough for production use, and flexible/extensible enough to enable network research.

    RMaT/Tools for Experimental Use

  • Software Engineeringhttp://www.eclipse.org/eclipse/index.htmlThe Eclipse Project is an open source software development project dedicated to providing a robust, full-featured, commercial-quality, industry platform for the development of highly integrated tools. It is composed of three subprojects, Platform, JDT - Java development tools, and PDE - Plug-in development environment. The success of the Eclipse Platform depends on how well it enables a wide range of tool builders to build best of breed integrated tools. But the real vision of eclipse as an industry platform is only realized if these tools from different tool builders can be combined together by users to suit their unique requirements, in ways that the tool builders never even imagined. The mission of the Eclipse Project is to adapt and evolve the Eclipse Platform and associated tools to meet the needs of the tool building community and its users, so that the vision of eclipse as an industry platform is realized.

    RMaT/Tools for Experimental Use

  • Formal Methodshttp://spinroot.com/spin/Spin is a popular open-source software tool, used by thousands of people worldwide, that can be used for the formal verification of distributed software systems. The tool was developed at Bell Labs in the original Unix group of the Computing Sciences Research Center, starting in 1980. The software has been available freely since 1991, and continues to evolve to keep pace with new developments in the field. In April 2002 the tool was awarded the prestigious System Software Award for 2001 by the ACM.Quote from Alice: One important aspect of my research is the implementation of symmetry reduction techniques. As the software is open-source we are able to modify the algorithms used to incorporate our modifications.

    RMaT/Tools for Experimental Use

  • Constraint Programming & Bioinformaticshttp://csplib.org/a set of benchmarks and interesting problems to solve by the constraint programming community.http://www.choco-constraints.neta constraint programming toolkit, developed specifically for teaching and researchhttp://mpiblast.lanl.gov/"Blast is a program that permits fast pairwise comparison and alignment of genetic sequences [DNA, RNA, Protein]. Thus it enables users to search for sequences that are *similar* to a given sequence of interest ('probe'). If the sequences against which the probe is compared are of known biological function, then such comparison can give an insight as to the function of the probe (if this is unknown). The underlying assumption is that similar sequences are evolutionarily related. The sequence databases against which a probe may be searched can be very large (millions of sequences). Parallel blast enables such searching to be speeded up in an obvious manner."

    RMaT/Tools for Experimental Use

  • Version Controlhttp://www.cvshome.org/CVS is the Concurrent Versions System, the dominant open-source network-transparent version control system. CVS is useful for everyone from individual developers to large, distributed teams:Its client-server access method lets developers access the latest code from anywhere there's an Internet connection. Its unreserved check-out model to version control avoids artificial conflicts common with the exclusive check-out model. Its client tools are available on most platforms. http://subversion.tigris.org/The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community. The software is released under an Apache/BSD-style open source license. Many people here in the department think they have succeeded.

    RMaT/Tools for Experimental Use

  • Othershttp://www.mantara.com/Elvin is a content-based messaging system providing publish/subscribe message services requiring little effort from the application programmer. Provides free academic license.http://ir.dcs.gla.ac.uk/terrier/Terrier is a new platform for the rapid development of Web, intranet and desktop search engines. Terrier enables one to easily assess and improve state-of-the-art information retrieval technology. It also allowed the rapid experimentation of new information retrieval concepts/ideas on various collections, and in different settings.http://cinepaint.sourceforge.net/for painting and amending film-resolution film images

    RMaT/Tools for Experimental Use