2,405 research outputs found

    A Framework for Rapid Development and Portable Execution of Packet-Handling Applications

    Get PDF
    This paper presents a framework that enables the execution of packet-handling applications (such as sniffers, firewalls, intrusion detectors, etc.) on different hardware platforms. This framework is centered on the NetVM - a novel, portable, and efficient virtual processor targeted for packet-based processing - and the NetPDL - a language dissociating applications from protocol specifications. In addition, a high-level programming language that enables rapid development of packet-based applications is presented

    Towards Python-based Domain-specific Languages for Self-reconfigurable Modular Robotics Research

    Full text link
    This paper explores the role of operating system and high-level languages in the development of software and domain-specific languages (DSLs) for self-reconfigurable robotics. We review some of the current trends in self-reconfigurable robotics and describe the development of a software system for ATRON II which utilizes Linux and Python to significantly improve software abstraction and portability while providing some basic features which could prove useful when using Python, either stand-alone or via a DSL, on a self-reconfigurable robot system. These features include transparent socket communication, module identification, easy software transfer and reliable module-to-module communication. The end result is a software platform for modular robots that where appropriate builds on existing work in operating systems, virtual machines, middleware and high-level languages.Comment: Presented at DSLRob 2011 (arXiv:1212.3308

    A Tunnel-aware Language for Network Packet Filtering

    Get PDF
    Abstract—While in computer networks the number of possible protocol encapsulations is growing day after day, network administrators face ever increasing difficulties in selecting accurately the traffic they need to inspect. This is mainly caused by the limited number of encapsulations supported by currently available tools and the difficulty to exactly specify which packets have to be analyzed, especially in presence of tunneled traffic. This paper presents a novel packet processing language that, besides Boolean filtering predicates, introduces special constructs for handling the more complex situations of tunneled and stacked encapsulations, giving the user a finer control over the semantics of a filtering expression. Even though this language is principally focused on packet filters, it is designed to support other advanced packet processing mechanisms such as traffic classification and field extraction. I

    The C Object System: Using C as a High-Level Object-Oriented Language

    Full text link
    The C Object System (Cos) is a small C library which implements high-level concepts available in Clos, Objc and other object-oriented programming languages: uniform object model (class, meta-class and property-metaclass), generic functions, multi-methods, delegation, properties, exceptions, contracts and closures. Cos relies on the programmable capabilities of the C programming language to extend its syntax and to implement the aforementioned concepts as first-class objects. Cos aims at satisfying several general principles like simplicity, extensibility, reusability, efficiency and portability which are rarely met in a single programming language. Its design is tuned to provide efficient and portable implementation of message multi-dispatch and message multi-forwarding which are the heart of code extensibility and reusability. With COS features in hand, software should become as flexible and extensible as with scripting languages and as efficient and portable as expected with C programming. Likewise, Cos concepts should significantly simplify adaptive and aspect-oriented programming as well as distributed and service-oriented computingComment: 18

    Analysis of source code metrics from ns-2 and ns-3 network simulators

    Get PDF
    Ns-2 and its successor ns-3 are discrete-event simulators which are closely related to each other as they share common background, concepts and similar aims. Ns-3 is still under development, but it offers some interesting characteristics for developers while ns-2 still has a large user base. While other studies have compared different network simulators, focusing on performance measurements, in this paper we adopted a different approach by focusing on technical characteristics and using software metrics to obtain useful conclusions. We chose ns-2 and ns-3 for our case study because of the popularity of the former in research and the increasing use of the latter. This reflects the current situation where ns-3 has emerged as a viable alternative to ns-2 due to its features and design. The paper assesses the current state of both projects and their respective evolution supported by the measurements obtained from a broad set of software metrics. By considering other qualitative characteristics we obtained a summary of technical features of both simulators including, architectural design, software dependencies or documentation policies.Ministerio de Ciencia e Innovación TEC2009-10639-C04-0

    Development of a prototype multi-processing interactive software invocation system

    Get PDF
    The Interactive Software Invocation System (NASA-ISIS) was first transported to the M68000 microcomputer, and then rewritten in the programming language Path Pascal. Path Pascal is a significantly enhanced derivative of Pascal, allowing concurrent algorithms to be expressed using the simple and elegant concept of Path Expressions. The primary results of this contract was to verify the viability of Path Pascal as a system's development language. The NASA-ISIS implementation using Path Pascal is a prototype of a large, interactive system in Path Pascal. As such, it is an excellent demonstration of the feasibility of using Path Pascal to write even more extensive systems. It is hoped that future efforts will build upon this research and, ultimately, that a full Path Pascal/ISIS Operating System (PPIOS) might be developed

    Architecture, design and source code comparison of ns-2 and ns-3 network simulators

    Get PDF
    Ns-2 and its successor ns-3 are discrete-event simulators. Ns- 3 is still under development, but offers some interesting characteristics for developers while ns-2 still has a big user base. This paper remarks current differences between both tools from developers point of view. Leaving performance and resources consumption aside, technical issues described in the present paper might help to choose one or another alternative depending of simulation and project management requirements.Ministerio de Educación y Ciencia TIN2006-15617-C03-03Junta de Andalucía P06-TIC-229

    Code Quality Evaluation Methodology Using The ISO/IEC 9126 Standard

    Full text link
    This work proposes a methodology for source code quality and static behaviour evaluation of a software system, based on the standard ISO/IEC-9126. It uses elements automatically derived from source code enhanced with expert knowledge in the form of quality characteristic rankings, allowing software engineers to assign weights to source code attributes. It is flexible in terms of the set of metrics and source code attributes employed, even in terms of the ISO/IEC-9126 characteristics to be assessed. We applied the methodology to two case studies, involving five open source and one proprietary system. Results demonstrated that the methodology can capture software quality trends and express expert perceptions concerning system quality in a quantitative and systematic manner.Comment: 20 pages, 14 figure

    Software para construir marcos de red, con GUI, CLI y biblioteca de programación

    Get PDF
    Introduction: This publication is the product of a research project named “Design and implementation of a software to build network frames with CLI, GUI interface and programming library” of the Corporación Politécnico de la Costa Atlántica in Barranquilla, Colombia between the year 2016 and 2018. A piece of software with multiplatform capability, GUI, CLI and programming library was developed. The software allows for the intuitive construction of network frames, speeding up construction times, thus facilitating practical learning of the concept of encapsulation networking. Objective: The research aims to build a multiplatform computing solution, with a GUI, CLI and programming library, in order to build network frames intuitively. Methodology: The scope of the project is descriptive, since the development includes the analysis and implementation of the software and its components; as well as functional tests. Results: The software was built according to the phases proposed in the methodology. A high percentage of students obtained average scores in the evaluation carried out on frames, packages and segments. Conclusion: The results demonstrate the need to apply a new teaching methodology based on the elaboration of frames, to improve the learning process in computer networks. Originality: A software solution that complements existing limitations in portability, versatility and ease of use is proposed. This solution is applicable both in the workplace and in the educational field. Limitations: The processes of sending and capturing frames are separated in the software, meaning that TCP communication cannot be maintained. It is necessary to build a GUI application to capture network frames and not depend on a tool like Wireshark for visualizing the frames.Introducción: Esta publicación es el producto de un proyecto de investigación titulado “Diseño e implementación de un software para construir paquetes de red, con interfaz CLI, GUI y librería de programación” de la Corporación Politécnico de la Costa Atlántica en Barranquilla, Colombia entre el año 2016 y 2018. Se ha desarrollado un software multiplataforma con GUI, CLI y biblioteca de programación. El software permite la construcción de tramas de red de manera intuitiva, acelerando los tiempos de construcción. De esta forma facilita el aprendizaje práctico del concepto de encapsulamiento de red. Objetivo: La investigación tiene como objetivo construir una solución informática multiplataforma, que permita ser utilizado como GUI, CLI y librería de programación, para construir tramas de red de forma intuitiva. Metodología: El alcance del proyecto es descriptivo, ya que el desarrollo incluye el análisis y la implementación del software y sus componentes; así como pruebas funcionales. Resultados: Se construyó el software de acuerdo a las fases planteadas en la metodología. Se obtuvo un alto porcentaje de estudiantes con desempeño regular en la evaluación efectuada sobre tramas, paquetes y segmentos. Conclusión: Los resultados demuestran la necesidad de aplicar una nueva metodología de enseñanza basada en la elaboración de tramas, para mejorar el proceso de aprendizaje en redes de computadores. Originalidad: Se propone una solución informática que complementa las limitaciones actuales en portabilidad, versatilidad y facilidad de uso. Esta solución es aplicable tanto en el ámbito laboral como en el ámbito educativo. Limitaciones: Los procesos de envío y escucha de tramas se encuentran separados en el software, por lo que no se puede mantener una comunicación TCP. Es necesario construir una aplicación GUI para escuchar las tramas de red y no depender de una herramienta como Wireshark para visualizar las tramas de forma intuitiva
    corecore