119 resultados para Programmer


Relevância:

10.00% 10.00%

Publicador:

Resumo:

Logic programming (LP) is a family of high-level programming languages which provides high expressive power. With LP, the programmer writes the properties of the result and / or executable specifications instead of detailed computation steps. Logic programming systems which feature tabled execution and constraint logic programming have been shown to increase the declarativeness and efficiency of Prolog, while at the same time making it possible to write very expressive programs. Tabled execution avoids infinite failure in some cases, while improving efficiency in programs which repeat computations. CLP reduces the search tree and brings the power of solving (in)equations over arbitrary domains. Similarly to the LP case, CLP systems can also benefit from the power of tabling. Previous implementations which take ful advantage of the ideas behind tabling (e.g., forcing suspension, answer subsumption, etc. wherever it is necessary to avoid recomputation and terminate whenever possible) did not offer a simple, well-documented, easy-to-understand interface. This would be necessary to make the integratation of arbitrary CLP solvers into existing tabling systems possible. This clearly hinders a more widespread usage of the combination of both facilities. In this thesis we examine the requirements that a constraint solver must fulfill in order to be interfaced with a tabling system. We propose and implement a framework, which we have called Mod TCLP, with a minimal set of operations (e.g., entailment checking and projection) which the constraint solver has to provide to the tabling engine. We validate the design of Mod TCLP by a series of use cases: we re-engineer a previously existing tabled constrain domain (difference constraints) which was connected in an ad-hoc manner with the tabling engine in Ciao Prolog; we integrateHolzbauer’s CLP(Q) implementationwith Ciao Prolog’s tabling engine; and we implement a constraint solver over (finite) lattices. We evaluate its performance with several benchmarks that implement a simple abstract interpreter whose fixpoint is reached by means of tabled execution, and whose domain operations are handled by the constraint over (finite) lattices, where TCLP avoids recomputing subsumed abstractions.---ABSTRACT---La programación lógica con restricciones (CLP) y la tabulación son extensiones de la programación lógica que incrementan la declaratividad y eficiencia de Prolog, al mismo tiempo que hacen posible escribir programasmás expresivos. Las implementaciones anteriores que integran completamente ambas extensiones, incluyendo la suspensión de la ejecución de objetivos siempre que sea necesario, la implementación de inclusión (subsumption) de respuestas, etc., en todos los puntos en los que sea necesario para evitar recomputaciones y garantizar la terminación cuando sea posible, no han proporcionan una interfaz simple, bien documentada y fácil de entender. Esta interfaz es necesaria para permitir integrar resolutores de CLP arbitrarios en el sistema de tabulación. Esto claramente dificulta un uso más generalizado de la integración de ambas extensiones. En esta tesis examinamos los requisitos que un resolutor de restricciones debe cumplir para ser integrado con un sistema de tabulación. Proponemos un esquema (y su implementación), que hemos llamadoMod TCLP, que requiere un reducido conjunto de operaciones (en particular, y entre otras, entailment y proyección de almacenes de restricciones) que el resolutor de restricciones debe ofrecer al sistema de tabulación. Hemos validado el diseño de Mod TCLP con una serie de casos de uso: la refactorización de un sistema de restricciones (difference constraints) previamente conectado de un modo ad-hoc con la tabulación de Ciao Prolog; la integración del sistema de restricciones CLP(Q) de Holzbauer; y la implementación de un resolutor de restricciones sobre retículos finitos. Hemos evaluado su rendimiento con varios programas de prueba, incluyendo la implementación de un intérprete abstracto que alcanza su punto fijo mediante el sistema de tabulación y en el que las operaciones en el dominio son realizadas por el resolutor de restricciones sobre retículos (finitos) donde TCLP evita la recomputación de valores abstractos de las variables ya contenidos en llamadas anteriores.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

