8 research outputs found

    Towards a Standard-based Domain-specific Platform to Solve Machine Learning-based Problems

    Get PDF
    Machine learning is one of the most important subfields of computer science and can be used to solve a variety of interesting artificial intelligence problems. There are different languages, framework and tools to define the data needed to solve machine learning-based problems. However, there is a great number of very diverse alternatives which makes it difficult the intercommunication, portability and re-usability of the definitions, designs or algorithms that any developer may create. In this paper, we take the first step towards a language and a development environment independent of the underlying technologies, allowing developers to design solutions to solve machine learning-based problems in a simple and fast way, automatically generating code for other technologies. That can be considered a transparent bridge among current technologies. We rely on Model-Driven Engineering approach, focusing on the creation of models to abstract the definition of artifacts from the underlying technologies

    Automated Generating of Processing Elements for FPGA

    Get PDF
    Některé aplikace zpracovávající informace, jako je například monitorování počítačových sítí, vyžadují nepřetržité zpracovávání dat přicházejících vysokou rychlostí. S tím, jak tato rychlost vývojem stále stoupá, je žádoucí, aby bylo zpracovávání dat prováděno pomocí hardwarové implementace. Tato práce navrhuje konfigurační systém transformující uživatelem poskytnutou definici procesních funkcí na VHDL definici hardwarové implementace těchto funkcí. Systém je zaměřen na monitorování síťového provozu ve vysokorychlostních sítích.Some information processing applications, such as computer networks monitoring, need to continuously perform processing of rapidly incoming data. As the speed of the incoming data increases, it is desirable to perform the processing in the hardware. This work proposes a configuration system that generates a VHDL specification of a hardware data processing circuit based on a user-provided definition of data and computation operations. The system focuses on network traffic monitoring in multi-gigabit computer networks.

    Combining the Continuous Integration Practice and the Model-Driven Engineering Approach

    Get PDF
    The software development approach called model-driven engineering has become increasingly widespread. The continuous integration practice has also been gaining the importance. Some works have shown that both can improve the software development process. The problem is that the model-driven engineering is still a very active research topic lacking its maturity, what translates into difficulties in optimal incorporation of the continuous integration practice in the process. We present an experience report in which we show the problems we have detected in a real project and how we have solved them. Thus, we increase the productivity of development and the non-technical people are able to modify already deployed applications. Finally, we incorporate an evaluation that shows the benefits of the proposed union

    Combining the Continuous Integration Practice and the Model-Driven Engineering Approach

    Get PDF
    The software development approach called model-driven engineering has become increasingly widespread. The continuous integration practice has also been gaining the importance. Some works have shown that both can improve the software development process. The problem is that the model-driven engineering is still a very active research topic lacking its maturity, what translates into difficulties in optimal incorporation of the continuous integration practice in the process. We present an experience report in which we show the problems we have detected in a real project and how we have solved them. Thus, we increase the productivity of development and the non-technical people are able to modify already deployed applications. Finally, we incorporate an evaluation that shows the benefits of the proposed union

    Consistentie tussen model en code

    Get PDF

    Java-ohjelmakoodin generointi OPC UA -tietomalleista

    Get PDF
    OPC Unified Architecture is an industrial communication specification that introduces information modeling capabilities. These capabilities allow modeling the communicated data with an object model similar to object-oriented programming languages. However, using the information modeling capabilities is not developer-friendly in the current state of Prosys OPC UA Java SDK. In this thesis, it is identified how the usage of information models could be made easier. First, requirements for source code generation from OPC UA information models are elicited. After that, a type instantiation algorithm is designed to support the generated code. Finally, a design for the source code generation tool is constructed. Functional prototypes are constructed for both the type instantiation algorithm and the source code generation tool. The elicited requirements indicated that the type instantiation algorithm should be separated from the source code generation. The designed type instantiation algorithm creates instances of OPC UA types by reading the server address space on run-time. The designed source code generation tool generates Java classes that use the instances created by the algorithm. The results of this thesis are used in the future development of the Prosys OPC UA Java SDK. The protototypes are developed further by implementing missing requirements and the elicited requirements are used for validating the final product.OPC Unified Architecture on teollinen tiedonsiirtomäärittely, jonka eräs ominaisuus on tiedon mallintaminen. Tämä ominaisuus mahdollistaa siirrettävän tiedon mallintamisen oliomallilla, joka on samankaltainen kuin olio-ohjelmointikielissä. Tietomallin hyödyntäminen on kuitenkin haastavaa tämänhetkisellä Prosys OPC UA Java SDK:lla. Tässä työssä tutkitaan mahdollisuuksia helpottaa tietomallien käyttöä. Ensin muodostetaan vaatimuksia lähdekoodin generoinnille OPC UA -tietomalleista. Tämän jälkeen suunnitellaan tyyppien instantiointialgoritmi tukemaan generoitavaa koodia. Lopuksi suunnitellaan lähdekoodin generointityökalu. Sekä instantiointialgoritmille että generointityökalulle tehdään toiminnalliset prototyypit. Kerättyjen vaatimusten perusteella tyyppien instantiointialgoritmin tulee olla erillään lähdekoodin generoinnista. Suunniteltu instantiointialgoritmi luo instansseja OPC UA -tyypeistä lukemalla palvelimen osoiteavaruutta ajonaikana. Suunniteltu lähdekoodin generointityökalu generoi Java-luokkia, jotka käyttävät algoritmin luomia instansseja. Työn tuloksia tullaan käyttämään Prosys OPC UA Java SDK:n jatkokehityksessä. Prototyyppejä kehitetään toteuttamalla puuttuvia vaatimuksia ja kerätyillä vaatimuksilla todennetaan lopullisen tuotteen toiminnallisuus

    Adaptive object-modeling : patterns, tools and applications

    Get PDF
    Tese de Programa Doutoral. Informática. Universidade do Porto. Faculdade de Engenharia. 201

    Gerador de código para uma Framework C++ a partir de diagramas de estado UML

    Get PDF
    Dissertação de mestrado integrado em Engenharia Eletrónica Industrial e de ComputadoresNo auge da era informática e dada a demanda que existe por parte da sociedade de uma resposta rápida para a implementação de sistemas complexos, a geração de código de forma automática, é uma mais valia no processo de desenvolvimento de software. A linguagem de modelação UML vem, por sua vez, estabelecer uma norma no desenvolvimento de software e permitir ao desenvolvedor visualizar o produto do seu trabalho recorrendo a diagramas estruturais e comportamentais. O objetivo desta dissertação tem por base a junção destes dois conceitos, geração de código a partir de diagramas de UML mais especificamente diagramas de estado. Embora existam soluções comerciais que conseguem gerar código a partir de modelos UML este para além de volumoso e mais complexo, é um código que não tem em consideração a sua manutenção e atualização de forma manual, sendo pouco otimizado e de difícil leitura e edição. Este torna-se então o segundo objetivo deste projeto, a geração de código que instancia uma framework de máquinas de estado finitas. Esta particularidade, vai tornar o código fonte gerado mais simples: quer em complexidade de leitura; quer em quantidade de linhas de código, tornando o processo de geração muito mais eficaz e rápido. É desenvolvida uma ferramenta para realizar o processo de geração de código. Esta recebe como entrada um ficheiro XMI que é o formato standard para partilha de dados de diagramas UML e converte-o numa estrutura de objetos, posteriormente escrita para um ficheiro de texto sobre a forma de código, no formato C++. O código resultante é compilado com a framework de máquinas de estado, criando um ficheiro binário completo pronto a executar. O resultado da aplicação prática da ferramenta permite comprovar que o código gerado, é mais fácil de ler e editar, dada a camada de abstração que a framework oferece para criar e executar uma máquina de estados. A framework foi concebida para ser utilizada por programadores, e isso permite reduzir muito a quantidade de código gerado em comparação com outras soluções comerciais e tornar a geração de código mais rápida. O formato escolhido para a ferramenta é um ficheiro executável que pode ser facilmente incorporado em qualquer software UML, independentemente da existência de um mecanismo de extensão ou das suas caraterísticas.At the height of the computer era and given the society’s demand for a rapid response when implementing complex systems, automatic code generation, becomes an important asset in the software development process. The UML modeling language, establish a new standard on the software development and allow the developer to visualize the result of his work using structural and behavioral diagrams. The objective of this dissertation is based on the combination of these two concepts, code generation from UML diagrams, specifically state diagrams. While there are commercial solutions that can generate code from UML models, the code generated by these tools, in addiction to being very bulky and complex does not take into account the manual maintenance and updating process of the code, resulting in a less optimized structure which is difficult to read and edit . This, there for, becomes the second objective of this project, code generated is to instantiate a finite state machines’ framework. This feature will result in a simple, well structured source code regarding reading complexity and the number of lines of code needed, making the generation process much more efficient and fast. A tool to make the code generation process was developed. Said tool receives as input a XMI file format, which is the standard format for sharing UML diagrams’ data, and converts it into a structure of objects that later writes to a text file, following the C++ code format. The resulting code is then compiled with the libraries of the state machine framework, resulting in a complete binary file ready to run. The results of the practical application of the tool allowed to prove that the generated code was easier to read and edit, given the abstraction layer provided by the framework. The framework was designed to be used by programmers, and this contributed to greatly reduced the amount of code generated compared to other commercial solutions, making the generation process much faster. The format chosen for the tool was an executable file that can be easily embedded in any UML software, regardless of the existence of an extension mechanism or its characteristics
    corecore