3,046 research outputs found
Embedded System Design
A unique feature of this open access textbook is to provide a comprehensive introduction to the fundamental knowledge in embedded systems, with applications in cyber-physical systems and the Internet of things. It starts with an introduction to the field and a survey of specification models and languages for embedded and cyber-physical systems. It provides a brief overview of hardware devices used for such systems and presents the essentials of system software for embedded systems, including real-time operating systems. The author also discusses evaluation and validation techniques for embedded systems and provides an overview of techniques for mapping applications to execution platforms, including multi-core platforms. Embedded systems have to operate under tight constraints and, hence, the book also contains a selected set of optimization techniques, including software optimization techniques. The book closes with a brief survey on testing. This fourth edition has been updated and revised to reflect new trends and technologies, such as the importance of cyber-physical systems (CPS) and the Internet of things (IoT), the evolution of single-core processors to multi-core processors, and the increased importance of energy efficiency and thermal issues
Embedded System Design
A unique feature of this open access textbook is to provide a comprehensive introduction to the fundamental knowledge in embedded systems, with applications in cyber-physical systems and the Internet of things. It starts with an introduction to the field and a survey of specification models and languages for embedded and cyber-physical systems. It provides a brief overview of hardware devices used for such systems and presents the essentials of system software for embedded systems, including real-time operating systems. The author also discusses evaluation and validation techniques for embedded systems and provides an overview of techniques for mapping applications to execution platforms, including multi-core platforms. Embedded systems have to operate under tight constraints and, hence, the book also contains a selected set of optimization techniques, including software optimization techniques. The book closes with a brief survey on testing. This fourth edition has been updated and revised to reflect new trends and technologies, such as the importance of cyber-physical systems (CPS) and the Internet of things (IoT), the evolution of single-core processors to multi-core processors, and the increased importance of energy efficiency and thermal issues
Hard Real-Time and Synchronous Programming with SDL.
This is a report of how the two Telelogic development tools the SCADE Suite, and the SDL Suite can be used together, combining a time-driven language and an event-driven language. Suggestions on how the tools can be integrated are presented. The report also suggests how Telelogic can improve the SDL Suite from a hard real-time aspect. Last part of the report shows how the scheduling algorithm “Earliest Deadline First” can be implemented in the SDL Cmicro kernel, and how the implementation can be improved
Real-Time Scheduling for Software Prototyping
This paper presents several real-time scheduling algorithms developed to support rapid prototyping
of embedded systems using the Computer Aided Prototyping System (CAPS). The CAPS tools are based on the
Prototyping System Description Language (PSDL), which is a high-level language designed specifically to support
the conceptual modeling of real-time embedded systems. This paper describes the scheduling algorithms used in
CAPS along with the associated timing constraint and hardware models, which include single and multi-processor
configurations
Scheduling Problems
Scheduling is defined as the process of assigning operations to resources over time to optimize a criterion. Problems with scheduling comprise both a set of resources and a set of a consumers. As such, managing scheduling problems involves managing the use of resources by several consumers. This book presents some new applications and trends related to task and data scheduling. In particular, chapters focus on data science, big data, high-performance computing, and Cloud computing environments. In addition, this book presents novel algorithms and literature reviews that will guide current and new researchers who work with load balancing, scheduling, and allocation problems
Proactive Adaptation in Self-Organizing Task-based Runtime Systems for Different Computing Classes
Moderne Computersysteme bieten Anwendern und Anwendungsentwicklern ein hohes Maß an Parallelität und Heterogenität. Die effiziente Nutzung dieser Systeme erfordert jedoch tiefgreifende Kenntnisse, z.B. der darunterliegenden Hardware-Plattform und den notwendigen Programmiermodellen, und umfangreiche Arbeit des Entwicklers. In dieser Thesis bezieht sich die effiziente Nutzung auf die Gesamtausführungszeit der Anwendungen, den Energieverbrauch des Systems, die maximale Temperatur der Verarbeitungseinheiten und die Zuverlässigkeit des Systems. Neben den verschiedenen Optimierungszielen muss ein Anwendungsentwickler auch die spezifischen Einschränkungen und Randbedingungen des Systems berücksichtigen, wie z. B. Deadlines oder Sicherheitsgarantien, die mit bestimmten Anwendungsbereichen einhergehen. Diese Komplexität heterogener Systeme macht es unmöglich, alle potenziellen Systemzustände und Umwelteinflüsse, die zur Laufzeit auftreten können, vorherzusagen.
Die System- und Anwendungsentwickler sind somit nicht in der Lage, zur Entwurfszeit festzulegen, wie das System und die Anwendungen in allen möglichen Situationen reagieren sollen. Daher ist es notwendig, die Systeme zur Laufzeit der aktuellen Situation anzupassen, um ihr Verhalten entsprechend zu optimieren. In eingebetteten Systemen mit begrenzten Kühlkapazitäten muss z.B. bei Erreichen einer bestimmten Temperaturschwelle eine Lastverteilung vorgenommen, die Frequenz verringert oder Verarbeitungseinheiten abgeschaltet werden, um die Wärmeentwicklung zu reduzieren.
Normalerweise reicht es aber nicht aus, einfach nur auf einen ungünstigen Systemzustand zu reagieren. Das Ziel sollte darin bestehen, ungünstige oder fehlerhafte Systemzustände vor dem Auftreten zu vermeiden, um die Notwendigkeit des Aufrufs von Notfallfunktionen zu verringern und die Benutzerfreundlichkeit zu verbessern. Anstatt beispielsweise die Wärmeentwicklung durch eine Neuverteilung der Anwendungen zu reduzieren, könnten proaktive Mechanismen kritische Temperaturen bereits im Vorfeld vermeiden, indem sie bestimmte unkritische Aufgaben verzögern oder deren Genauigkeit oder QoS verringern. Auf diese Weise wird die Systemlast reduziert, bevor ein kritischer Punkt erreicht wird.
Lösungen des aktuellen Stands der Technik wie einheitliche Programmiersprachen oder Laufzeitsysteme adressieren einige der oben genannten Herausforderungen, jedoch existiert kein Ansatz, der in der Lage ist, eine Optimierung mehrerer sich widersprechender Zielfunktionen dynamisch und vor allem proaktiv durchzuführen. Ein Konzept, das diese komplexe Aufgabe für den Entwickler übernimmt und eine Möglichkeit zur dynamischen und proaktiven Anpassung an Veränderungen bietet, ist die Selbstorganisation. Selbstorganisation ist jedoch definiert als ein Prozess ohne externe Kontrolle oder Steuerung. Im Kontext der Systemoptimierung kann dies leicht zu unerwünschten Ergebnissen führen. Ein Ansatz, der Selbstorganisation mit einem Kontrollmechanismus kombiniert, welcher auf Robustheit und Widerstandsfähigkeit gegenüber äußeren Störungen abzielt, ist Organic Computing. Das bestimmende Merkmal von Organic Computing ist eine Observer/Controller-Architektur. Das Konzept dieser Architektur besteht darin, den aktuellen Zustand des Systems und der Umgebung zu überwachen, diese Daten zu analysieren und auf der Grundlage dieser Analyse Entscheidungen über das zukünftige Systemverhalten zu treffen. Organic Computing ermöglicht es also auf der Grundlage der vergangenen und des aktuellen Zustands proaktiv Mechanismen auszuwählen und auszulösen, die das System optimieren und unerwünschte Zustände vermeiden.
Um die Vorteile des Organic Computings auf moderne heterogene Systeme zu übertragen, kombiniere ich den Organic Computing-Ansatz mit einem Laufzeitsystem. Laufzeitsysteme sind ein vielversprechender Kandidat für die Umsetzung des Organic Computing-Ansatzes, da sie bereits die Ausführung von Anwendungen überwachen und steuern. Insbesondere betrachte und bearbeite ich in dieser Dissertation die folgenden Forschungsthemen, indem ich die Konzepte des Organic Computings und der Laufzeitsysteme kombiniere:
• Erfassen des aktuellen Systemzustands durch Überwachung von Sensoren und Performance Countern
• Vorhersage zukünftiger Systemzustände durch Analyse des vergangenen Verhaltens
• Nutzung von Zustandsinformationen zur proaktiven Anpassung des Systems
Ich erweitere das Thema der Erfassung von Systemzuständen auf zwei Arten.
Zunächst führe ich eine neuartige heuristische Metrik zur Berechnung der Zuverlässigkeit einer Verarbeitungseinheit ein, die auf symptombasierter Fehlererkennung basiert. Symptombasierte Fehlererkennung ist eine leichtgewichtige Methode zur dynamischen Erkennung von soften Hardware-Fehlern durch Überwachung des Ausführungsverhaltens mit Performance Countern. Die dynamische Erkennung von Fehlern ermöglicht dann die Berechnung einer heuristischen Fehlerrate einer Verarbeitungseinheit in einem bestimmten Zeitfenster. Die Fehlerrate wird verwendet, um die Anzahl der erforderlichen Ausführungen einer Anwendung zu berechnen, um eine bestimmte Ergebniszuverlässigkeit, also eine Mindestwahrscheinlichkeit für ein korrektes Ergebnis, zu gewährleisten. Ein wichtiger Aspekt der Zustandserfassung ist die Minimierung des entstehenden Overheads.
Ich verringere die Anzahl der für OpenMP-Tasks notwendigen Profiling-Durchläufe durch Thread-Interpolation und Überprüfungen des Skalierungsverhaltens. Zusätzlich untersuche ich die Vorhersage von OpenCL Task-Ausführungszeiten. Die Prädiktoren der Ausführungszeiten werden mit verschiedenen maschinellen Lernalgorithmen trainiert. Als Input werden Profile der Kernel verwendet, die durch statische Codeanalyse erstellt wurden.
Um in dieser Dissertation zukünftige Systemzustände vorherzusagen, sollen Anwendungen vorausgesagt werden, die in naher Zukunft im System vorkommen werden. In Kombination mit der Ausführungsdatenbank ermöglicht dies die Schätzung der anstehenden Kosten, die das System zu bewältigen hat.
In dieser Arbeit werden zwei Mechanismen zur Vorhersage von Anwendungen/Tasks entwickelt. Der erste Prädiktor zielt darauf ab, neue Instanzen unabhängiger Tasks vorherzusagen. Der zweite Mechanismus betrachtet Ausführungsmuster abhängiger Anwendungen und sagt auf dieser Grundlage zukünftig auftretende Anwendungen vorher. Beide Mechanismen verwenden eine Vorhersagetabelle, die auf Markov-Prädiktoren und dem Abgleich von Mustern basiert.
In dieser Arbeit wird das Wissen, das durch die Systemüberwachung und die Vorhersage zukünftiger Anwendungen gewonnen wird, verwendet, um die Optimierungsziele des Systems proaktiv in Einklang zu bringen und zu gewichten. Dies geschieht durch eine Reihe von Regeln, die eine Systemzustandsbeschreibung, bestehend aus dem aktuellen Zustand, Vorhersagen und Randbedingungen bzw. Beschränkungen, auf einen Vektor aus Gewichten abbilden. Zum Erlernen der Regelmenge wird ein Extended Classifer System (XCS) eingesetzt. Das XCS ist in eine hierarchische Architektur eingebettet, die nach den Prinzipien des Organic Computing entworfen wurde. Eine wichtige Designentscheidung ist dabei die Auslagerung der Erstellung neuer Regeln an einen Offline-Algorithmus, der einen Simulator nutzt und parallel zum normalen Systemablauf ausgeführt wird. Dadurch wird sichergestellt, dass keine ungetesteten Regeln, deren Auswirkungen noch nicht bekannt sind, dem laufenden System hinzugefügt werden. Die sich daraus ergebenden Gewichte werden schließlich verwendet, um eine Bewertungsfunktion für List Scheduling-Algorithmen zu erstellen.
Diese Dissertation erweitert das Forschungsgebiet der Scheduling-Algorithmen durch zwei Mechanismen für dynamisches Scheduling.
Die erste Erweiterung konzentriert sich auf nicht sicherheitskritische Systeme, die Prioritäten verwenden, um die unterschiedliche Wichtigkeit von Tasks auszudrücken. Da statische Prioritäten in stark ausgelasteten Systemen zu Starvation führen können, habe ich einen dynamischen Ageing-Mechanismus entwickelt, der dazu in der Lage ist, die Prioritäten der Tasks entsprechend der aktuellen Auslastung und ihrer Wartezeiten anzupassen. Dadurch reduziert der Mechanismus die Gesamtlaufzeit über alle Tasks und die Wartezeit für Tasks mit niedrigerer Priorität.
Noch ist eine große Anzahl von Anwendungen nicht dazu bereit, den hohen Grad an Parallelität zu nutzen, den moderne Computersysteme bieten. Ein Konzept, das versucht dieses Problem zu lösen, indem es mehrere verschiedene Prozesse auf demselben Rechenknoten zur Ausführung bringt, ist das Co-Scheduling. In dieser Dissertation stelle ich einen neuartigen Co-Scheduling-Mechanismus vor, welcher die Task-Schedules mehrerer Laufzeitsysteminstanzen optimiert, die auf demselben Rechenknoten ausgeführt werden. Um die notwendigen Informationen zwischen den Laufzeitsysteminstanzen zu teilen, speichert der Mechanismus die Daten in Shared Memory. Sobald ein Laufzeitsystem neue Tasks in das System einfügt, prüft der Mechanismus, ob die Berechnung eines neuen Schedules sinnvoll ist. Wird die Entscheidung getroffen, einen neuen Schedule zu berechnen, setzt der Mechanismus Simulated Annealing ein, um alle Tasks, die bisher noch nicht mit ihrer Ausführung begonnen haben, neu auf Ausführungseinheiten abzubilden.
Zusammenfassend lässt sich sagen, dass diese Arbeit neuartige Mechanismen und Algorithmen sowie Erweiterungen zu verschiedenen Forschungsgebieten anbietet, um ein proaktives selbst-organisierendes System zu implementieren, das sich an neue und unbekannte Situationen anpassen kann.
Dabei wird die Komplexität für Benutzer und Anwendungsentwickler reduziert, indem die Entscheidungsfindung in das System selbst ausgelagert wird. Gleichzeitig sorgt dieser Ansatz für eine effiziente Nutzung der Ressourcen des Systems. Insgesamt leistet diese Arbeit die folgenden Beiträge zur Erweiterung des Stands der Forschung:
• Einführung einer neuartigen heuristischen Metrik zur Messung der Zuverlässigkeit von Verarbeitungseinheiten. Die Metrik basiert auf einer leichtgewichtigen Methode zur Fehlererkennung, genannt symptombasierte Fehlererkennung. Mit der symptombasierten Fehlererkennung ist es möglich, mehrere injizierte Fehlerklassen und Interferenzen, die Soft-Hardware-Fehler simulieren, sowohl auf einer CPU als auch auf einer GPU zuverlässig zu erkennen. Darüber hinaus werden diese Ergebnisse durch Welch\u27s t-Test statistisch bestätigt.
• Vorschlag eines Vorhersagemodells für die Ausführungszeit von OpenCL Kerneln, das auf statischer Code-Analyse basiert. Das Modell ist in der Lage, die schnellste Verarbeitungseinheit aus einer Menge von Verarbeitungseinheiten mit einer Genauigkeit von im schlechtesten Fall auszuwählen. Zum Vergleich: eine Referenzvariante, welche immer den Prozessor vorhersagt, der die meisten Kernel am schnellsten ausführt, erzielt eine Genauigkeit von . Im besten Fall erreicht das Modell eine Genauigkeit von bis zu .
• Bereitstellung von zwei Prädiktoren für kommende Tasks/Anwendungen. Der erste Mechanismus betrachtet unabhängige Tasks, die ständig neue Task-Instanzen erstellen, der zweite abhängige Anwendungen, die Ausführungsmuster bilden. Dabei erzielt der erste Mechanismus bei der Vorhersage der Zeitspanne zwischen zwei aufeinanderfolgenden Task-Instanzen einen maximalen\\ -Wert von für sporadische und für periodische Tasks. Darüber hinaus werden Tasks mit einem aperiodischen Ausführungsschema zuverlässig erkannt. Der zweite Mechanismus erreicht eine Genauigkeit von für die Vorhersage der nächsten anstehenden Anwendung und deren Startzeit.
• Einführung einer Umsetzung eines hierarchischen Organic Computing Frameworks mit dem Anwendungsgebiet Task-Scheduling. Dieses Framework enthält u.a. ein modifiziertes XCS, für dessen Design und Implementierung ein neuartiger Reward-Mechanismus entwickelt wird. Der Mechanismus bedient sich dabei eines speziell für diesen Zweck entwickelten Simulators zur Berechnung von Task-Ausführungskosten. Das XCS bildet Beschreibungen des Systemzustands auf Gewichte zur Balancierung der Optimierungsziele des Systems ab. Diese Gewichte werden in einer Bewertungsfunktion für List Scheduling-Algorithmen verwendet. Damit wird in einem Evaluationsszenario, welches aus einem fünfmal wiederholten Muster aus Anwendungen besteht, eine Reduzierung der Gesamtlaufzeit um bzw. , des Energieverbrauchs um bzw. und der maximalen Temperatur der GPU um bzw. erzielt. Lediglich die maximale Temperatur über alle CPU-Kerne erhöht sich um bzw. .
• Entwicklung von zwei Erweiterungen zur Verbesserung des dynamischen Task-Schedulings für einzelne und mehrere Prozesse, z.B. mehrere Laufzeitsysteminstanzen. Der erste Mechanismus, ein Ageing-Algorithmus, betrachtet nicht sicherheitskritische Systeme, welche Task-Prioritäten verwenden, um die unterschiedliche Bedeutung von Anwendungen darzustellen. Da es in solchen Anwendungsszenarien in Kombination mit hoher Systemauslastung zu Starvation kommen kann, passt der Mechanismus die Task-Prioritäten dynamisch an die aktuelle Auslastung und die Task-Wartezeiten an. Insgesamt erreicht dieser Mechanismus in zwei Bewertungsszenarien eine durchschnittliche Laufzeitverbesserung von und bei gleichzeitiger Reduzierung der Durchlaufzeit von Tasks mit niedrigerer Priorität um bis zu . Der zweite Mechanismus ermöglicht die Optimierung von Schedules mehrerer Laufzeitsysteminstanzen, die parallel auf demselben Rechenknoten ausgeführt werden. Dieser Co-Scheduling-Ansatz verwendet Shared Memory zum Austausch von Informationen zwischen den Prozessen und Simulated Annealing zur Berechnung neuer Task-Schedules. In zwei Evaluierungsszenarien erzielt der Mechanismus durchschnittliche Laufzeitverbesserungen von und bzw. etwa und
Schedulability Analysis of Real-Time Systems with Uncertain Worst-Case Execution Times
Schedulability analysis is about determining whether a given set of real-time
software tasks are schedulable, i.e., whether task executions always complete
before their specified deadlines. It is an important activity at both early
design and late development stages of real-time systems. Schedulability
analysis requires as input the estimated worst-case execution times (WCET) for
software tasks. However, in practice, engineers often cannot provide precise
point WCET estimates and prefer to provide plausible WCET ranges. Given a set
of real-time tasks with such ranges, we provide an automated technique to
determine for what WCET values the system is likely to meet its deadlines, and
hence operate safely. Our approach combines a search algorithm for generating
worst-case scheduling scenarios with polynomial logistic regression for
inferring safe WCET ranges. We evaluated our approach by applying it to a
satellite on-board system. Our approach efficiently and accurately estimates
safe WCET ranges within which deadlines are likely to be satisfied with high
confidence
TRAMMAS: Enhancing Communication in Multiagent Systems
Tesis por compendio[EN] Over the last years, multiagent systems have been proven to be a powerful and versatile paradigm, with a big
potential when it comes to solving complex problems in dynamic and distributed environments, due to their flexible
and adaptive behavior. This potential does not only come from the individual features of agents (such as autonomy,
reactivity or reasoning power), but also to their capability to communicate, cooperate and coordinate in order to
fulfill their goals. In fact, it is this social behavior what makes multiagent systems so powerful, much more than the
individual capabilities of agents.
The social behavior of multiagent systems is usually developed by means of high
level abstractions, protocols and languages, which normally rely on (or at least, benefit from) agents being able to
communicate and interact indirectly. However, in the development process, such high level concepts habitually
become weakly supported, with mechanisms such as traditional messaging, massive broadcasting, blackboard
systems or ad hoc solutions. This lack of an appropriate way to support indirect communication in actual multiagent
systems compromises their potential.
This PhD thesis proposes the use of event tracing as a flexible, effective and efficient support for indirect interaction
and communication in multiagent systems. The main contribution of this thesis is TRAMMAS, a generic, abstract
model for event tracing support in multiagent systems. The model allows all entities in the system to share their
information as trace events, so that any other entity which require this information is able to receive it. Along with
the model, the thesis also presents an abstract architecture, which redefines the model in terms of a set of tracing
facilities that can be then easily incorporated to an actual multiagent platform. This architecture follows a
service-oriented approach, so that the tracing facilities are provided in the same way than other traditional services
offered by the platform. In this way, event tracing can be considered as an additional information provider for
entities in the multiagent system, and as such, it can be integrated from the earliest stages of the development
process.[ES] A lo largo de los últimos años, los sistemas multiagente han demostrado ser un paradigma potente y versátil,
con un gran potencial a la hora de resolver problemas complejos en entornos dinámicos y distribuidos, gracias a
su comportamiento flexible y adaptativo. Este potencial no es debido únicamente a las características individuales
de los agentes (como son su autonomía, y su capacidades de reacción y de razonamiento), sino que también se
debe a su capacidad de comunicación y cooperación a la hora de conseguir sus objetivos. De hecho, por encima
de la capacidad individual de los agentes, es este comportamiento social el que dota de potencial a los sistemas
multiagente.
El comportamiento social de los sistemas multiagente suele desarrollarse empleando abstracciones, protocolos y
lenguajes de alto nivel, los cuales, a su vez, se basan normalmente en la capacidad para comunicarse e
interactuar de manera indirecta de los agentes (o como mínimo, se benefician en gran medida de dicha
capacidad). Sin embargo, en el proceso de desarrollo software, estos conceptos de alto nivel son soportados
habitualmente de manera débil, mediante mecanismos como la mensajería tradicional, la difusión masiva, o el uso
de pizarras, o mediante soluciones totalmente ad hoc. Esta carencia de un soporte genérico y apropiado para la
comunicación indirecta en los sistemas multiagente reales compromete su potencial.
Esta tesis doctoral propone el uso del trazado de eventos como un soporte flexible, efectivo y eficiente para la
comunicación indirecta en sistemas multiagente. La principal contribución de esta tesis es TRAMMAS, un modelo
genérico y abstracto para dar soporte al trazado de eventos en sistemas multiagente. El modelo permite a
cualquier entidad del sistema compartir su información en forma de eventos de traza, de tal manera que cualquier
otra entidad que requiera esta información sea capaz de recibirla. Junto con el modelo, la tesis también presenta
una arquitectura {abs}{trac}{ta}, que redefine el modelo como un conjunto de funcionalidades que pueden ser
fácilmente incorporadas a una plataforma multiagente real. Esta arquitectura sigue un enfoque orientado a
servicios, de modo que las funcionalidades de traza son ofrecidas por parte de la plataforma de manera similar a
los servicios tradicionales. De esta forma, el trazado de eventos puede ser considerado como una fuente adicional
de información para las entidades del sistema multiagente y, como tal, puede integrarse en el proceso de
desarrollo software desde sus primeras etapas.[CA] Al llarg dels últims anys, els sistemes multiagent han demostrat ser un paradigma potent i versàtil, amb un gran
potencial a l'hora de resoldre problemes complexes a entorns dinàmics i distribuïts, gràcies al seu comportament
flexible i adaptatiu. Aquest potencial no és només degut a les característiques individuals dels agents (com són la
seua autonomia, i les capacitats de reacció i raonament), sinó també a la seua capacitat de comunicació i
cooperació a l'hora d'aconseguir els seus objectius. De fet, per damunt de la capacitat individual dels agents, es
aquest comportament social el que dóna potencial als sistemes multiagent.
El comportament social dels sistemes multiagent solen desenvolupar-se utilitzant abstraccions, protocols i
llenguatges d'alt nivell, els quals, al seu torn, es basen normalment a la capacitat dels agents de comunicar-se i
interactuar de manera indirecta (o com a mínim, es beneficien en gran mesura d'aquesta capacitat). Tanmateix, al
procés de desenvolupament software, aquests conceptes d'alt nivell son suportats habitualment d'una manera
dèbil, mitjançant mecanismes com la missatgeria tradicional, la difusió massiva o l'ús de pissarres, o mitjançant
solucions totalment ad hoc. Aquesta carència d'un suport genèric i apropiat per a la comunicació indirecta als
sistemes multiagent reals compromet el seu potencial.
Aquesta tesi doctoral proposa l'ús del traçat d'esdeveniments com un suport flexible, efectiu i eficient per a la
comunicació indirecta a sistemes multiagent. La principal contribució d'aquesta tesi és TRAMMAS, un model
genèric i abstracte per a donar suport al traçat d'esdeveniments a sistemes multiagent. El model permet a
qualsevol entitat del sistema compartir la seua informació amb la forma d'esdeveniments de traça, de tal forma que
qualsevol altra entitat que necessite aquesta informació siga capaç de rebre-la. Junt amb el model, la tesi també
presenta una arquitectura abstracta, que redefineix el model com un conjunt de funcionalitats que poden ser
fàcilment incorporades a una plataforma multiagent real. Aquesta arquitectura segueix un enfoc orientat a serveis,
de manera que les funcionalitats de traça són oferides per part de la plataforma de manera similar als serveis
tradicionals. D'aquesta manera, el traçat d'esdeveniments pot ser considerat com una font addicional d'informació
per a les entitats del sistema multiagent, i com a tal, pot integrar-se al procés de desenvolupament software des de
les seues primeres etapes.Búrdalo Rapa, LA. (2016). TRAMMAS: Enhancing Communication in Multiagent Systems [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/61765TESISCompendi
- …