El paradigma de procesamiento de eventos CEP plantea la solución al reto del análisis de grandes cantidades de datos en tiempo real, como por ejemplo, monitorización de los valores de bolsa o el estado del tráfico de carreteras. En este paradigma los eventos recibidos deben procesarse sin almacenarse debido a que el volumen de datos es demasiado elevado y a las necesidades de baja latencia. Para ello se utilizan sistemas distribuidos con una alta escalabilidad, elevado throughput y baja latencia. Este tipo de sistemas son usualmente complejos y el tiempo de aprendizaje requerido para su uso es elevado. Sin embargo, muchos de estos sistemas carecen de un lenguaje declarativo de consultas en el que expresar la computación que se desea realizar sobre los eventos recibidos. En este trabajo se ha desarrollado un lenguaje declarativo de consultas similar a SQL y un compilador que realiza la traducción de este lenguaje al lenguaje nativo del sistema de procesamiento masivo de eventos. El lenguaje desarrollado en este trabajo es similar a SQL, con el que se encuentran familiarizados un gran número de desarrolladores y por tanto aprender este lenguaje no supondría un gran esfuerzo. Así el uso de este lenguaje logra reducir los errores en ejecución de la consulta desplegada sobre el sistema distribuido al tiempo que se abstrae al programador de los detalles de este sistema.---ABSTRACT---The complex event processing paradigm CEP has become the solution for high volume data analytics which demand scalability, high throughput, and low latency. Examples of applications which use this paradigm are financial processing or traffic monitoring. A distributed system is used to achieve the performance requisites. These same requisites force the distributed system not to store the events but to process them on the fly as they are received. These distributed systems are complex systems which require a considerably long time to learn and use. The majority of such distributed systems lack a declarative language in which to express the computation to perform over incoming events. In this work, a new SQL-like declarative language and a compiler have been developed. This compiler translates this new language to the distributed system native language. Due to its similarity with SQL a vast amount of developers who are already familiar with SQL will need little time to learn this language. Thus, this language reduces the execution failures at the time the programmer no longer needs to know every single detail of the underlying distributed system to submit a query.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Quizás el campo de las telecomunicaciones sea uno de los campos en el que más se ha progresado en este último siglo y medio, con la ayuda de otros campos de la ciencia y la técnica tales como la computación, la física electrónica, y un gran número de disciplinas, que se han utilizado estos últimos 150 años en conjunción para mejorarse unas con la ayuda de otras. Por ejemplo, la química ayuda a comprender y mejorar campos como la medicina, que también a su vez se ve mejorada por los progresos en la electrónica creados por los físicos y químicos, que poseen herramientas más potentes para calcular y simular debido a los progresos computacionales. Otro de los campos que ha sufrido un gran avance en este último siglo es el de la automoción, aunque estancados en el motor de combustión, los vehículos han sufrido enormes cambios debido a la irrupción de los avances en la electrónica del automóvil con multitud de sistemas ya ampliamente integrados en los vehículos actuales. La Formula SAE® o Formula Student es una competición de diseño, organizada por la SAE International (Society of Automotive Engineers) para estudiantes de universidades de todo el mundo que promueve la ingeniería a través de una competición donde los miembros del equipo diseñan, construyen, desarrollan y compiten en un pequeño y potente monoplaza. En el ámbito educativo, evitando el sistema tradicional de clases magistrales, se introducen cambios en las metodologías de enseñanza y surge el proyecto de la Fórmula Student para lograr una mejora en las acciones formativas, que permitan ir incorporando nuevos objetivos y diseñar nuevas situaciones de aprendizaje que supongan una oportunidad para el desarrollo de competencias de los alumnos, mejorar su formación como ingenieros y contrastar sus progresos compitiendo con las mejores universidades del mundo. En este proyecto se pretende dotar a los alumnos de las escuelas de ingeniería de la UPM que desarrollan el vehículo de FSAE de una herramienta de telemetría con la que evaluar y probar comportamiento del vehículo de FSAE junto con sus subsistemas que ellos mismos diseñan, con el objetivo de evaluar el comportamiento, introducir mejoras, analizar resultados de una manera más rápida y cómoda, con el objetivo de poder progresar más rápidamente en su desarrollo, recibiendo y almacenando una realimentación directa e instantánea del funcionamiento mediante la lectura de los datos que circulan por el bus CAN del vehículo. También ofrece la posibilidad de inyectar datos a los sistemas conectados al bus CAN de manera remota. Se engloba en el conjunto de proyectos de la FSAE, más concretamente en los basados en la plataforma PIC32 y propone una solución conjunta con otros proyectos o también por sí sola. Para la ejecución del proyecto se fabricó una placa compuesta de dos placas de circuito impreso, la de la estación base que envía comandos, instrucciones y datos para inyectar en el bus CAN del vehículo mediante radiofrecuencia y la placa que incorpora el vehículo que envía las tramas que circulan por el bus CAN del vehículo con los identificadores deseados, ejecuta los comandos recibidos por radiofrecuencia y salva las tramas CAN en una memoria USB o SD Card. Las dos PCBs constituyen el hardware del proyecto. El software se compone de dos programas. Un programa para la PCB del vehículo que emite los datos a la estación base, codificado en lenguaje C con ayuda del entorno de desarrollo MPLAB de Microchip. El otro programa hecho con LabView para la PCB de la estación base que recibe los datos provenientes del vehículo y los interpreta. Se propone un hardware y una capa o funciones de software para los microcontroladores PIC32 (similar al de otros proyectos del FSAE) para la transmisión de las tramas del bus CAN del vehículo de manera inalámbrica a una estación base, capaz de insertar tramas en el bus CAN del vehículo enviadas desde la estación base. También almacena estas tramas CAN en un dispositivo USB o SD Card situado en el vehículo. Para la transmisión de los datos se hizo un estudio de las frecuencias de transmisión, la legislación aplicable y los tipos de transceptores. Se optó por utilizar la banda de radiofrecuencia de uso común ISM de 433MHz mediante el transceptor integrado CC110L de Texas Instruments altamente configurable y con interfaz SPI. Se adquirieron dos parejas de módulos compatibles, con amplificador de potencia o sin él. LabView controla la estación que recoge las tramas CAN vía RF y está dotada del mismo transceptor de radio junto con un puente de comunicaciones SPI-USB, al que se puede acceder de dos diferentes maneras, mediante librerías dll, o mediante NI-VISA con transferencias RAW-USB. La aplicación desarrollada posee una interfaz configurable por el usuario para la muestra de los futuros sensores o actuadores que se incorporen en el vehículo y es capaz de interpretar las tramas CAN, mostrarlas, gráfica, numéricamente y almacenar esta información, como si fuera el cuadro de instrumentos del vehículo. Existe una limitación de la velocidad global del sistema en forma de cuello de botella que se crea debido a las limitaciones del transceptor CC110L por lo que si no se desea filtrar los datos que se crean necesarios, sería necesario aumentar el número de canales de radio para altas ocupaciones del bus CAN. Debido a la pérdida de relaciones con el INSIA, no se pudo probar de manera real en el propio vehículo, pero se hicieron pruebas satisfactorias (hasta 1,6 km) con una configuración de tramas CAN estándar a una velocidad de transmisión de 1 Mbit/s y un tiempo de bit de 1 microsegundo. El periférico CAN del PIC32 se programará para cumplir con estas especificaciones de la ECU del vehículo, que se presupone que es la MS3 Sport de Bosch, de la que LabView interpretará las tramas CAN recibidas de manera inalámbrica. Para poder probar el sistema, ha sido necesario reutilizar el hardware y adaptar el software del primer prototipo creado, que emite tramas CAN preprogramadas con una latencia también programable y que simulará al bus CAN proporcionando los datos a transmitir por el sistema que incorpora el vehículo. Durante el desarrollo de este proyecto, en las etapas finales, el fabricante del puente de comunicaciones SPI-USB MCP2210 liberó una librería (dll) compatible y sin errores, por lo que se nos ofrecía una oportunidad interesante para la comparación de las velocidades de acceso al transceptor de radio, que se presuponía y se comprobó más eficiente que la solución ya hecha mediante NI-VISA. ABSTRACT. The Formula SAE competition is an international university applied to technological innovation in vehicles racing type formula, in which each team, made up of students, should design, construct and test a prototype each year within certain rules. The challenge of FSAE is that it is an educational project farther away than a master class. The goal of the present project is to make a tool for other students to use it in his projects related to FSAE to test and improve the vehicle, and, the improvements that can be provided by the electronics could be materialized in a victory and win the competition with this competitive advantage. A telemetry system was developed. It sends the data provided by the car’s CAN bus through a radio frequency transceiver and receive commands to execute on the system, it provides by a base station on the ground. Moreover, constant verification in real time of the status of the car or data parameters like the revolutions per minute, pressure from collectors, water temperature, and so on, can be accessed from the base station on the ground, so that, it could be possible to study the behaviour of the vehicle in early phases of the car development. A printed circuit board, composed of two boards, and two software programs in two different languages, have been developed, and built for the project implementation. The software utilized to design the PCB is Orcad10.5/Layout. The base station PCB on a PC receives data from the PCB connected to the vehicle’s CAN bus and sends commands like set CAN filters or masks, activate data logger or inject CAN frames. This PCB is connected to a PC via USB and contains a bridge USB-SPI to communicate with a similar transceiver on the vehicle PCB. LabView controls this part of the system. A special virtual Instrument (VI) had been created in order to add future new elements to the vehicle, is a dashboard, which reads the data passed from the main VI and represents them graphically to studying the behaviour of the car on track. In this special VI other alums can make modifications to accommodate the data provided from the vehicle CAN’s bus to new elements on the vehicle, show or save the CAN frames in the form or format they want. Two methods to access to SPI bus of CC110l RF transceiver over LabView have been developed with minimum changes between them. Access through NI-VISA (Virtual Instrument Software Architecture) which is a standard for configuring, programming, USB interfaces or other devices in National Instruments LabView. And access through DLL (dynamic link library) supplied by the manufacturer of the bridge USB-SPI, Microchip. Then the work is done in two forms, but the dll solution developed shows better behaviour, and increase the speed of the system because has less overload of the USB bus due to a better efficiency of the dll solution versus VISA solution. The PCB connected to the vehicle’s CAN bus receives commands from the base station PCB on a PC, and, acts in function of the command or execute actions like to inject packets into CAN bus or activate data logger. Also sends over RF the CAN frames present on the bus, which can be filtered, to avoid unnecessary radio emissions or overflowing the RF transceiver. This PCB consists of two basic pieces: A microcontroller with 32 bit architecture PIC32MX795F512L from Microchip and the radio transceiver integrated circuit CC110l from Texas Instruments. The PIC32MX795F512L has an integrated CAN and several peripherals like SPI controllers that are utilized to communicate with RF transceiver and SD Card. The USB controller on the PIC32 is utilized to store CAN data on a USB memory, and change notification peripheral is utilized like an external interrupt. Hardware for other peripherals is accessible. The software part of this PCB is coded in C with MPLAB from Microchip, and programming over PICkit 3 Programmer, also from Microchip. Some of his libraries have been modified to work properly with this project and other was created specifically for this project. In the phase for RF selection and design is made a study to clarify the general aspects of regulations for the this project in order to understand it and select the proper band, frequency, and radio transceiver for the activities developed in the project. From the different options available it selects a common use band ICM, with less regulation and free to emit with restrictions and disadvantages like high occupation. The transceiver utilized to transmit and receive the data CC110l is an integrated circuit which needs fewer components from Texas Instruments and it can be accessed through SPI bus. Basically is a state machine which changes his state whit commands received over an SPI bus or internal events. The transceiver has several programmable general purpose Inputs and outputs. These GPIOs are connected to PIC32 change notification input to generate an interrupt or connected to GPIO to MCP2210 USB-SPI bridge to inform to the base station for a packet received. A two pair of modules of CC110l radio module kit from different output power has been purchased which includes an antenna. This is to keep away from fabrication mistakes in RF hardware part or designs, although reference design and gerbers files are available on the webpage of the chip manufacturer. A neck bottle is present on the complete system, because the maximum data rate of CC110l transceiver is a half than CAN bus data rate, hence for high occupation of CAN bus is recommendable to filter the data or add more radio channels, because the buffers can’t sustain this load along the time. Unfortunately, during the development of the project, the relations with the INSIA, who develops the vehicle, was lost, for this reason, will be made impossible to test the final phases of the project like integration on the car, final test of integration, place of the antenna, enclosure of the electronics, connectors selection, etc. To test or evaluate the system, it was necessary to simulate the CAN bus with a hardware to feed the system with entry data. An early hardware prototype was adapted his software to send programed CAN frames at a fixed data rate and certain timing who simulate several levels of occupation of the CAN Bus. This CAN frames emulates the Bosch ECU MS3 Sport.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Está ampliamente aceptado que es fundamental desarrollar la habilidad de resolver problemas. El pensamiento computacional se basa en resolver problemas haciendo uso de conceptos fundamentales de la informática. Nada mejor para desarrollar la habilidad de resolver problemas usando conceptos informáticos que una asignatura de introducción a la programación. Este trabajo presenta nuestras reflexiones acerca de cómo iniciar a un estudiante en el campo de la programación de computadores. El trabajo no detalla los contenidos a impartir, sino que se centra en aspectos metodológicos, con la inclusión de experiencias y ejemplos concretos, a la vez que generales, extensibles a cualquier enseñanza de programación. En general, aunque se van desarrollado lenguajes cada vez más cercanos al lenguaje humano, la programación de ordenadores utilizando lenguajes formales no es una materia intuitiva y de fácil comprensión por parte de los estudiantes. A la persona que ya sabe programar le parece una tarea sencilla, pero al neófito no. Es más, dominar el arte de la programación es complejo. Por esta razón es indispensable utilizar todas las técnicas y herramientas posibles que faciliten dicha labor.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Achieving consistency between a specification and its implementation is an important part of software development In previous work, we have presented a method and tool support for testing a formal specification using animation and then verifying an implementation of that specification. The method is based on a testgraph, which provides a partial model of the application under test. The testgraph is used in combination with an animator to generate test sequences for testing the formal specification. The same testgraph is used during testing to execute those same sequences on the implementation and to ensure that the implementation conforms to the specification. So far, the method and its tool support have been applied to software components that can be accessed through an application programmer interface (API). In this paper, we use an industrially-based case study to discuss the problems associated with applying the method to a software system with a graphical user interface (GUI). In particular, the lack of a standardised interface, as well as controllability and observability problems, make it difficult to automate the testing of the implementation. The method can still be applied, but the amount of testing that can be carried on the implementation is limited by the manual effort involved.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In component-based software engineering programs are constructed from pre-defined software library modules. However, if the library's subroutines do not exactly match the programmer's requirements, the subroutines' code must be adapted accordingly. For this process to be acceptable in safety or mission-critical applications, where all code must be proven correct, it must be possible to verify the correctness of the adaptations themselves. In this paper we show how refinement theory can be used to model typical adaptation steps and to define the conditions that must be proven to verify that a library subroutine has been adapted correctly.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In ordinary computer programs, the relationship between data in a machine and the concepts it represents is defined arbitrarily by the programmer. It is argued here that the Strong AI hypothesis suggests that no such arbitrariness is possible in the relationship between brain states and mental experiences, and that this may place surprising limitations on the possible variety of mental experiences. Possible psychology experiments are sketched which aim to falsify the Strong AI hypothesis by indicating that these limits can be exceeded. It is concluded that although such experiments might be valuable, they are unlikely to succeed in this aim.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Jackson System Development (JSD) is an operational software development method which addresses most of the software lifecycle either directly or by providing a framework into which more specialised techniques can fit. The method has two major phases: first an abstract specification is derived that is in principle executable; second the specification is implemented using a variety of transformations. The object oriented paradigm is based on data abstraction and encapsulation coupled to an inheritance architecture that is able to support software reuse. Its claims of improved programmer productivity and easier program maintenance make it an important technology to be considered for building complex software systems. The mapping of JSD specifications into procedural languages typified by Cobol, Ada, etc., involves techniques such as inversion and state vector separation to produce executable systems of acceptable performance. However, at present, no strategy exists to map JSD specifications into object oriented languages. The aim of this research is to investigate the relationship between JSD and the object oriented paradigm, and to identify and implement transformations capable of mapping JSD specifications into an object oriented language typified by Smalltalk-80. The direction which the transformational strategy follows is one whereby the concurrency of a specification is removed. Two approaches implementing inversion - an architectural transformation resulting in a simulated coroutine mechanism being generated - are described in detail. The first approach directly realises inversions by manipulating Smalltalk-80 system contexts. This is possible in Smalltalk-80 because contexts are first class objects and are accessible to the user like any other system object. However, problems associated with this approach are expounded. The second approach realises coroutine-like behaviour in a structure called a `followmap'. A followmap is the results of a transformation on a JSD process in which a collection of followsets is generated. Each followset represents all possible state transitions a process can undergo from the current state of the process. Followsets, together with exploitation of the class/instance mechanism for implementing state vector separation, form the basis for mapping JSD specifications into Smalltalk-80. A tool, which is also built in Smalltalk-80, supports these derived transformations and enables a user to generate Smalltalk-80 prototypes of JSD specifications.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Changes in modern structural design have created a demand for products which are light but possess high strength. The objective is a reduction in fuel consumption and weight of materials to satisfy both economic and environmental criteria. Cold roll forming has the potential to fulfil this requirement. The bending process is controlled by the shape of the profile machined on the periphery of the rolls. A CNC lathe can machine complicated profiles to a high standard of precision, but the expertise of a numerical control programmer is required. A computer program was developed during this project, using the expert system concept, to calculate tool paths and consequently to expedite the procurement of the machine control tapes whilst removing the need for a skilled programmer. Codifying the expertise of a human and the encapsulation of knowledge within a computer memory, destroys the dependency on highly trained people whose services can be costly, inconsistent and unreliable. A successful cold roll forming operation, where the product is geometrically correct and free from visual defects, is not easy to attain. The geometry of the sheet after travelling through the rolling mill depends on the residual strains generated by the elastic-plastic deformation. Accurate evaluation of the residual strains can provide the basis for predicting the geometry of the section. A study of geometric and material non-linearity, yield criteria, material hardening and stress-strain relationships was undertaken in this research project. The finite element method was chosen to provide a mathematical model of the bending process and, to ensure an efficient manipulation of the large stiffness matrices, the frontal solution was applied. A series of experimental investigations provided data to compare with corresponding values obtained from the theoretical modelling. A computer simulation, capable of predicting that a design will be satisfactory prior to the manufacture of the rolls, would allow effort to be concentrated into devising an optimum design where costs are minimised.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Java software or libraries can evolve via subclassing. Unfortunately, subclassing may not properly support code adaptation when there are dependencies between classes. More precisely, subclassing in collections of related classes may require reimplementation of otherwise valid classes. This problem is defined as the subclassing anomaly, which is an issue when software evolution or code reuse is a goal of the programmer who is using existing classes. Object Teams offers an implicit fix to this problem and is largely compatible with the existing JVMs. In this paper, we evaluate how well Object Teams succeeds in providing a solution for a complex, real world project. Our results indicate that while Object Teams is a suitable solution for simple examples, it does not meet the requirements for large scale projects. The reasons why Object Teams fails in certain usages may prove useful to those who create linguistic modifications in languages or those who seek new methods for code adaptation.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Bulgarian and world computer science lost a prominent colleague: Dimitar Petrov Shishkov 22th January 1939, Varna – 8th March 2004, Sofia D. Shishkov graduated mathematics at Sofia University in 1962. In the last year of his studies he started a specialization as a programmer at the Joint Institute of Nuclear Research – Dubna which lasted three years. Then he worked at the Institute of Mathematics for two years. In 1966 D. Shishkov together with a group of experts transferred to the newly created Central Laboratory for Information Technologies. In 1976 he defended his PhD dissertation. He has been an associate professor in computer science at Sofia University since 1985 and a professor in computer science since 2000. His scientific interests and results were in the fields of computer architectures, computational linguistics, artificial intelligence, numerical methods, data structures, etc. He was remarkable with his teaching activities. D. Shishkov was the creator of high-quality software for the first Bulgarian electronic calculator “ELKA” – one of the first calculators in the world as well as for the series of next calculators and for specialized minicomputers. He was the initiator of the international project “Computerization of the natural languages”. He was a member of a range of international scientific organizations. Among his numerous activities was the organization of the I-st Programming competition in 1979. D. Shishkov was the initiator of sport dancing in Bulgaria (1967) and founder of the first sport-dancing high school education in the world. D. Shishkov was a highly accomplished person with a diversity of interests, with a developed social responsibility and accuracy in his work. In 1996 D. Shishkov was awarded with the International Prize ITHEA for outstanding achievements in the field of Information Theories and Applications. We are grateful to D. Shishkov for the chance to work together with him for establishment and development of IJ ITA.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A Case-Based Reasoning (CBR) tool is software that can be used to develop several applications that require cased-based reasoning methodology. CBR shells are kind of application generators with graphical user interface. They can be used by non-programmer users but the extension or integration of new components in these tools is not possible. In this paper we analyzed three CBR object-oriented framework development environments CBR*Tools, CAT-CBR, and JColibri. These frameworks work as open software development environment and facilitate the reuse of their design as well as implementations.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Multi-Cloud Applications are composed of services offered by multiple cloud platforms where the user/developer has full knowledge of the use of such platforms. The use of multiple cloud platforms avoids the following problems: (i) vendor lock-in, which is dependency on the application of a certain cloud platform, which is prejudicial in the case of degradation or failure of platform services, or even price increasing on service usage; (ii) degradation or failure of the application due to fluctuations in quality of service (QoS) provided by some cloud platform, or even due to a failure of any service. In multi-cloud scenario is possible to change a service in failure or with QoS problems for an equivalent of another cloud platform. So that an application can adopt the perspective multi-cloud is necessary to create mechanisms that are able to select which cloud services/platforms should be used in accordance with the requirements determined by the programmer/user. In this context, the major challenges in terms of development of such applications include questions such as: (i) the choice of which underlying services and cloud computing platforms should be used based on the defined user requirements in terms of functionality and quality (ii) the need to continually monitor the dynamic information (such as response time, availability, price, availability), related to cloud services, in addition to the wide variety of services, and (iii) the need to adapt the application if QoS violations affect user defined requirements. This PhD thesis proposes an approach for dynamic adaptation of multi-cloud applications to be applied when a service is unavailable or when the requirements set by the user/developer point out that other available multi-cloud configuration meets more efficiently. Thus, this work proposes a strategy composed of two phases. The first phase consists of the application modeling, exploring the similarities representation capacity and variability proposals in the context of the paradigm of Software Product Lines (SPL). In this phase it is used an extended feature model to specify the cloud service configuration to be used by the application (similarities) and the different possible providers for each service (variability). Furthermore, the non-functional requirements associated with cloud services are specified by properties in this model by describing dynamic information about these services. The second phase consists of an autonomic process based on MAPE-K control loop, which is responsible for selecting, optimally, a multicloud configuration that meets the established requirements, and perform the adaptation. The adaptation strategy proposed is independent of the used programming technique for performing the adaptation. In this work we implement the adaptation strategy using various programming techniques such as aspect-oriented programming, context-oriented programming and components and services oriented programming. Based on the proposed steps, we tried to assess the following: (i) the process of modeling and the specification of non-functional requirements can ensure effective monitoring of user satisfaction; (ii) if the optimal selection process presents significant gains compared to sequential approach; and (iii) which techniques have the best trade-off when compared efforts to development/modularity and performance.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

