1194 research outputs found
Sort by
Private Data Hub
Private Data Hub is a platform that assist users to retrieve and analyze their personal data from various service providers, including Google, Spotify, and Netflix. The primary focus of this project was to provide users with an overview of the types of data being collected about them. This information is represented using graphs and lists that deliver interesting insights into their personal data. The platform is built with extensibility in mind, enabling future support for additional providers. It features a FastAPI and MongoDB-based backend for efficient data handling and a SvelteKit frontend for an intuitive user experience. Key features include data imports, data analysis, and efficient handling of large datasets
Text-to-SQL for DataGovernance Technologies and Education
This project explores the development of a Natural Language to SQL (NL-to-SQL) system using
Large Language Models (LLMs). The primary objective is to research different approaches of
generating SQL from NL and evaluate their feasibility. Subsequently a PoC was implemented to
demonstrate real-world usefulness.
The research found four key approaches which were evaluated: pure LLM, in-context learning,
fine-tuning the LLM, and Retrieval-Augmented Generation (RAG). Fine-tuning was ruled out due
to an insufficient amount of training data and time. The remaining three approaches were imple-
mented in Python and relevant LLM APIs and thoroughly evaluated.
Key findings indicate that while pure LLM approaches and in context learning provide a base-
line, RAG significantly enhances the accuracy and reliability of the generated queries. The results
of the test queries were evaluated in terms of 1. similarity (how similar is an output compared to
the example solution?), 2. validity (is the output valid SQL?), 3. executability (can the output be
executed and are the generated column names correct?), 4. reliability (how similar is the output
to the same user prompt?).
Testsets were divided into two grades: basic and advanced, based on its complexity. For the
advanced test cases, on average 45% can be executed on the databases, with only 70% of the re-
quested columns extracted. Hallucinations could not be completely eliminated when extending
the scope of the context, resulting in the low number of executable SQL queries. In this thesis,
the llama3.2 model was found to have the most potential for further development.
The PoC application demonstrates the feasibility of using RAG with metadata about database
schemas as well as JSONL input of users to generate SQL from NL, offering a user-friendly inter-
face for both technical and non-technical users
Arithmetik in endlichen Körpern
Das Ziel der Arbeit war es, die Arithmetik in endlichen Körpern zu implementieren.
Verwendet werden sollte diese dann in einer existierenden Web-Anwendung zum Gauss-
Algorithmus (Gauss-Calculator). Die Implementation sollte dabei nicht nur den endlichen
Körper Fp unterstützen, sondern auch Erweiterungen davon, wie Polynomringe
Fp[x] und die Erweiterung um ein Minimalpolynom zu einem neuen Körper. Die existierende
Arithmetik der Anwendung verwendete den double-Datentyp, eine Approximation
des Körpers Q. Diesen Körper sollte man neu über die Benutzeroberfläche wählen und
konfigurieren können.
Um die Herausforderungen der Implementierung zu identifizieren, wurde zunächst eine
detaillierte Analyse der Problemdomäne durchgeführt. Anschliessend wurde die Implementierung
iterativ entwickelt, wobei ein Taschenrechner als erste Anwendung der
Arithmetik implementiert wurde. Die Funktionalität des Rechners wurde schrittweise
erweitert, um praktische Anwendungsfälle zu ermöglichen. Die Wahl der Reverse Polish
Notation (RPN) für den Rechner ermöglicht eine effiziente Umsetzung der mathematischen
Operationen. Die ursprünglich geplante Integration der entwickelten Lösung in
den Gauss-Calculator wurde dem Auftraggeber überlassen.
Es gelang eine geeignete Abstraktion zu finden, mit der die Arithmetik und Zahlenformate
der verschiedenen Körper und Ringe einfach mit der Benutzeroberfläche verbunden
werden konnte. Diese besteht hauptsächlich aus einer Grundklasse, die verfügbare
mathematische Operationen definiert. Implementiert werden diese für die einzelnen mathematischen
Körper und Ringe in ihren eigenen Klassen.
Das Resultat dieser Arbeit ermöglicht es mit langen Ausdrücken in verschiedenen
Körpern und Ringen zu rechnen und illustriert den Zusammenhang zwischen diesen
Analyse Intranet Content
Im Rahmen unserer Studienarbeit haben wir ein Tool entwickelt, das Unternehmen dabei unterstützt, Trends und Muster in ihren Daten zu
erkennen, relevante Informationen zu vernetzen und datenbasierte Entscheidungen für ein effektives Wissensmanagement und eine fundierte
strategische Analyse zu treffen. Solche Analysen sind ohne entsprechende automatische Aufbereitung äusserst zeitaufwändig.
In vielen Organisationen sammeln sich über die Zeit Dokumente, oder allgemeiner, Informationen an. Allerdings bleibt oft unklar,
welche Themen, Trends oder Schlüsselpersonen über einen bestimmten Zeitraum hinweg relevant sind.
Unser Tool adressiert dieses Problem, indem es Inhalte ausliest, analysiert und visuell aufbereitet.
Daten von festgelegten Webseiten wie internen Blogs, Geschäftsberichten oder firmeninternen sozialen Plattformen werden regelmässig
extrahiert, geparst und mit Large Language Models (LLMs) analysiert. Die Originaltexte und Analysen werden in einer Datenbank gespeichert,
welche als Grundlage für weiterführende Analysen und Auswertungen dient. Die Analyseergebnisse ermöglichen die Auswertung der Entwicklung
bestimmter Themenbereiche, etwa die Feststellung, dass in den letzten sechs Monaten die Anzahl der Dokumente im Bereich Künstliche
Intelligenz gestiegen ist.
Der Zugriff auf die aufbereiteten Daten erfolgt über eine benutzerfreundliche Webanwendung mit umfangreichen Visualisierungsmöglichkeiten.
Nutzer haben die Möglichkeit, mithilfe von Filtern gezielt Themen und Trends zwischen den Dokumenten und Plattformen zu erkunden.
Die unterschiedlichen Abfragemöglichkeiten und die grafische Aufbereitung der Daten erlauben es, ein umfassendes Verständnis der Inhalte
zu entwickeln, Muster zu erkennen und datenbasierte Entscheidungen zu treffen
Event-Driven Architecture Lab
Event-Driven Architecture (EDA) is a software architecture paradigm that enables systems to process and react to events as they occur.
In this paradigm, an event is defined as any meaningful alteration in the state of a system.
The goal of applying EDA is to decouple components and systems; event producers do not need to know the event consumers. Scalability, flexibility, and maintainability are enhanced as software grows in size, scope, and complexity.
However, the decoupling comes at a price:
How to ensure reliability?
How to reconstruct the application state?
How to deal with increased variability?
The goal of this thesis was to construct a set of sample programs that explore selected EDA concepts, starting from a simple Publish-Subscribe System and eventually using the production-grade middleware Apache Kafka.
Four distinct sample programs were built, each of which is based on the preceding one.
Each program consists of a scenario revolving around a fictitious construction company, Skyline Construction Company (SCC).
SCC has experienced growth which places demands on its software systems.
Its main business application is a monolith written in Java that uses the Spring Boot framework.
To scale the existing system, the architects at SCC have decided to introduce EDA principles while maintaining operational continuity.
For each of these scenarios, we identified a feature and re-implemented it according to a EDA principles within the fictitious but realistic sample application.
A hybrid approach combining theory with practical implementation demonstrates how to integrate the abstract concepts of EDA into a Web-based monolithic backend application supported by a container framework.
The approach provides an accessible introduction to the subject while highlighting the trade-offs software architects and developers face when pursuing such an integration
Rapid API Design and Refactoring (RADAR)
API-First ist ein etabliertes Paradigma in der Softwareentwicklung, das APIs zu Beginn des Entwicklungsprozesses priorisiert und diese damit als einen essenziellen Baustein der Software positioniert. Das Design Practice Repository/Reference (DPR) schlägt dabei eine schrittweise Aktivität vor, die von der Problemanalyse bis hin zur iterativen Entwicklung einer ausgereiften API führt. Aktuell fehlt jedoch eine passende Werkzeugunterstützung, um diesen Design-Prozess effizient zu begleiten und die Produktivität zu steigern.
Im Rahmen dieser Studienarbeit wird eine desktopbasierte Anwendung entwickelt, die die Schritte «Model Domain» und «Identify API Endpoints and Operations» des DPR unterstützt. Anforderungen werden dabei in Form von Use Cases und Job Stories erfasst und in die HTTP- und Protobuf-Services der Interface Description Language (IDL) TypeSpec transformiert. Ziel ist es, eine plattformunabhängige Lösung bereitzustellen, die die Erstellung von API-Prototypen beschleunigt und vereinfacht. Dabei steht, aufgrund der nutzer- und geschäftszentrierten Perspektive der Eingabe-Formate, die Berücksichtigung der Bedürfnisse und Erwartungen der API-Anwender im Mittelpunkt.
Das methodische Vorgehen umfasst mehrere Phasen: In der Anforderungsanalyse werden Stakeholder-Rollen und deren Bedürfnisse analysiert, um ein präzises Verständnis der Problemstellung zu gewinnen. Architekturentscheidungen, wie der Einsatz von ANTLR zur Generierung von Lexer und Parser sowie Electron als Laufzeitumgebung, werden bewusst getroffen, um die Anforderungen an die Arbeit sicherzustellen. Es wird zudem ein universelles Zwischenformat entwickelt, um die Wartbarkeit und Flexibilität der Anwendung langfristig zu gewährleisten.
Die Applikation stellt einen innovativen Ansatz für Rapid API Prototyping dar, da sie als erste Lösung ihrer Art Use Cases und Job Stories direkt in TypeSpec transformiert. Sie leistet damit einen wichtigen Beitrag zur Verbesserung der Effizienz und Qualität in der API-Entwicklung. Eine Erweiterung der Applikation könnte den praktischen Nutzen weiter steigern, beispielsweise durch die Implementierung zusätzlicher TypeSpec-Formate als Ausgabe oder die Unterstützung alternativer IDLs
Review of Current Principalled Approaches to System Programming
Computers are an essential part of our everyday life.
In this paper, I described based on the Intel’s CPU which hardware initialization an operating system has to perform and how to interact with the hardware. Starting from how a computer boots to memory management and interrupts to multitasking and finishing with kernel API.
The second focus is the language in which the operating system is written.
As most general purpose operating systems are written in C/C++ the question arose, if it is possible to write one using functional programming languages and techniques. I described why functional programming languages are not always suited for systems programming, and how one still could use techniques and concepts from such languages
Observability in Natural Language Processing (NLP) Systems
Observability is a key concept in modern software engineering that allows engineers and operators to understand the health of a system by observing its external outputs. Upon discovery of issues, corrective action can be taken to ensure that a system performs as expected. Instead of hunting for issues, teams can focus on fixing them. With the recent rise of generative Natural Language Processing (NLP) systems, the need for observability in such systems has become apparent. While observability for classical software systems is increasingly popular, hardly any research exists on the same concept for generative NLP systems. This report calls for more research in the field, and explores how to transfer selected key concepts of observability to the field of generative NLP systems, discussing some common challenges and proposing a refined definition of observability for generative NLP systems. Challenges in generative text models like data drift, concept drift and adherence to topic and goals are discussed and evaluated. Speculative approaches to address these challenges are outlined
VR- and ML-based System for Mental Workload Estimation
Einführung
Mentale Arbeitsbelastung (Mental Workload, MW) ist ein entscheidender Faktor für Piloten, da sie unter Zeitdruck zahlreiche komplexe Aufgaben ausführen und gleichzeitig kritische Informationen überwachen müssen. Eine erhöhte MW kann zu „attention narrowing“ führen, wodurch relevante Informationen übersehen werden und die Sicherheit gefährdet wird. Eine präzise Bewertung und Vorhersage von MW wäre daher von grosser Bedeutung. Das Ziel dieser Arbeit war es, zu untersuchen, ob Augendaten, die von einer VR-Brille erfasst werden, ausreichen, um die Herzfrequenzvariabilität (HRV) zu schätzen – einen physiologischen Wert, der eng mit MW verbunden ist. Die Firma Loft Dynamics, die VR-Flugsimulatoren entwickelt, strebt eine Lösung an, bei der auf zusätzliche Sensoren wie Brustgurte verzichtet wird, um die HRV direkt zu messen.
Ansatz
Um die Machbarkeit zu überprüfen, wurde ein VR-Spiel in der Game Engine Unity entwickelt, das drei Schwierigkeitsstufen umfasst, um die MW der Testpersonen gezielt zu variieren. Die während der Spielphasen erfassten Augendaten sowie Herzfrequenz- und Hautleitfähigkeit wurden persistent in einem Python-Backend gespeichert. Mithilfe von Machine Learning wurde die Beziehung zwischen den gesammelten Daten (Augenbewegungen, Herzfrequenzvariabilität, Herzfrequenz und Hautleitfähigkeit) untersucht, um mögliche Korrelationen zu identifizieren und die HRV aus diesen Parametern zu schätzen.
Resultate
Die Ergebnisse der Analyse zeigten, dass in den aufgezeichneten Daten gewisse Korrelationen zwischen Augendaten und HRV erkennbar waren. Insbesondere in Plots liessen sich Trends ableiten, die auf eine mögliche Verbindung hinwiesen. Dennoch konnte kein zuverlässiges Machine�Learning-Modell entwickelt werden, das die HRV präzise auf Basis der Augendaten vorhersagt. Das leistungsstärkste Modell war ein Gradient-Boosting Modell, das den RMSSD (Root Mean Square of Successive Differences) vorhersagte und einen durchschnittlichen Test-MSE (Mean Squared Error) von 37 erzielte. Dieses Ergebnis deutet darauf hin, dass eine Vorhersage grundsätzlich möglich ist. Um jedoch eine robuste und zuverlässige Vorhersage zu erreichen, müssen sowohl die Datenqualität als auch die generierten Features weiter verbessert werden
Radius Server Implementation to existing SSL-VPN Solution
To enhance the SSL-VPN infrastructure at a huge, international company, this project implemented FortiAuthenticator as a centralized AAA server within the Fortinet Security Fabric. Key goals included integrating multi-factor authentication (MFA) with FortiToken, enabling user-based policies, and ensuring compatibility with FortiGate firewalls. Additionally, SAML authentication via FortiAuthenticator was explored as a cost-efficient and user-friendly alternative to FortiToken, aligning with modern security standards and operational needs.
The implementation of FortiAuthenticator successfully enhanced the SSL-VPN infrastructure, meeting key objectives of improved security, scalability, and user-based access control. The integration of multi-factor authentication (MFA) with FortiToken performed well. The SSL-VPN configuration was also tested with FortiAuthenticator as a SAML proxy for MFA, demonstrating that this approach also worked effectively within the infrastructure.
The deployment of FortiAuthenticator in a high-availability (HA) cluster ensured redundancy and reliability. Additionally, the transition from IP-based to user-based policies improved flexibility and consistency in access control. Pilot implementations confirmed the system’s effectiveness, resolving minor configuration issues and establishing a scalable framework for broader deployment.
The project successfully modernized the companies SSL-VPN infrastructure by implementing FortiAuthenticator and transitioning to SAML authentication via Microsoft Entra ID. While the FortiToken-based OTP solution performed well, SAML was chosen for its equal security, better cost-efficiency, and improved user experience. The high-availability deployment and adoption of user-based policies ensured robust and flexible access control. With the pilot's success, the company is well-positioned for a global rollout, reinforcing its commitment to secure and efficient remote access