About

Author

Alexis Armin Huf

Who am I?

I’m a software developer and just defended my PhD thesis.

Other names and identifiers

I have worked professionaly writing software and firmware for broadcasting equipment (video switching, digital asset management, character generators and watermarking). Most of my work went into integration and communication. On the software side I worked mostly with C++08 and C++11 with Qt 5. On the firmware side I worked on Cortex M3 microcontrollers with the keil toolchain. Beyond development I also managed and maintained the on-premises source control, the in-house mini-ERP, CI/CD (Jenkins), the samba file server, did some Excel consulting for accounting and built a Excel/VBA wharehouse control app.

Recurring problems led me to research into service composition. After acquiring a masters degree, my interest shifted into data integration, in particular query mediation over RDF: looking at a set of data sources, pretend their data can be viewed as a single virtual Knowledge Graph, and then answering queries over it. In comparison to ETL pipelines, mediation avoids the cost of storing a materialization by constructing and executing the (hopefully) minimum necessary pipeline to answer the user-provided query. In my PhD, I worked mostly on the execution phase, not only to be faster but to make more queries possible, e.g., complete in 2 minutes and 4 GiB of memory what could not be done with 2.5 hours and 512 GiB.

Past professional roles

  • Researcher at UFSC (2016 — 2024)
  • Software developer at a Broadcast equipment manufacturer (2010 — 2015)

Research

  • PhD in Computer Science @ UFSC

    Thesis: FasterSparql: An architecture for query mediation over loosely coupled federations of knowledge graphs

    Core Tech: Java, RDF/Linked Data, Web APIs

    Problem tackled: Given a query and a set of data sources, decompose the query into a federated query (assign subqueries to sources), build and optimize a query plan and execute it to answer the original query as if all sources were a single database.

    Scientific contribution: Isolating memory layout of intermediate results, protocol-induced stalls, flow control and excessive use of automatic memory management as bottlenecks undetected by current research, together with techniques that avoid them. Combining all proposed techniques is not only more efficient (space and time), but it also allows complete execution, without errors of all large-volume queries in the LargeRDFBench

  • MSc in Computer Science @ UFSC

    Dissertation: An Architecture for Composition of Services with Heterogeneous Interaction Models

    Core tech: Java, RDF/Linked Data, REST, HATEOAS, SOAP, publish/subscribe.

    Problem tackled: Given a current state/information, a desired state/information and a list of services (e.g., Web APIs), generate and execute a service composition (a workflow) that combines services to obtain the desired outcome.

    Scientific contribution: techniques for service description and composition planning/execution mixing services with otherwise conflicting interaction models, e.g., SOAP, HATEOAS and publish/subscribe.

Software developer work

  • Software developer at a Broadcast equipment manufacturer
    • Tech: C++08, C++11, boost, Qt, Win32 API, Keil toolchain (Cortex-M3 microcontrollers)
    • Integrations:
      • Control Character generation from MS Excel (VSTO Add-In)
      • Character generator driver for the blackmagic design Decklink card.
      • Fetch RSS feed to fill character generator scrolling news
      • Video file validation and ingestion over the network
      • Watermak manipulation and preparation
      • Storage and consolidation of firmware logs (non-PC equipment)
    • Firmware contributions:
      • Station watermark insertion control
      • Improved medium access control on a niche layer 2 protocol, avoiding collisions and
      • Watchdog and failure recovery (save, restore and reconcile application state)
      • Automating firmware build process
      • Isolating business logic and running unit tests on the Jenkins server
      • Improved stability for embedded HTTP server and client
      • Firmware flasher utility for assembly line workers
    • Internal systems:
      • Excel training/consulting/support
      • Wharehouse management in Excel with VBA
      • Implemented CI/CD (Jenkins) for all C/C++ software and firmware
      • Maintain the internal ERP in PHP
      • Manage the internal version control (SVN) and file server (samba)
Back to top