We thank: the patients who took part; Monsieur John-Pierre Bleton for training the physiotherapists; Gladys McPherson (Senior IT Manager), Adesoji Adeyemi (programmer) and Diana Collins (data entry) from the Centre for Healthcare Randomised Trials, University of Aberdeen who provided the randomisation and database service; and the funders including The Dystonia Society, the RS Macdonald Charitable Trust, The Sir Halley Stewart Trust, The Foyle Foundation and The Garfield Weston Foundation. The Dystonia Society and other funders had no role in the design, conduct, analysis or writing of the report or the decision to submit the manuscript.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Automated acceptance testing is the testing of software done in higher level to test whether the system abides by the requirements desired by the business clients by the use of piece of script other than the software itself. This project is a study of the feasibility of acceptance tests written in Behavior Driven Development principle. The project includes an implementation part where automated accep- tance testing is written for Touch-point web application developed by Dewire (a software consultant company) for Telia (a telecom company) from the require- ments received from the customer (Telia). The automated acceptance testing is in Cucumber-Selenium framework which enforces Behavior Driven Development principles. The purpose of the implementation is to verify the practicability of this style of acceptance testing. From the completion of implementation, it was concluded that all the requirements from customer in real world can be converted into executable specifications and the process was not at all time-consuming or difficult for a low-experienced programmer like the author itself. The project also includes survey to measure the learnability and understandability of Gherkin- the language that Cucumber understands. The survey consist of some Gherkin exam- ples followed with questions that include making changes to the Gherkin exam- ples. Survey had 3 parts: first being easy, second medium and third most difficult. Survey also had a linear scale from 1 to 5 to rate the difficulty level for each part of the survey. 1 stood for very easy and 5 for very difficult. Time when the partic- ipants began the survey was also taken in order to calculate the total time taken by the participants to learn and answer the questions. Survey was taken by 18 of the employers of Dewire who had primary working role as one of the programmer, tester and project manager. In the result, tester and project manager were grouped as non-programmer. The survey concluded that it is very easy and quick to learn Gherkin. While the participants rated Gherkin as very easy.