238 research outputs found
Design of a computational application for the evaluation of the quality of export lemon
The automation of food processes increases the quality, productivity, and economy of the companies. This study aimed at the development of a Computer Vision System (CVS) to classify lemons in real-time according to their diameter. The CVS consisted of a software, coded in Java programming language, which covers the acquisition, pre-processing, segmentation, description, recognition, and interpretation of the images. The classification criteria were in accord with the CODEX STAN 213 standard for lime-lemon. The CVS reached a 0% error in the classification of the diameter of the lemons and required 0.33 seconds as processing time to detect and classify each lemon. The CVS showed high performance in the automatic classification of lemons according to their diameter. This CVS could avoid the disadvantages of manual classification
Universal Mobile Service Execution Framework for Device-To-Device Collaborations
There are high demands of effective and high-performance of collaborations between mobile devices in the places where traditional Internet connections are unavailable, unreliable, or significantly overburdened, such as on a battlefield, disaster zones, isolated rural areas, or crowded public venues. To enable collaboration among the devices in opportunistic networks, code offloading and Remote Method Invocation are the two major mechanisms to ensure code portions of applications are successfully transmitted to and executed on the remote platforms. Although these domains are highly enjoyed in research for a decade, the limitations of multi-device connectivity, system error handling or cross platform compatibility prohibit these technologies from being broadly applied in the mobile industry.
To address the above problems, we designed and developed UMSEF - an Universal Mobile Service Execution Framework, which is an innovative and radical approach for mobile computing in opportunistic networks. Our solution is built as a component-based mobile middleware architecture that is flexible and adaptive with multiple network topologies, tolerant for network errors and compatible for multiple platforms. We provided an effective algorithm to estimate the resource availability of a device for higher performance and energy consumption and a novel platform for mobile remote method invocation based on declarative annotations over multi-group device networks. The experiments in reality exposes our approach not only achieve the better performance and energy consumption, but can be extended to large-scaled ubiquitous or IoT systems
Monikieliohjelmointi Web-sovelluskehityksessä
Different programming languages are used to solve different problem domains. Front-end code standards and best practices are used to separate presentation, content and behavior. Architectural approaches like three-tier client-server architecture present user interface, business logic and data access as independent modules to develop and maintain.
The idea of polyglot programming is to combine and utilize the best solutions from different programming languages and paradigms. Therefore, polyglot programming has the potential to improve web development in various areas. Web development has always been polyglot.
Polyglot system has two essential aspects, the platform used for the integration and the programming languages supported. The recent rise of non-Java programming languages running on the Java Virtual Machine has created a favorable environment for polyglot programming. The possibility to use more expressive and succinct programming languages with existing solutions has proven to be essential in web development.
An example web project was implemented to study the observations in practice. The project was implemented in both Java and Groovy as a server-side web application and also with Vert.x and AngularJS as a client-side single-page application. Also an additional Groovy implementation with Java legacy domain model was implemented to study programming language interoperability on the Java Virtual Machine. The results were evaluated against related work consisting two project implementations and three case study projects presented also in the context of polyglot programming in web development.
Polyglot programming can enhance web development, because different programming languages and frameworks promise an increase in productivity, reduced amount of code and improved code quality that together promote better maintainability. Although polyglot programming has a steep learning curve that affects on required knowledge, maintainability, and tool support.Erilaisia ongelma-alueita pyritään ratkaisemaan käyttäen eri ohjelmointikieliä. Esimerkiksi Frontend-ohjelmointikäytäntöjä noudattamalla voidaan erottaa esitys-, sisältö ja toimintalogiikka toisistaan. Lisäksi arkkitehtuuriratkaisut, kuten kolmikerrosarkkitehtuuri, jakavat käyttöliittymän, toimintalogiikan ja tietovarastojen käytön itsenäisiksi, mahdollisesti toisistaan erillään kehitettäviksi ja ylläpidettäviksi moduuleiksi.
Monikieliohjelmoinnin ideana on yhdistää ja hyödyntää ohjelmointikielten ja ohjelmointiparadigmojen parhaat ratkaisut. Tästä syystä monikieliohjelmointi voi mahdollisesti parantaa Web-sovelluskehitystä useilla eri osa-alueilla. Monikielisyys on aina ollut osa Web-sovelluskehitystä.
Monikielisessä järjestelmässä on kaksi olennaista ominaisuutta, käytettävissä oleva sovelluskehitysalusta sekä käytettävissä olevat ohjelmointikielet. Viimeaikainen kehitys ohjelmointikielissä Java-virtuaalikoneella on luonut suotuisan ympäristön monikieliohjelmoinnille. Mahdollisuus käyttää kuvaavampia ja ytimekkäämpiä ohjelmointikieliä olemassa olevien ratkaisujen tukena on osoittautunut tärkeäksi.
Työn yhteydessä toteutettua esimerkkiprojektia käytettiin tarkastelemaan tehtyjä havaintoja käytännössä. Projekti toteutettiin sekä Java- että Groovy-ohjelmointikielellä palvelinpuolen Web-sovelluksena sekä Vert.x ja AngularJS Web-sovelluskehyksiä hyödyntäen asiakaspuolen yhden sivun Web-sovelluksena. Lisäksi ohjelmointikielten yhteentoimivuutta tutkittiin tekemällä Groovy-ohjelmointikielellä toteutus, joka hyödynsi valmista Java-toteutuksen toimialueen mallinnusta.
Monikieliohjelmointi voi tehdä Web-sovelluskehityksestä kannattavampaa. Eri ohjelmointikielet ja ohjelmistokehykset lupaavat lisätä tuottavuutta, vähentää tarvittavan koodin määrää, sekä parantaa koodin laatua, parantaen näin samalla ylläpidettävyyttä. On kuitenkin tärkeää huomata se, että monikieliohjelmointi kasvattaa tarvittavan tiedon määrä, mikä vaikuttaa suoraan ylläpidettävyyteen sekä tarvittavaan työkalutukeen
Design, development and testing of a full-stack web service for a trajectory computation algorithm
This document delivers a comprehensive report of the final degree project, which had as its primary goal, the design, developing, and testing a full-stack web service to facilitate user-friendly interaction with a trajectory computation software called Dynamo. The crux of this project lies in taking an existing, complex software and making it more accessible and simpler to use for a broad user base through the development of a web service. By leveraging a wide array of technologies - Python, Flask, Vue.js, Tailwind, and MongoDB - and following modern software development methodologies like Agile, a backend server, frontend interface, and a database structure were meticulously designed and implemented. In addition, secure authentication and an efficient system for error handling and validation were integrated to ensure a secure and user-friendly experience. A key aspect of this project was the need to understand how Dynamo functions, even though we did not go into the intricate operational details of the software itself. The main focus remained on its configuration process, providing the basis for developing a web service that allows users to intuitively configure, run, and monitor their simulations. This facilitates a more straightforward way for users to leverage the power of the Dynamo software, regardless of their technical proficiency. For this reason, a web service requirements capture was carried out with researchers from the ICARUS research group, thus ensuring that the developed web service adapts to their needs. All aspects of this project, from understanding Dynamo's configuration process to the development of the backend and frontend of the web service, were tackled systematically and are detailed in this document
Recommended from our members
In Search of a “Fair Explanation”: Helping Young People to Consider the Possibilities, Limitations, and Risks of Computer- and Data-Mediated Systems
Significant resources have been directed towards K-12 computing and data education over the past ten years, as part of what has come to be known as the CSforAll initiative. This initiative has focused on raising awareness of computing education among parents and students, developing situated learning progressions that resonate with many different interests and pursuits, training teachers, and addressing issues of underrepresentation in computing among females and racial minorities. In this dissertation, I argue that as the CSforAll initiative continues to expand, it is important for the education community to also reflect on the forms of knowledge that are believed to be essential, and the presumed benefits of computing and data education. Specifically, how might the goal of producing citizens with robust computing and data literacies change what is considered to be fundamental to a computing education; as well as the kinds of contexts in which computing and data science are situated?I use the term sociotechnical literacy to name this vision for computing education, which I define as a broad set of social and technical practices, strategies, ideas, and dispositions that can help people to reason about the computer-mediated systems that shape their everyday lives. As the term suggests, I argue that it is important for learners to engage with technical ideas as well as their social applications and implications. To examine what this might mean for teaching and learning, I describe two design experiments that I conducted with young people (ages 14 – 22). Each approach aimed to make the applications of computing primary (rather than treating applications as the backdrop from which the abstractions of computation are motivated), so that learners could examine some of the specific ways in which data and computing might be directed to particular goals, subject to real possibilities and constraints, and in relation to alternative forms of participation. I examine the possibilities and limitations of each approach. I also analyze some of the assumptions that framed the design experiments – which were naïve, but also reflective of a broader ethos that pervades CSforAll. I reflect on what these studies collectively reveal about the possibilities, limitations, and risks of data and computing, as situated in the lives of young people; as well as what this might mean for helping young people develop a robust sociotechnical literacy. There are very real limits to what can be accomplished with computing and data alone. There are also significant benefits and risks associated with the many sociotechnical systems that shape our lives. As such, I argue that rather than positioning computing education as a remedy to various social ills, we instead offer young people a fair explanation of what computing is and is not capable of, grounded within specific contexts involving real people. I conclude with what this fair explanation might include, and how it might be fostered
Graphical Database Architecture For Clinical Trials
The general area of the research is Health Informatics. The research focuses on creating an innovative and novel solution to manage and analyze clinical trials data. It constructs a Graphical Database Architecture (GDA) for Clinical Trials (CT) using New Technology for Java (Neo4j) as a robust, a scalable and a high-performance database. The purpose of the research project is to develop concepts and techniques based on architecture to accelerate the processing time of clinical data navigation at lower cost. The research design uses a positivist approach to empirical research. The research is significant because it proposes a new approach of clinical trials through graph theory and designs a responsive structure of clinical data that can be deployed across all the health informatics landscape. It uniquely contributes to scholarly literature of the phenomena of Not only SQL (NoSQL) graph databases, mainly Neo4j in CT, for future research of clinical informatics. A prototype is created and examined to validate the concepts, taking advantage of Neo4j’s high availability, scalability, and powerful graph query language (Cypher). This research study finds that integration of search methodologies and information retrieval with the graphical database provides a solid starting point to manage, query, and analyze the clinical trials data, furthermore the design and the development of a prototype demonstrate the conceptual model of this study. Likewise the proposed clinical trials ontology (CTO) incorporates all data elements of a standard clinical study which facilitate a heuristic overview of treatments, interventions, and outcome results of these studies
Software evolution: hypergraph based model of solution space andhmeta-search
A hypergraph based model of software evolution is proposed. The model uses
software assets, and any other higher order patterns, as reusable components. We
will use software product lines and software factories concepts as the engineering
state-of-the-art framework to model evolution.
Using those concepts, the solution space is sliced into sub-spaces using equivalence
classes and their corresponding isomorphism. Any valid graph expansions
will be required to retain information by being sub-graph isomorphic, forming a
chain to a solution. We are also able to traverse the resulting modelled space. A
characteristic set of operators and operands is used to find solutions that would
be compatible. The result is in a structured manner to explore the combinatorial
solution space, classifying solutions as part of families hierarchies.
Using a software engineering interpretation a viable prototype implementation
of the model has been created. It uses configuration files that are used as
design-time instruments analogous to software factory schemas. These form configuration
layers we call fragments. These fragments convert to graph node metadata
to later allow complex graph queries. A profusion of examples of the modelling
and its visualisation options are provided for better understanding. An
example of automated generation of a configuration, using current Google Cloud
assets, has been generated and added to the prototype. It illustrates automation
possibilities by using harvested web data, and later, creating a custom isomorphic
relation as a configuration.
The feasibility of the model is thus demonstrated. The formalisation adds the
rigour needed to further facilitate automation of software craftsmanship.
Based on the model operation, we propose a concept of organic growth based
on evolution. Evolution events are modelled after incremental change messages.
This is communication efficient and it is shown to adhere to the Representational
State Transfer architectural style. Finally, The Cloud is presented as an evolved
solution part of a family, from the original concept of The Web
- …