982 resultados para Software Architecture
Resumo:
In the last decade, the mechanical characterization of bone segments has been seen as a fundamental key to understanding how the distribution of physiological loads works on the bone in everyday life, and the resulting structural deformations. Therefore, characterization allows to obtain the main load directions and, consequently, to observe the structural lamellae of the bone disposal, in order to recreate a prosthesis using artificial materials that behave naturally. This thesis will expose a modular system which provides the mechanical characterization of bone in vitro segment, with particular attention to vertebrae, as the current object of study and research in the lab where I did my thesis work. The system will be able to acquire and process all the appropriately conditioned signals of interest for the test, through dedicated hardware and software architecture, with high speed and high reliability. The aim of my thesis is to create a system that can be used as a versatile tool for experimentation and innovation for future tests of the mechanical characterization of biological components, allowing a quantitative and qualitative assessment of the deformation in analysis, regardless of anatomical regions of interest.
Resumo:
Modern e-learning systems represent a special type of web information systems. By definition, information systems are special computerized systems used to perform data operations by multiple users simultaneously. Each active user consumes an amount of hardware resources. A shortage of hardware resources can be caused by growing number of simultaneous users. Such situation can result in overall malfunctioning or slowed-down system. In order to avoid this problem, the underlying hardware system gets usually continuously upgraded. These upgrades, typically accompanied with various software updates, usually result in a temporarily increased amount of available resources. This work deals with the problem in a different way by proposing an implementation of a web e-learning system with a modified software architecture reducing resource usage of the server part to the bare minimum. In order to implement a full-scale e-learning system that could be used as a substitute to a conventional web e-learning system, a Rich Internet Application framework was used as basis. The technology allowed implementation of advanced interactivity features and provided an easy transfer of a substantial part of the application logic from server to clients. In combination with a special server application, the server part of the new system is able to run with a reasonable performance on a hardware with very limited computing resources.
Resumo:
Software architecture consists of a set of design choices that can be partially expressed in form of rules that the implementation must conform to. Architectural rules are intended to ensure properties that fulfill fundamental non-functional requirements. Verifying architectural rules is often a non- trivial activity: available tools are often not very usable and support only a narrow subset of the rules that are commonly specified by practitioners. In this paper we present a new highly-readable declarative language for specifying architectural rules. With our approach, users can specify a wide variety of rules using a single uniform notation. Rules can get tested by third-party tools by conforming to pre-defined specification templates. Practitioners can take advantage of the capabilities of a growing number of testing tools without dealing with them directly.
Resumo:
Software developers are often unsure of the exact name of the method they need to use to invoke the desired behavior in a given context. This results in a process of searching for the correct method name in documentation, which can be lengthy and distracting to the developer. We can decrease the method search time by enhancing the documentation of a class with the most frequently used methods. Usage frequency data for methods is gathered by analyzing other projects from the same ecosystem - written in the same language and sharing dependencies. We implemented a proof of concept of the approach for Pharo Smalltalk and Java. In Pharo Smalltalk, methods are commonly searched for using a code browser tool called "Nautilus", and in Java using a web browser displaying HTML based documentation - Javadoc. We developed plugins for both browsers and gathered method usage data from open source projects, in order to increase developer productivity by reducing method search time. A small initial evaluation has been conducted showing promising results in improving developer productivity.
Resumo:
OntoTag - A Linguistic and Ontological Annotation Model Suitable for the Semantic Web
1. INTRODUCTION. LINGUISTIC TOOLS AND ANNOTATIONS: THEIR LIGHTS AND SHADOWS
Computational Linguistics is already a consolidated research area. It builds upon the results of other two major ones, namely Linguistics and Computer Science and Engineering, and it aims at developing computational models of human language (or natural language, as it is termed in this area). Possibly, its most well-known applications are the different tools developed so far for processing human language, such as machine translation systems and speech recognizers or dictation programs.
These tools for processing human language are commonly referred to as linguistic tools. Apart from the examples mentioned above, there are also other types of linguistic tools that perhaps are not so well-known, but on which most of the other applications of Computational Linguistics are built. These other types of linguistic tools comprise POS taggers, natural language parsers and semantic taggers, amongst others. All of them can be termed linguistic annotation tools.
Linguistic annotation tools are important assets. In fact, POS and semantic taggers (and, to a lesser extent, also natural language parsers) have become critical resources for the computer applications that process natural language. Hence, any computer application that has to analyse a text automatically and ‘intelligently’ will include at least a module for POS tagging. The more an application needs to ‘understand’ the meaning of the text it processes, the more linguistic tools and/or modules it will incorporate and integrate.
However, linguistic annotation tools have still some limitations, which can be summarised as follows:
1. Normally, they perform annotations only at a certain linguistic level (that is, Morphology, Syntax, Semantics, etc.).
2. They usually introduce a certain rate of errors and ambiguities when tagging. This error rate ranges from 10 percent up to 50 percent of the units annotated for unrestricted, general texts.
3. Their annotations are most frequently formulated in terms of an annotation schema designed and implemented ad hoc.
A priori, it seems that the interoperation and the integration of several linguistic tools into an appropriate software architecture could most likely solve the limitations stated in (1). Besides, integrating several linguistic annotation tools and making them interoperate could also minimise the limitation stated in (2). Nevertheless, in the latter case, all these tools should produce annotations for a common level, which would have to be combined in order to correct their corresponding errors and inaccuracies. Yet, the limitation stated in (3) prevents both types of integration and interoperation from being easily achieved.
In addition, most high-level annotation tools rely on other lower-level annotation tools and their outputs to generate their own ones. For example, sense-tagging tools (operating at the semantic level) often use POS taggers (operating at a lower level, i.e., the morphosyntactic) to identify the grammatical category of the word or lexical unit they are annotating. Accordingly, if a faulty or inaccurate low-level annotation tool is to be used by other higher-level one in its process, the errors and inaccuracies of the former should be minimised in advance. Otherwise, these errors and inaccuracies would be transferred to (and even magnified in) the annotations of the high-level annotation tool.
Therefore, it would be quite useful to find a way to
(i) correct or, at least, reduce the errors and the inaccuracies of lower-level linguistic tools;
(ii) unify the annotation schemas of different linguistic annotation tools or, more generally speaking, make these tools (as well as their annotations) interoperate.
Clearly, solving (i) and (ii) should ease the automatic annotation of web pages by means of linguistic tools, and their transformation into Semantic Web pages (Berners-Lee, Hendler and Lassila, 2001). Yet, as stated above, (ii) is a type of interoperability problem. There again, ontologies (Gruber, 1993; Borst, 1997) have been successfully applied thus far to solve several interoperability problems. Hence, ontologies should help solve also the problems and limitations of linguistic annotation tools aforementioned.
Thus, to summarise, the main aim of the present work was to combine somehow these separated approaches, mechanisms and tools for annotation from Linguistics and Ontological Engineering (and the Semantic Web) in a sort of hybrid (linguistic and ontological) annotation model, suitable for both areas. This hybrid (semantic) annotation model should (a) benefit from the advances, models, techniques, mechanisms and tools of these two areas; (b) minimise (and even solve, when possible) some of the problems found in each of them; and (c) be suitable for the Semantic Web. The concrete goals that helped attain this aim are presented in the following section.
2. GOALS OF THE PRESENT WORK
As mentioned above, the main goal of this work was to specify a hybrid (that is, linguistically-motivated and ontology-based) model of annotation suitable for the Semantic Web (i.e. it had to produce a semantic annotation of web page contents). This entailed that the tags included in the annotations of the model had to (1) represent linguistic concepts (or linguistic categories, as they are termed in ISO/DCR (2008)), in order for this model to be linguistically-motivated; (2) be ontological terms (i.e., use an ontological vocabulary), in order for the model to be ontology-based; and (3) be structured (linked) as a collection of ontology-based
Resumo:
This paper describes a new category of CAD applications devoted to the definition and parameterization of hull forms, called programmed design. Programmed design relies on two prerequisites. The first one is a product model with a variety of types large enough to face the modeling of any type of ship. The second one is a design language dedicated to create the product model. The main purpose of the language is to publish the modeling algorithms of the application in the designer knowledge domain to let the designer create parametric model scripts. The programmed design is an evolution of the parametric design but it is not just parametric design. It is a tool to create parametric design tools. It provides a methodology to extract the design knowledge by abstracting a design experience in order to store and reuse it. Programmed design is related with the organizational and architectural aspects of the CAD applications but not with the development of modeling algorithms. It is built on top and relies on existing algorithms provided by a comprehensive product model. Programmed design can be useful to develop new applications, to support the evolution of existing applications or even to integrate different types of application in a single one. A three-level software architecture is proposed to make the implementation of the programmed design easier. These levels are the conceptual level based on the design language, the mathematical level based on the geometric formulation of the product model and the visual level based on the polyhedral representation of the model as required by the graphic card. Finally, some scenarios of the use of programmed design are discussed. For instance, the development of specialized parametric hull form generators for a ship type or a family of ships or the creation of palettes of hull form components to be used as parametric design patterns. Also two new processes of reverse engineering which can considerably improve the application have been detected: the creation of the mathematical level from the visual level and the creation of the conceptual level from the mathematical level. © 2012 Elsevier Ltd. All rights reserved. 1. Introduction
Resumo:
This work presents a navigation system for UGVs in large outdoor environments; virtual obstacles are added to the system in order to avoid zones that may present risks to the UGV or the elements in its surroundings. The platform, software architecture and the modifications necessary to handle the virtual obstacles are explained in detail. Several tests have been performed and their results show that the system proposed is capable of performing safe navigation in complex environments.
Resumo:
A set of software development tools for building real-time control systems on a simple robotics platform is described in the paper. The tools are being used in a real-time systems course as a basis for student projects. The development platform is a low-cost PC running GNU/Linux, and the target system is LEGO MINDSTORMS NXT, thus keeping the cost of the laboratory low. Real-time control software is developed using a mixed paradigm. Functional code for control algorithms is automatically generated in C from Simulink models. This code is then integrated into a concurrent, real-time software architecture based on a set of components written in Ada. This approach enables the students to take advantage of the high-level, model-oriented features that Simulink oers for designing control algorithms, and the comprehensive support for concurrency and real-time constructs provided by Ada.
Resumo:
To perform advanced manipulation of remote environments such as grasping, more than one finger is required implying higher requirements for the control architecture. This paper presents the design and control of a modular 3-finger haptic device that can be used to interact with virtual scenarios or to teleoperate dexterous remote hands. In a modular haptic device, each module allows the interaction with a scenario by using a single finger; hence, multi-finger interaction can be achieved by adding more modules. Control requirements for a multifinger haptic device are analyzed and new hardware/software architecture for these kinds of devices is proposed. The software architecture described in this paper is distributed and the different modules communicate to allow the remote manipulation. Moreover, an application in which this haptic device is used to interact with a virtual scenario is shown.
Resumo:
This paper proposes an automatic framework for the seamless integration of hardware accelerators, starting from an OpenMP-based application and an XML file describing the HW/SW partitioning. It extends a fully software architecture by generating and integrating the cores, along with the proper interfaces, and the code for scheduling and synchronization. Experimental results show that it is possible to validate different solutions only by varying the input code.
Resumo:
La mejora de las tecnologías ha tenido un importante impacto en Internet, así como en el número de usuarios. Este crecimiento sigue en aumento y se estima que en 2020 se alcancen 50 billones de dispositivos conectados a Internet, este impulso es en parte gracias a la interconexión de las “máquinas” entre ellas y con Internet, el concepto denominado M2M. Esta conexión entre dispositivos ofrece la posibilidad de mejorar los servicios dados a los usuarios y crear nuevos. Existen importantes alicientes en la evolución de M2M, sobre todo guiada por la gran cantidad de posibilidades ofrecidas y los beneficios que conllevan, sin embargo la falta de estandarización y horizontalidad se presentan como un problema para el crecimiento e implantación de M2M debido a la gran variedad de “maquinas” conectadas. El objetivo de este Proyecto Fin de Carrera es diseñar una plataforma que sea capaz de abarcar las funcionalidades que den soporte a las distintas necesidades de varias aplicaciones M2M, consiguiendo una arquitectura software horizontal que reutilice al máximo las funcionalidades comunes entre las aplicaciones cubiertas. De esta manera se presenta una solución a la falta de horizontalidad en las plataformas M2M. Este Proyecto Fin de Carrera está dividido en varias partes. Se comenzará con una introducción que sitúa en el contexto tecnológico de M2M en forma de estudio de estado del arte, abarcando los principales temas y conceptos relacionados con Machine-to-Machine. Posteriormente se realiza una propuesta de una arquitectura software M2M que permite focalizar los esfuerzos de la misma en un concentrado grupo de sectores y aplicaciones. A continuación se estudian las necesidades de los sectores y aplicaciones seleccionadas y se desarrollan las funcionalidades que incluye la plataforma, de esta manera se alcanza un modelo de arquitectura horizontal que es capaz de cubrir varios sectores. Se estudian los distintos resultados obtenidos en el desarrollo de la plataforma,validando el modelo obtenido con los resultados esperados. Finalmente se enunciarán los próximos pasos a seguir para la implementación de la plataforma. ABSTRACT. The development of technology has had an important impact on Internet, as well as on the number of users. This growth is increasing and it is estimated to reach 50 billion remotely connected devices by 2020, this momentum is partially due to interconnection between "machines" and their connection with internet, this concept is called M2M. The connection between devices gives the possibility to improve the services offered to users and to create new services. There are important incentives in the M2M evolution, mainly driven by the big amount of benefits offered; however the lack of standardization and horizontalization is a problem for the M2M growth and deployment due to the big variety of connected "machines". The aim of this Degree Project is to design a platform that will be capable of including the functionalities that will give support to the different needs of several M2M applications, achieving a horizontal software architecture that reuses the common functionalities between the applications supported. This architecture will be presented as a solution to the lack of horizontalization in M2M. This Degree Project is divided in several parts. It starts with an introduction that will place the reader in state of the art of the M2M technology context, covering the main themes and related concepts. After this introduction, a proposal of a horizontal M2M software architecture will be presented, that will allow to focus the efforts on a group of selected sectors and applications. Then, the needs of sectors and applications will be studied, and the main functionalities will be developed, in this way a model for a horizontal architecture will be reached, that will be able to cover several sectors. The resulting platform will be studied, in order to validate the model obtained with the expected results. Finally, the next steps to implement the platform are described.
Resumo:
The worldwide "hyper-connection" of any object around us is the challenge that promises to cover the paradigm of the Internet of Things. If the Internet has colonized the daily life of more than 2000 million1 people around the globe, the Internet of Things faces of connecting more than 100000 million2 "things" by 2020. The underlying Internet of Things’ technologies are the cornerstone that promises to solve interrelated global problems such as exponential population growth, energy management in cities, and environmental sustainability in the average and long term. On the one hand, this Project has the goal of knowledge acquisition about prototyping technologies available in the market for the Internet of Things. On the other hand, the Project focuses on the development of a system for devices management within a Wireless Sensor and Actuator Network to offer some services accessible from the Internet. To accomplish the objectives, the Project will begin with a detailed analysis of various “open source” hardware platforms to encourage creative development of applications, and automatically extract information from the environment around them for transmission to external systems. In addition, web platforms that enable mass storage with the philosophy of the Internet of Things will be studied. The project will culminate in the proposal and specification of a service-oriented software architecture for embedded systems that allows communication between devices on the network, and the data transmission to external systems. Furthermore, it abstracts the complexities of hardware to application developers. RESUMEN. La “hiper-conexión” a nivel mundial de cualquier objeto que nos rodea es el desafío al que promete dar cobertura el paradigma de la Internet de las Cosas. Si la Internet ha colonizado el día a día de más de 2000 millones1 de personas en todo el planeta, la Internet de las Cosas plantea el reto de conectar a más de 100000 millones2 de “cosas” para el año 2020. Las tecnologías subyacentes de la Internet de las Cosas son la piedra angular que prometen dar solución a problemas globales interrelacionados como el crecimiento exponencial de la población, la gestión de la energía en las ciudades o la sostenibilidad del medioambiente a largo plazo. Este Proyecto Fin de Carrera tiene como principales objetivos por un lado, la adquisición de conocimientos acerca de las tecnologías para prototipos disponibles en el mercado para la Internet de las Cosas, y por otro lado el desarrollo de un sistema para la gestión de dispositivos de una red inalámbrica de sensores que ofrezcan unos servicios accesibles desde la Internet. Con el fin de abordar los objetivos marcados, el proyecto comenzará con un análisis detallado de varias plataformas hardware de tipo “open source” que estimulen el desarrollo creativo de aplicaciones y que permitan extraer de forma automática información del medio que les rodea para transmitirlo a sistemas externos para su posterior procesamiento. Por otro lado, se estudiarán plataformas web identificadas con la filosofía de la Internet de las Cosas que permitan el almacenamiento masivo de datos que diferentes plataformas hardware transfieren a través de la Internet. El Proyecto culminará con la propuesta y la especificación una arquitectura software orientada a servicios para sistemas empotrados que permita la comunicación entre los dispositivos de la red y la transmisión de datos a sistemas externos, así como facilitar el desarrollo de aplicaciones a los programadores mediante la abstracción de la complejidad del hardware.
Resumo:
Software architecture is a key factor to scale up Agile Software Development ASD in large softwareintensive systems. Currently, software architectures are more often approached through mechanisms that enable to incrementally design and evolve software architectures aka. agile architecting. Agile architecting should be a light-weight decision-making process, which could be achieved by providing knowledge to assist agile architects in reasoning about changes. This paper presents the novel solution of using change-impact knowledge as the main driver for agile architecting. The solution consists of a Change Impact Analysis technique and a set of models to assist agile architects in the change -decision-making- process by retrieving the change-impact architectural knowledge resulting from adding or changing features iteration after iteration. To validate our approach, we have put our solution into practice by running a project of a metering management system in electric power networks in an i-smart software factory.
Resumo:
New digital artifacts are emerging in data-intensive science. For example, scientific workflows are executable descriptions of scientific procedures that define the sequence of computational steps in an automated data analysis, supporting reproducible research and the sharing and replication of best-practice and know-how through reuse. Workflows are specified at design time and interpreted through their execution in a variety of situations, environments, and domains. Hence it is essential to preserve both their static and dynamic aspects, along with the research context in which they are used. To achieve this, we propose the use of multidimensional digital objects (Research Objects) that aggregate the resources used and/or produced in scientific investigations, including workflow models, provenance of their executions, and links to the relevant associated resources, along with the provision of technological support for their preservation and efficient retrieval and reuse. In this direction, we specified a software architecture for the design and implementation of a Research Object preservation system, and realized this architecture with a set of services and clients, drawing together practices in digital libraries, preservation systems, workflow management, social networking and Semantic Web technologies. In this paper, we describe the backbone system of this realization, a digital library system built on top of dLibra.
Resumo:
En esta memoria se describe el trabajo de construcción de una arquitectura software diseñada para facilitar el desarrollo un planificador de misión de un vehículo aéreo no tripulado (UAV), con el fin de que éste alcance los objetivos marcados en la competición internacional de robótica IARC (séptima edición). A lo largo de la memoria, se describe en primer lugar, una revisión de técnicas de robótica inteligente aplicadas a la construcción de vehículos aéreos no tripulados, en el que se ven los diferentes paradigmas de programación de la robótica inteligente y la clasificación de dichos robots aéreos, dependiendo de su autonomía. Este descripción finaliza con la presentación del problema correspondiente a la competición IARC. A continuación se describe el diseño realizado para soporte al desarrollo de un planificador de misiones de UAVs, con simulación de comportamiento de vehículos robóticos y visualización 3D con movimiento. Finalmente, se muestran las pruebas que se han realizado para validar la construcción de dicha arquitectura software. ---ABSTRACT---In this report it is presented the construction of a software architecture, designed to facilitate the development of a mission planner for an unmanned aerial vehicle (UAV), so that it reaches the goals set in the International Aerial Robotics Competition - IARC (seventh edition). Throughout this report, it is described first, a review of intelligent robotics techniques applied to the construction of unmanned aerial vehicles, where different paradigms of intelligent robotics are seen, along with a classification of such aerial robots, depending on their autonomy. Description ends with the presentation of the problem corresponding to the IARC competition. Following, it is described the design made to satisfy the support to the development of a mission planner for UAV´s, with a simulation of the robotics vehicles’ behaviours and a 3D display with motion. Finally, we will deal with the tests that have been conducted to validate the construction of the software architecture.