As an increasing amount of commercial activity becomes automated, the importance of techniques for providing complete system specifications, checking the correctness of interactions and flagging incorrect behaviour increases. The aim throughout is to generate more complete information about the system and so to produce IT solutions that reflect the business requirements accurately. So far, most efforts have been placed on the appropriate specification of the system behaviour and then on the non-functional requirements that constitute the contract between a system and its users. But in fully-automated commercial systems, such as Cloud Computing or SOA systems, we should also consider the liability of the different parties, since we should be able that assign responsibility to objects and, more importantly, to know in case of problems or contact violations, which one should be blamed.
The consequence of these considerations is that we need the ability to express more directly the necessary obligations and other deontic concepts, such as permissions and prohibitions, giving the designer the tools for extending the behavioural information to make it clear where obligations apply and with what detailed properties. In this talk we describe current activities within the International Organization for Standardization (ISO) to extend the ODP family of standards for the expression of policies using deontic logic, and on how to improve support for deontic concepts based on their reification.
Philosophical Foundations for a Services Systems ApproachPhiloWeb
This document discusses developing a conceptual framework for understanding services as dynamic systems. It proposes moving beyond views of services as products, processes, or functions. Inspired by phenomenology, process philosophy, and holism, the framework defines services as emergent phenomena from coordinating heterogeneous entities. Services are seen as arrangements of autonomous objects that exist through relationships and can change shapes through resource conversions. A new "servicial arrangement" model is proposed using simplicial complexes and hypergraphs to capture the multidimensionality and relationships between elements in a service system.
El papel de los MOOCs en la Formación de Posgrado. El reto de la Universidad...Antonio Vallecillo
Este documento resume el papel de los MOOCs en la formación de posgrado y los retos actuales de la universidad. Brevemente describe los antecedentes de los MOOCs y cómo han cambiado los estudiantes, la tecnología y el mundo, pero los métodos de enseñanza y los profesores no han cambiado. También define qué es un MOOC, los nuevos modelos de trabajo y enseñanza que proponen, y las plataformas disponibles para crearlos. Finalmente, analiza la experiencia de la Universidad de Málaga creando sus
On the Combination of Domain Specific Modeling LanguagesAntonio Vallecillo
This are the slides of the presentation at ECMFA 2010 of paper:
"On the Combination of Domain Specific Modeling Languages". LNCS 6138, pp. 301-316, Paris, June 16-18, 2010.
ABSTRACT: Domain Specific Modeling Languages (DSMLs) are essential elements in Model-based Engineering. Each DSML allows capturing certain properties of the system, while abstracting other properties away. Nowadays DSMLs are mostly used in silos to solve specific problems. However, there are many occasions when multiple DSMLs need to be combined to design systems in a modular way. In this paper we discuss some scenarios of use and several mechanisms for DSML combination. We propose a general framework for combining DSMLs that subsumes them, based on the concept of viewpoint unification, and its realization using model-driven techniques.
La enseñanza digital y los MOOC en la UMA. Presentación en el XV encuentro de...Antonio Vallecillo
Presentación realizada en el XV Encuentro de Rectores del Grupo Tordesillas (http://www.grupotordesillas.net/) celebrado en Lisboa en octubre de 2014, en el Seminario sobre nuevos instrumentos de aprendizaje digital y cursos masivos abiertos online (MOOC)
El documento proporciona información sobre los estudios de posgrado de la Universidad de Málaga. Ofrece 61 másteres oficiales verificados por la ANECA con una alta tasa de empleo y satisfacción de los estudiantes. También cuenta con 21 programas de doctorado con 105 líneas de investigación y 62 títulos propios de posgrado como másteres, diplomas y expertos orientados al mercado laboral. La universidad fomenta la movilidad internacional a través de varios programas de intercambio.
The document discusses assigning meaning to models, noting that models must have precise meanings in order to understand systems, analyze properties, and drive implementation. It explores how domain-specific modeling languages that are intuitive and close to the problem domain can help assign meaning, and suggests current modeling notations may not be optimal for this task. Precise yet abstract notations are needed to allow formal analysis of modeled systems.
El doctorado en Informática: ¿Nuevo vino en viejas botellas? (Charla U. Sevil...Antonio Vallecillo
RESUMEN: El nuevo Real Decreto 99/2011 ha supuesto un cambio sustancial en el tercer ciclo de los estudios universitarios y en las prácticas que conducen al desarrollo de la tesis. Estos cambios son especialmente significativos en los doctorados de ciencias e ingenierías, y en particular en Informática, con la aparición de nuevas formas de comunicación social y de evaluación de la actividad investigadora, las bases de datos de publicaciones y los índices de impacto, la reputación online de los investigadores, y la profesionalización de los doctorados.
Esta charla está dedicada a presentar, y debatir, lo que representan estas novedades para los estudiantes de doctorado en Informática, y sugerir algunos aspectos que es importante tener en cuenta a la hora de plantear el desarrollo de la tesis y construir nuestra carrera profesional.
La ingeniería del software en España: retos y oportunidadesAntonio Vallecillo
Este documento trata sobre los retos y oportunidades de la Ingeniería del Software. Brevemente describe cómo el software juega un papel clave en aplicaciones críticas y cómo la fiabilidad debe venir del software. También menciona la complejidad creciente de los requisitos y la rápida evolución de las tecnologías como desafíos para la industria del software.
Philosophical Foundations for a Services Systems ApproachPhiloWeb
This document discusses developing a conceptual framework for understanding services as dynamic systems. It proposes moving beyond views of services as products, processes, or functions. Inspired by phenomenology, process philosophy, and holism, the framework defines services as emergent phenomena from coordinating heterogeneous entities. Services are seen as arrangements of autonomous objects that exist through relationships and can change shapes through resource conversions. A new "servicial arrangement" model is proposed using simplicial complexes and hypergraphs to capture the multidimensionality and relationships between elements in a service system.
El papel de los MOOCs en la Formación de Posgrado. El reto de la Universidad...Antonio Vallecillo
Este documento resume el papel de los MOOCs en la formación de posgrado y los retos actuales de la universidad. Brevemente describe los antecedentes de los MOOCs y cómo han cambiado los estudiantes, la tecnología y el mundo, pero los métodos de enseñanza y los profesores no han cambiado. También define qué es un MOOC, los nuevos modelos de trabajo y enseñanza que proponen, y las plataformas disponibles para crearlos. Finalmente, analiza la experiencia de la Universidad de Málaga creando sus
On the Combination of Domain Specific Modeling LanguagesAntonio Vallecillo
This are the slides of the presentation at ECMFA 2010 of paper:
"On the Combination of Domain Specific Modeling Languages". LNCS 6138, pp. 301-316, Paris, June 16-18, 2010.
ABSTRACT: Domain Specific Modeling Languages (DSMLs) are essential elements in Model-based Engineering. Each DSML allows capturing certain properties of the system, while abstracting other properties away. Nowadays DSMLs are mostly used in silos to solve specific problems. However, there are many occasions when multiple DSMLs need to be combined to design systems in a modular way. In this paper we discuss some scenarios of use and several mechanisms for DSML combination. We propose a general framework for combining DSMLs that subsumes them, based on the concept of viewpoint unification, and its realization using model-driven techniques.
La enseñanza digital y los MOOC en la UMA. Presentación en el XV encuentro de...Antonio Vallecillo
Presentación realizada en el XV Encuentro de Rectores del Grupo Tordesillas (http://www.grupotordesillas.net/) celebrado en Lisboa en octubre de 2014, en el Seminario sobre nuevos instrumentos de aprendizaje digital y cursos masivos abiertos online (MOOC)
El documento proporciona información sobre los estudios de posgrado de la Universidad de Málaga. Ofrece 61 másteres oficiales verificados por la ANECA con una alta tasa de empleo y satisfacción de los estudiantes. También cuenta con 21 programas de doctorado con 105 líneas de investigación y 62 títulos propios de posgrado como másteres, diplomas y expertos orientados al mercado laboral. La universidad fomenta la movilidad internacional a través de varios programas de intercambio.
The document discusses assigning meaning to models, noting that models must have precise meanings in order to understand systems, analyze properties, and drive implementation. It explores how domain-specific modeling languages that are intuitive and close to the problem domain can help assign meaning, and suggests current modeling notations may not be optimal for this task. Precise yet abstract notations are needed to allow formal analysis of modeled systems.
El doctorado en Informática: ¿Nuevo vino en viejas botellas? (Charla U. Sevil...Antonio Vallecillo
RESUMEN: El nuevo Real Decreto 99/2011 ha supuesto un cambio sustancial en el tercer ciclo de los estudios universitarios y en las prácticas que conducen al desarrollo de la tesis. Estos cambios son especialmente significativos en los doctorados de ciencias e ingenierías, y en particular en Informática, con la aparición de nuevas formas de comunicación social y de evaluación de la actividad investigadora, las bases de datos de publicaciones y los índices de impacto, la reputación online de los investigadores, y la profesionalización de los doctorados.
Esta charla está dedicada a presentar, y debatir, lo que representan estas novedades para los estudiantes de doctorado en Informática, y sugerir algunos aspectos que es importante tener en cuenta a la hora de plantear el desarrollo de la tesis y construir nuestra carrera profesional.
La ingeniería del software en España: retos y oportunidadesAntonio Vallecillo
Este documento trata sobre los retos y oportunidades de la Ingeniería del Software. Brevemente describe cómo el software juega un papel clave en aplicaciones críticas y cómo la fiabilidad debe venir del software. También menciona la complejidad creciente de los requisitos y la rápida evolución de las tecnologías como desafíos para la industria del software.
Presentation by Julia Schaumeier at the 2nd Awareness Workshop on Challenges for Achieving Self-awareness in Autonomic Systems @ SASO 2012, Lyon, France
This document discusses key concepts related to software design, including:
1. The design process focuses on determining system modules and their specifications and interconnections at both the module and detailed logic levels.
2. Object-oriented design models the problem domain using concepts like classes, objects, and relationships to make the design easier to produce and understand.
3. Modularization criteria like coupling and cohesion aim to produce loosely coupled and highly cohesive modules to improve qualities like modifiability and understandability.
1) The simulation model served as a boundary object between stakeholders in two healthcare modeling projects with different goals and group compositions.
2) In the national project, the group had a shared understanding which allowed the model to be used predictively, while the local project used the model to facilitate learning and build understanding between diverse stakeholders.
3) How the model was used depended on the project process and characteristics of the stakeholder group, with more diverse local groups requiring the model to play a greater role in negotiation and representation of realities.
Systems Dynamics in boundaries @ HaCIRIC 2010 conference EdinburghMaria Kapsali
1) The simulation model served as a boundary object between stakeholders in two healthcare modeling projects with different goals and group compositions.
2) In the national project, the group had a shared understanding which allowed the model to be used predictively, while the local project used the model to develop understanding through workshops.
3) The local project's diverse group negotiated the model boundaries iteratively, while the national project's cohesive group codified their shared knowledge with less emphasis on the model as a boundary object.
This chapter discusses models and frameworks for interpersonal relationships and collaboration within organizations. It covers trust as important for relationships, models for understanding work groups and organizations, and consumer models relevant to website interactions. Collaboration software aims to support shared workspaces and private spaces. Effective collaboration considers communication processes, tasks, cultural factors, and leadership. Enterprise systems like wikis facilitate knowledge sharing across organizations.
Course material from my Object-Oriented Development course.This presentation covers the analysis phases and focuses on class discovery, domain modeling, activity diagrams, and sequence diagrams.
The document discusses object-oriented analysis and design (OOAD). It states that OOAD is a process of creating abstractions to meet system requirements independently of the programming language. Objects encapsulate state and behavior and communicate via message passing. While OOAD may increase development time, it facilitates reuse, maintenance, and verification. The document also discusses OO principles, the iterative analysis-design-implementation process, object-oriented analysis to identify classes and objects, and techniques for OOAD like use cases, domain modeling, CRC cards, and UML.
An agent based approach for building complex software systemsIcaro Santos
1) The document discusses an agent-based approach for developing complex software systems. It argues that agent-oriented approaches are well-suited for building distributed systems due to their ability to model complexity, interactions, and organizational relationships.
2) Complex systems inherently exhibit hierarchy, nearly decomposable subsystems, and changing interactions. An agent-based approach models a system as autonomous agents that can achieve objectives through flexible and decentralized interactions.
3) Key advantages of the agent approach include its use of agents, interactions, and organizations as natural abstractions to represent subsystems, components, and relationships in complex systems. It also allows runtime determination of interactions to reduce coupling between components.
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual FrameworkAndrea Omicini
Event-based systems (EBS) are nowadays the most viable sources of technologies and solutions for large-scale distributed applications. On the other hand, multi-agent systems (MAS) apparently provide the most viable abstractions and coherent methods to deal with complex distributed systems, in particular when advanced features – such as mobility, autonomy, symbolic reasoning, knowledge management, situation recognition – are required. In this talk we discuss how the core concepts of EBS and MAS can in principle be matched and integrated, providing a sound conceptual ground for a coherent discipline for the engineering of complex software systems.
[Keynote Speech @ IEEE CSCWD 2015, May 6, 2015, Calabria, Italy]
The document discusses object-oriented system development and modeling. It covers topics like:
1. The main stages of traditional system development life cycles like requirements, analysis, design, implementation, and installation. As well as common life cycle models like waterfall, V-model, spiral, and prototyping.
2. Phases of object-oriented development focus on the state of the system rather than activities, including inception, elaboration, construction, and transition.
3. Modeling techniques for object-oriented systems including the Unified Modeling Language (UML), Rational Unified Process (RUP), abstraction, decomposition, and class-responsibility-collaboration (CRC) cards.
4
The document discusses key concepts in software design including abstraction, architecture, patterns, modularity, information hiding, and functional independence. It explains that software design is an iterative process that transforms requirements into a blueprint for constructing the software through design models, data structures, system architecture, interfaces, and components. Good software design exhibits qualities like being bug-free, suitable for its intended purpose, and a pleasurable user experience.
This document provides an introduction to design patterns. It begins by explaining what design patterns are, their benefits, and common elements of design patterns like name, problem, solution, and consequences. It then discusses different types of design patterns classified by purpose (creational, structural, behavioral) and scope (class, object). An example of applying the strategy pattern to a duck simulation is used to illustrate how patterns can solve common object-oriented design problems by separating variable aspects from those that remain the same. The document advocates programming to interfaces rather than implementations to avoid tight coupling and allow independent extension of behavior.
1) The document discusses complexity in software systems and the object model approach to managing complexity. Complex software systems have many interrelated parts and long lifespans.
2) The object model approach uses principles like abstraction, encapsulation, modularity, hierarchy and typing to organize a software system. Classes define common structure and behavior for objects.
3) Objects have state, behavior and identity according to their class. Relationships like aggregation and inheritance define relationships among classes and objects.
1. The document discusses new trends in enterprise architecture, including what approaches and frameworks Gartner recommends. It summarizes different schools of systems thinking and the roles and skills required of enterprise architects.
2. Key skills discussed for enterprise architects include acting as a change agent, communicator, leader, and modeler. Additional skills emphasized are having competencies in conflict resolution and consensus building.
3. The role of enterprise architects is changing to require more dialogic skills like listening, managing disagreement, and facilitating empathy to address complex problems.
The document describes the Gathering pattern, which is an adaptation pattern for multi-agent systems. The Gathering pattern triggers the formation of an initiative by facilitating a casual meeting of agents at a shared "venue," allowing them to begin interacting and coordinating without prior knowledge of each other. Once an initiative is created, it can then evolve into a more established organizational structure through additional adaptation patterns. Adaptation patterns provide attractors that help self-organize agents to form emergent, adaptive architectures.
The document discusses various design concepts and elements of the design model in software engineering. It covers 12 key design concepts including abstraction, architecture, patterns, separation of concerns, modularity, and information hiding. It also discusses design classes, refinement, aspects, and refactoring. Additionally, it outlines elements of the design model including data design, architectural design, interface design, component-level design, and deployment-level design. The goal of design is to create a model of software that will correctly implement requirements and provide joy to users.
Fundamentals of Collective Adaptive Systems ManifestoFoCAS Initiative
This document presents a manifesto summarizing the research agenda for collective adaptive systems developed by the FoCAS coordination action project over three years. It defines collective adaptive systems as consisting of diverse, autonomous but collaborating entities that continuously adapt to changes in their environment. The manifesto is structured in four chapters that introduce collective adaptive systems, present challenges in their fundamentals, propose engineering challenges, and summarize key concepts and directions. It aims to provide guidance for future research in this field.
This document discusses the state-of-the-art of Internet of Things (IoT) ontologies. It begins by defining ontology and describing important design criteria for ontologies including clarity, coherence, extendibility, and minimal encoding bias. It then discusses the challenges of IoT, including large scale networks, deep heterogeneity, and unknown topology. Several existing IoT ontologies are described, including SWAMO, MMI Device Ontology, and SSN. The document concludes that while no single global IoT ontology currently exists, ontologies are needed to address the semantic interoperability challenges of heterogeneous IoT devices and domains.
Object-oriented analysis and design is an evolutionary development method built upon past proven concepts. The document discusses object-oriented systems development processes including use case driven analysis, the Object Modeling Technique (OMT), class diagrams, relationships between classes, and object-oriented modeling. It provides examples of class diagrams showing classes, attributes, operations, and relationships. It also explains the four views of OMT - the object model, dynamic model, functional model, and how OMT separates modeling.
Modeling the behavior of complex systems that operate in real environments, deal with physical elements, or interact with humans is a challenging task. It involves the explicit representation of aspects of behavioral uncertainty that are inherent in the system but generally neglected in software models. In this paper, we focus on the explicit representation of the behavior of objects of complex systems, considering their motivations, randomness, and the different types of underlying uncertainty that affect their actions. We show how such uncertain behaviors can be effectively modeled in UML and OCL, and how the specifications produced can be used to simulate and analyze these systems.
Knowledge-based applications that deal with uncertainty usually represent it by means of a confidence score that expresses the probability that a given fact is true. However, different users may have distinct opinions about the same fact, something that is not considered in existing proposals. This is critical in a number of areas where individual opinions need to be taken into account when making informed decisions, particularly when these are to be made by consensus. This paper introduces Subjective Knowledge Graphs (SKG), an extension to Probabilistic Knowledge Graphs that considers the individual opinions of separate users about the same facts, and allows reasoning about them. We show how SKGs can be implemented using standard graph databases and how the results of the queries can be enriched with the associated degrees of uncertainty.
More Related Content
Similar to Accountable objects: Modeling Liability in Open Distributed Systems
Presentation by Julia Schaumeier at the 2nd Awareness Workshop on Challenges for Achieving Self-awareness in Autonomic Systems @ SASO 2012, Lyon, France
This document discusses key concepts related to software design, including:
1. The design process focuses on determining system modules and their specifications and interconnections at both the module and detailed logic levels.
2. Object-oriented design models the problem domain using concepts like classes, objects, and relationships to make the design easier to produce and understand.
3. Modularization criteria like coupling and cohesion aim to produce loosely coupled and highly cohesive modules to improve qualities like modifiability and understandability.
1) The simulation model served as a boundary object between stakeholders in two healthcare modeling projects with different goals and group compositions.
2) In the national project, the group had a shared understanding which allowed the model to be used predictively, while the local project used the model to facilitate learning and build understanding between diverse stakeholders.
3) How the model was used depended on the project process and characteristics of the stakeholder group, with more diverse local groups requiring the model to play a greater role in negotiation and representation of realities.
Systems Dynamics in boundaries @ HaCIRIC 2010 conference EdinburghMaria Kapsali
1) The simulation model served as a boundary object between stakeholders in two healthcare modeling projects with different goals and group compositions.
2) In the national project, the group had a shared understanding which allowed the model to be used predictively, while the local project used the model to develop understanding through workshops.
3) The local project's diverse group negotiated the model boundaries iteratively, while the national project's cohesive group codified their shared knowledge with less emphasis on the model as a boundary object.
This chapter discusses models and frameworks for interpersonal relationships and collaboration within organizations. It covers trust as important for relationships, models for understanding work groups and organizations, and consumer models relevant to website interactions. Collaboration software aims to support shared workspaces and private spaces. Effective collaboration considers communication processes, tasks, cultural factors, and leadership. Enterprise systems like wikis facilitate knowledge sharing across organizations.
Course material from my Object-Oriented Development course.This presentation covers the analysis phases and focuses on class discovery, domain modeling, activity diagrams, and sequence diagrams.
The document discusses object-oriented analysis and design (OOAD). It states that OOAD is a process of creating abstractions to meet system requirements independently of the programming language. Objects encapsulate state and behavior and communicate via message passing. While OOAD may increase development time, it facilitates reuse, maintenance, and verification. The document also discusses OO principles, the iterative analysis-design-implementation process, object-oriented analysis to identify classes and objects, and techniques for OOAD like use cases, domain modeling, CRC cards, and UML.
An agent based approach for building complex software systemsIcaro Santos
1) The document discusses an agent-based approach for developing complex software systems. It argues that agent-oriented approaches are well-suited for building distributed systems due to their ability to model complexity, interactions, and organizational relationships.
2) Complex systems inherently exhibit hierarchy, nearly decomposable subsystems, and changing interactions. An agent-based approach models a system as autonomous agents that can achieve objectives through flexible and decentralized interactions.
3) Key advantages of the agent approach include its use of agents, interactions, and organizations as natural abstractions to represent subsystems, components, and relationships in complex systems. It also allows runtime determination of interactions to reduce coupling between components.
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual FrameworkAndrea Omicini
Event-based systems (EBS) are nowadays the most viable sources of technologies and solutions for large-scale distributed applications. On the other hand, multi-agent systems (MAS) apparently provide the most viable abstractions and coherent methods to deal with complex distributed systems, in particular when advanced features – such as mobility, autonomy, symbolic reasoning, knowledge management, situation recognition – are required. In this talk we discuss how the core concepts of EBS and MAS can in principle be matched and integrated, providing a sound conceptual ground for a coherent discipline for the engineering of complex software systems.
[Keynote Speech @ IEEE CSCWD 2015, May 6, 2015, Calabria, Italy]
The document discusses object-oriented system development and modeling. It covers topics like:
1. The main stages of traditional system development life cycles like requirements, analysis, design, implementation, and installation. As well as common life cycle models like waterfall, V-model, spiral, and prototyping.
2. Phases of object-oriented development focus on the state of the system rather than activities, including inception, elaboration, construction, and transition.
3. Modeling techniques for object-oriented systems including the Unified Modeling Language (UML), Rational Unified Process (RUP), abstraction, decomposition, and class-responsibility-collaboration (CRC) cards.
4
The document discusses key concepts in software design including abstraction, architecture, patterns, modularity, information hiding, and functional independence. It explains that software design is an iterative process that transforms requirements into a blueprint for constructing the software through design models, data structures, system architecture, interfaces, and components. Good software design exhibits qualities like being bug-free, suitable for its intended purpose, and a pleasurable user experience.
This document provides an introduction to design patterns. It begins by explaining what design patterns are, their benefits, and common elements of design patterns like name, problem, solution, and consequences. It then discusses different types of design patterns classified by purpose (creational, structural, behavioral) and scope (class, object). An example of applying the strategy pattern to a duck simulation is used to illustrate how patterns can solve common object-oriented design problems by separating variable aspects from those that remain the same. The document advocates programming to interfaces rather than implementations to avoid tight coupling and allow independent extension of behavior.
1) The document discusses complexity in software systems and the object model approach to managing complexity. Complex software systems have many interrelated parts and long lifespans.
2) The object model approach uses principles like abstraction, encapsulation, modularity, hierarchy and typing to organize a software system. Classes define common structure and behavior for objects.
3) Objects have state, behavior and identity according to their class. Relationships like aggregation and inheritance define relationships among classes and objects.
1. The document discusses new trends in enterprise architecture, including what approaches and frameworks Gartner recommends. It summarizes different schools of systems thinking and the roles and skills required of enterprise architects.
2. Key skills discussed for enterprise architects include acting as a change agent, communicator, leader, and modeler. Additional skills emphasized are having competencies in conflict resolution and consensus building.
3. The role of enterprise architects is changing to require more dialogic skills like listening, managing disagreement, and facilitating empathy to address complex problems.
The document describes the Gathering pattern, which is an adaptation pattern for multi-agent systems. The Gathering pattern triggers the formation of an initiative by facilitating a casual meeting of agents at a shared "venue," allowing them to begin interacting and coordinating without prior knowledge of each other. Once an initiative is created, it can then evolve into a more established organizational structure through additional adaptation patterns. Adaptation patterns provide attractors that help self-organize agents to form emergent, adaptive architectures.
The document discusses various design concepts and elements of the design model in software engineering. It covers 12 key design concepts including abstraction, architecture, patterns, separation of concerns, modularity, and information hiding. It also discusses design classes, refinement, aspects, and refactoring. Additionally, it outlines elements of the design model including data design, architectural design, interface design, component-level design, and deployment-level design. The goal of design is to create a model of software that will correctly implement requirements and provide joy to users.
Fundamentals of Collective Adaptive Systems ManifestoFoCAS Initiative
This document presents a manifesto summarizing the research agenda for collective adaptive systems developed by the FoCAS coordination action project over three years. It defines collective adaptive systems as consisting of diverse, autonomous but collaborating entities that continuously adapt to changes in their environment. The manifesto is structured in four chapters that introduce collective adaptive systems, present challenges in their fundamentals, propose engineering challenges, and summarize key concepts and directions. It aims to provide guidance for future research in this field.
This document discusses the state-of-the-art of Internet of Things (IoT) ontologies. It begins by defining ontology and describing important design criteria for ontologies including clarity, coherence, extendibility, and minimal encoding bias. It then discusses the challenges of IoT, including large scale networks, deep heterogeneity, and unknown topology. Several existing IoT ontologies are described, including SWAMO, MMI Device Ontology, and SSN. The document concludes that while no single global IoT ontology currently exists, ontologies are needed to address the semantic interoperability challenges of heterogeneous IoT devices and domains.
Object-oriented analysis and design is an evolutionary development method built upon past proven concepts. The document discusses object-oriented systems development processes including use case driven analysis, the Object Modeling Technique (OMT), class diagrams, relationships between classes, and object-oriented modeling. It provides examples of class diagrams showing classes, attributes, operations, and relationships. It also explains the four views of OMT - the object model, dynamic model, functional model, and how OMT separates modeling.
Similar to Accountable objects: Modeling Liability in Open Distributed Systems (20)
Modeling the behavior of complex systems that operate in real environments, deal with physical elements, or interact with humans is a challenging task. It involves the explicit representation of aspects of behavioral uncertainty that are inherent in the system but generally neglected in software models. In this paper, we focus on the explicit representation of the behavior of objects of complex systems, considering their motivations, randomness, and the different types of underlying uncertainty that affect their actions. We show how such uncertain behaviors can be effectively modeled in UML and OCL, and how the specifications produced can be used to simulate and analyze these systems.
Knowledge-based applications that deal with uncertainty usually represent it by means of a confidence score that expresses the probability that a given fact is true. However, different users may have distinct opinions about the same fact, something that is not considered in existing proposals. This is critical in a number of areas where individual opinions need to be taken into account when making informed decisions, particularly when these are to be made by consensus. This paper introduces Subjective Knowledge Graphs (SKG), an extension to Probabilistic Knowledge Graphs that considers the individual opinions of separate users about the same facts, and allows reasoning about them. We show how SKGs can be implemented using standard graph databases and how the results of the queries can be enriched with the associated degrees of uncertainty.
Using UML and OCL Models to realize High-Level Digital TwinsAntonio Vallecillo
Digital twins constitute virtual representations of physically existing systems. However, their inherent complexity makes them difficult to develop and prove correct. In this paper, we explore the use of UML and OCL, complemented with an executable language, SOIL, to build and test digital twins at a high level of abstraction. We also show how to realize the bidirectional connection between the UML models of the digital twin in the USE tool with the physical twin, using an architectural framework centered on a data lake. We have built a prototype of the framework to demonstrate our ideas, and validated it by developing a digital twin of a Lego Mindstorms car. The results allow us to show some interesting advantages of using high-level UML models to specify virtual twins, such as simulation, property checking, and some other types of tests.
Modeling behavioral deontic constraints using UML and OCLAntonio Vallecillo
This paper proposes modeling behavioral deontic constraints using UML and OCL. It introduces deontic tokens that reify permissions and obligations as objects. It also uses filmstrip models to represent system behavior as a sequence of snapshots. Operations become structural invariants between snapshots. The approach is demonstrated on a student grading case study. Behavioral analysis can then be done on filmstrips to check properties like reachability and accountability. Modeling deontic constraints explicitly aims to better support analysis, implementation and evolution compared to implicit representations in modal logic.
Modeling and Evaluating Quality in the Presence of UncertaintyAntonio Vallecillo
Slides of my keynote at QUATIC 2019.
Abstract: Uncertainty is the quality or state that involves lacking information or insufficient knowledge. Uncertainty can be due to different reasons, including incomplete or inaccurate information, inexact data or measurements, imprecise human judgments, or approximate estimations. The explicit representation of uncertainty is gaining attention among software engineers in order to provide more faithful systems representations, more accurate design methods, and better estimations of the development processes. However, incorporating uncertainty into our systems models is not enough. Uncertainty also affects many aspects related to the quality of systems, products, processes, and data, including how uncertainty is taken into account when designing our systems, measured when evaluating their quality, and perceived by customers and users. In fact, uncertainty – and, more specifically, the lack of knowledge about the system, our measuring tools, and our potential users – should be incorporated into our quality models, too. This talk identifies several kinds of uncertainties that have a direct impact on quality, and discusses some challenges on how quality needs to be planned, modeled, designed, measured and ensured in the presence of uncertainty.
1. Research evaluation in Spain has improved with new agencies adopting the GGS conference rating system, equating computer science conferences to journals.
2. The Spanish Informatics Societies play a key role in harmonizing evaluation criteria, building on successes like GGS, but challenges remain like dependence on journal impact factors.
3. Opportunities now exist to promote positive changes with momentum from initiatives addressing issues, and experiences can be shared across Europe for further improvement.
The document discusses representing belief uncertainty in software models. It proposes using a Bayesian probability approach to quantify belief uncertainty, where degrees of belief for model statements are assigned by belief agents. A UML profile and operational semantics are defined to explicitly represent belief agents and propagate credence values through dependent statements. This allows querying credence values to understand the level of confidence in different parts of the model based on the assessing agent. Future work includes associating evidence with beliefs and applying this approach to other model types.
This slides correspond to the talk we gave at the MODEVVA'17 workshop. This work presents an extension of OCL to allow modellers to deal with random numbers and probability distributions in their OCL specifications. We show its implementation in the tool USE and discuss some advantages of this new feature for the validation and verification of models.
Extending Complex Event Processing to Graph-structured InformationAntonio Vallecillo
Complex Event Processing (CEP) is a powerful technology in realtime distributed environments for analyzing fast and distributed streams of data, and deriving conclusions from them. CEP permits defining complex events based on the events produced by the incoming sources in order to identify complex meaningful circumstances and to respond to them as quickly as possible. However, in many situations the information that needs to be analyzed is not structured as a mere sequence of events, but as graphs of interconnected data that evolve over time. This paper proposes an extension of CEP systems that permits dealing with graph-structured information. Two case studies are used to validate the proposal and to compare its performance with traditional CEP systems. We discuss the benefits and limitations of the CEP extensions presented.
Towards a Body of Knowledge for Model-Based Software EngineeringAntonio Vallecillo
Model-based Software Engineering (MBSE) is now accepted as a Software Engineering (SE) discipline and is being taught as part of more general SE curricula. However, an agreed core of concepts, mechanisms and practices — which constitutes the Body of Knowledge of a discipline — has not been captured anywhere, and is only partially covered by the SE Body of Knowledge (SWEBOK). With the goals of characterizing the contents of the MBSE discipline, promoting a consistent view of it worldwide, clarifying its scope with regard to other SE disciplines, and defining a foundation for a curriculum development on MBSE, this paper provides a proposal
for an extension of the contents of SWEBOK with the set of fundamental concepts, terms and mechanisms that should constitute the MBSE Body of Knowledge.
La Ingeniería Informática no es una Ciencia -- Reflexiones sobre la Educación...Antonio Vallecillo
Charla invitada en Jenui 2017: En esta charla cuestionamos la formación actual que damos a nuestros alumnos de ingeniería informática, más propia de una disciplina científica que una ingeniería. De hecho, a pesar de los esfuerzos llevados a cabo durante los últimos años en nuestras Escuelas de Ingeniería Informática para mejorar la formación que se da a sus alumnos, la sociedad sigue sin percibirnos como ingenieros ni reconoce las competencias propias de nuestra disciplina. Partiendo de las características que debería tener la profesión de ingeniero informático, y que nuestra misión como Universidad debe ser la de formar profesionales, se analizan las fortalezas y debilidades de nuestra educación y se identifican algunos aspectos tanto de contenidos como de metodología que sería preciso plantear si realmente queremos formar ingenieros informáticos y mejorar la percepción que tiene de nosotros la Sociedad.
La Ética en la Ingeniería de Software de Pruebas: Necesidad de un Código ÉticoAntonio Vallecillo
En esta charla se analiza la necesidad de un código ético en el desarrollo de la actividad profesional en el ámbito de la ingeniería de software y, consecuentemente, en las pruebas.(mpartida en el Primer Congreso del Comité Español de Empresas de Pruebas Software (SSTQB). Sevilla, 16/6/2016. http://www.sstqb.es/eventos/gira2016sstqbetapasevilla.html)
Slides of the talk at ECMDA 2011, Brimingham, June 2011
ABSTRACT:
The package is one of the basic UML concepts. It is used both to group model elements and to provide a namescope for its members. However, combining these two tasks into a single UML concept can become not only too restrictive but also a source of subtle problems. This paper presents some improvements to the current UML naming and grouping schemata, using the ideas proposed in the reference model of Open Distributed Processing (ODP). The extensions try to maintain backwards compatibility with the existing UML concepts, while allowing more flexible grouping and naming mechanisms.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Project Management Semester Long Project - Acuityjpupo2018
Acuity is an innovative learning app designed to transform the way you engage with knowledge. Powered by AI technology, Acuity takes complex topics and distills them into concise, interactive summaries that are easy to read & understand. Whether you're exploring the depths of quantum mechanics or seeking insight into historical events, Acuity provides the key information you need without the burden of lengthy texts.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Webinar: Designing a schema for a Data WarehouseFederico Razzoli
Are you new to data warehouses (DWH)? Do you need to check whether your data warehouse follows the best practices for a good design? In both cases, this webinar is for you.
A data warehouse is a central relational database that contains all measurements about a business or an organisation. This data comes from a variety of heterogeneous data sources, which includes databases of any type that back the applications used by the company, data files exported by some applications, or APIs provided by internal or external services.
But designing a data warehouse correctly is a hard task, which requires gathering information about the business processes that need to be analysed in the first place. These processes must be translated into so-called star schemas, which means, denormalised databases where each table represents a dimension or facts.
We will discuss these topics:
- How to gather information about a business;
- Understanding dictionaries and how to identify business entities;
- Dimensions and facts;
- Setting a table granularity;
- Types of facts;
- Types of dimensions;
- Snowflakes and how to avoid them;
- Expanding existing dimensions and facts.
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
WeTestAthens: Postman's AI & Automation Techniques
Accountable objects: Modeling Liability in Open Distributed Systems
1. Accountable objects:
Modeling Liability in Open
Distributed Systems
Antonio Vallecillo
Universidad de Málaga
Vienna, January 28, 2013
[Joint work with Peter F. Linington
and Hiroshi Miyazaki at ISO/IEC]
2. The Supply of Olive Oil
We use a very simple e-commerce example to explore
these ideas:
A business (The Modern Oil
Store) acts as a supply channel
from producers to customers
It uses external contractors to
perform deliveries
The buyer pays on receipt of the
oil
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 2
3. Main Characters (Roles)
Customer Supplier
Producer Carrier
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 3
4. The Supply of Olive Oil
Imagine that at one given moment in time, the supply
process does not work as specified by the contract,
e.g., the olive is not delivered
to the customer
Maybe the supplier forgot to
instruct the producer;
Maybe the producer did not
produce the goods;
Maybe the carrier could not
pickup from the producer;
…
Who is accountable for what?
Who is to be sued in case of losses?
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 4
5. Use of Deontic Logic in system specs
Allows us to deal with norms and expectations:
Obligations to perform specified behaviour
Permissions to perform such behaviour
Prohibitions of certain behaviours
We shift to a style of specification where the focus is
not only on the concrete steps and processes, but on
a set of obligations that must be discharged;
who is responsible for discharging them;
who is allowed to do that, and when;
Delegation of obligations and permissions is possible
Liability can be traced in case of problems, and parties
become accountable for their [in]actions
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 5
6. Background
Activity within the ODP family of
standards
Work is centred within ISO as an
extension to the ODP Enterprise
Language and UML4ODP
standards
Improve support for deontic
concepts
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 6
7. Timeline
Based on ideas published in 2003 (Linington & Neal)
Project to incorporate into the ODP standards first
mooted in 2007
Initial study phase to scope and set direction
Full project approval 2011
1st full draft for revised Enterprise Language balloted
June 2012
ISO Standards take upward compatibility very seriously
Changes must be made in such a way that other
standards in the family are not invalidated
Revisions of particular standards may motivate alignment
changes in dependent or supporting standards
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 7
8. ODP Framework
The Reference Model of ODP (ITU-T Rec X.901-904 |
ISO/IEC 10746) defines a framework for system
specification, covering all aspects of ODS:
“enterprise”, data, functionality, distribution, technology
It comprises
A structure for system specifications in terms of a set of
viewpoints
A set of object-oriented foundation modeling concepts
common to all viewpoint languages
A viewpoint language (concepts and rules) for
expressing each viewpoint specification
A set of correspondences between the viewpoints
A set of common functions
A set of transparencies
A set of conformance points
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 8
9. ODP Viewpoints
Different abstractions of the same system
each abstraction focuses on different concerns
each abstraction is achieved using a
set of viewpoint concepts and rules
(the viewpoint language)
A viewpoint specification is
the specification of a system from a specific viewpoint
expressed in terms of the viewpoint language to
describe the concerns and decisions covered by the
viewpoint specification
related to, and consistent with, other viewpoint
specifications (correspondences)
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 9
10. An ODP system specification
- business aspects Enterprise
- What for? Why? Who? When?
- information
- changes to information Information
- constraints
- object configuration
- Interactions between Computational
objects at interfaces
- mechanisms and services
for distribution trans-
parencies and QoS constraints. Engineering
- hardware and software components Technology
implementing the system
- and correspondences between specifications
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 10
11. The “Enterprise” Viewpoint
The enterprise viewpoint focuses on the specification of
the business constraints and the environment
within which an ODP system is to operate
It describes the business entities and the processes
to be considered.
It provides a place to express general organizational
policies that constraint the other viewpoints and
stakeholders
One “enterprise”…
…may be a single organization
…may be describing an ad hoc grouping
…may be a loose social group
…may be a legal jurisdiction
…may be a federation
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 11
12. The enterprise language
Specifies the roles played by the system in its
organizational environment
An object model of, for example, part of some
social/commercial organization in terms of:
Communities (of enterprise objects) with objectives
Enterprise objects
Behaviour
Roles (fulfilled by enterprise objects in a community)
Processes (leading to objectives)
Policies
Accountability
The IT system is just another object
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 12
13. Communities
Configuration of objects with a stated purpose
Objects participate by filling typed roles
Community behaviour is expressed as recursive
composition of interactions between roles
Constraints on role filling can be used to express e.g.
dynamic separation of duties
Community type seen as the community “contract”
Examples
The Olive Oil community
A University
A Library
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 13
14. Roles
Roles provide an essential way of expressing the way in
which fragments of specification are composed to form
a whole
Particularly as an aid to the reuse of a fragment in a number of
situations within the specification
Underlying metaphor is the filling of roles defined in a script to
describe a performance…
…or filling formal parameters with actual terms in a language –
e.g. in a procedure
Active roles (actors), passive roles (artefacts)
Examples
Customer, Supplier, Carrier, Goods,…
Teacher, Student, Classroom, …
Librarian, Library member, Book…
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 14
15. Interactions
• Interactions involve a number of participants
• Model as the filling of action-roles by objects
• Express action types using action roles as their formal
parameters
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 15
16. How to deal with Obligations,
Permissions and Prohibitions?
17. Dynamics of Obligations
• The main idea is that systems evolve by interactions
resulting in the creation, transfer or destruction of
obligations
• Reify obligations as deontic tokens, which are first-class
objects held by actors in the system
• Tokens can be used in expressing
Obligations (Burdens)
Permissions (Permits)
Prohibitions (Embargos)
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 17
18. The Enterprise specification
The e-commerce system will be specified by one single
community
Its goal is to “act as supply channel from producers
customers”
Its objects model the community entities: people (“Joe
Smith”, “Lucy Brown”), companies (“LaEspañola”), items
(olive oil bottle#123), purchase order#999, etc.
Its basic roles are:
Customer, who wants the oil and will pay for it
Supplier, the Modern Oil Company
Producer, one of a group of participating farmers
Carrier, who take the oil from supplier to customer
Its processes include Purchase, Return defective lot, etc.
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 18
19. Enterprise specification (ct’d)
Assignment policies (e.g., the requirements of a person or
a company to become a customer)
Policies:
Permissions: what can be done, e.g. the customer can buy
from the supplier
Prohibition: what must not be done, e.g. individual customers
must not buy directly from the producer
Obligations: what must be done, e.g. the supplier must
deliver the goods to the customer; the customer must pay 30
days after delivery of goods.
Authorizations: regular customers are entitled to have
discounts and to pay up to 60 days after delivery
Delegations: suppliers can use external carrier companies to
deliver the goods to the customers
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 19
20. The Basic “Purchase” Process
Community Roles in an
individual purchase
transaction:
Customer, who wants
the oil and will pay for it
Supplier, the Modern Oil
Company
Producer, one of a group
of participating farmers
Carrier, who take the oil
from supplier to
customer
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 20
21. Tokens Involved
At each stage in a transaction tokens may be:
Needed from some roles as input
Created by an interaction
Passed to roles in the interaction
Discharged or cancelled
Maintained
These changes can capture the details we want to
specify in a concise way
Authorization to proceed
Delegations of responsibility
Discharge of obligations
Release of duties
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 21
22. The “Order” Interaction
Permit supplied by customer, burdens created
Place
order
pay on supply
delivery oil
order()
customer supplier customer supplier
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 22
23. The “InstructProducer” Interaction
Subcontracting moves tokens, creates others
pay
producer produce
oil goods
supply oil
supply oil produce
oil goods
monitor produce
delivery oil
instruct()
supplier producer supplier producer
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 23
25. The “Report” Interaction
Finalizes both subcontracts; some permits remain
Deliver oil
supply
charge Deliver oil
oil deliver oil customer
report()
supplier carrier supplier carrier
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 25
26. The “Charge” Interaction
[Note: The charge interaction is seen here as binary; there is probably
a hidden involvement of a bank]
pay on charge transaction
delivery customer complete!
charge()
customer supplier customer supplier
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 26
27. Patterns of Token Use
Unique tokens for individual actions/artefacts vs.
Universal tokens for types of actions/artefacts
Permit to deliver one box of olive oil
Permit to carry goods (in general)
Implicit tokens vs. Explicit tokens
Permits by default and explicit prohibitions vs.
Explicit permits and prohibitions by default
Economy of the language/”By default” policy
Full delegation vs. No delegation vs. Monitoring
We can model different strategies depending on the system we
want to represent/specify
Delegation may require permissions, too
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 27
28. Simple Tokens
Consider one active object and the tokens it carries:
object
burden
permit
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 28
29. More Complex Situations
There may be many tactics:
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 29
30. Community Burdens
• Need to have a community has burden
compact way of
showing how tokens community
pass to objects
filling community community assigns
roles burden to role
• Need to show role
recovery from
exceptions
object fills role,
inherits burden
object’s enterprise object
other burdens
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 30
31. Inheritance of Tokens
One of the open issues is whether it is more powerful to
talk of assigning tokens to roles rather than objects
Token automatically reverts to community, associated
with empty role, if role-filling object fails
But is this too abrupt?
Is it too complex?
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 31
32. Notations and tools
How to express these concepts and mechanisms in the
specification of systems?
The real issue is what the tools available in practice will
support!
Different options still being studied to see what
practitioners find acceptable
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 32
33. UML Mapping
ISO 19793 – UML4ODP provides a concrete
representation for ODP models
Each viewpoint language has a profile defined in terms
of a set of UML stereotypes
We extend this to add the new concepts, e.g.
Deontic Tokens
Active Objects
Conditional Actions
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 33
34. Changing The Enterprise Language Metamodel
Placing the specification in context.
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 34
38. Token Lifecycle
Most behaviour is enterprise-specific
Provide minimal lifecycle behaviour as root
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 38
39. The Olive Oil Community
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 39
45. Issues of Style
Flexible and Expressive approach
Still many open ways to model liability in UML4ODP
No approach fits all purposes
Different ways to model obligations, depending on the
particular system
Delegations and monitoring of responsibilities depends on the
kinds of analysis to be conducted
Usability and Readability of diagrams and specifications
essential for proper specification and maintainability
UML tool support for analysis and simulation still insufficient
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 45
46. A BPMN Mapping?
UML is not the only show in town
Interest in mapping the same conceptual structure onto
other languages and notations
Primary candidate for a second mapping is BPMN
Progression depends on the level of support and
contribution
Likely to need a new project in ISO
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 46
47. Rule-based DSLs
DSLs can provide more effective solutions
Such as eMotions…
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 47
48. Simulations
[Spanshot after 50 simulation steps]
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 48
49. The Importance of Tools
There is a symbiotic relationship between users,
standardizers and tool vendors
Often the tool vendors lag behind current modelling ideas
But without tools, ideas cannot be used in practice
Validation of additional semantic constraints can be added via
plug-ins, but this is a single tool solution
Tool support for Behavioural Specifications still in its infancy
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 49
51. What is an Obligation?
So far, we have assumed it is obvious what a deontic
constraint, such as an obligation means
Need to establish a formal semantic basis
Other views, e.g. Computational, have used
correspondences to a labelled transition system
This focuses on correctness of a move to the direct
successor state
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 51
52. Providing a Broader View
Deontic concepts need to be defined in terms of
properties of possible successor traces
Need to evaluate across properties of sequence of
successor worlds (trace)
One approach is to base interpretation on
correspondences to a set of Kripke frames
But can this be normative? Currently included as an
informative discussion
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 52
53. Next Steps
ISO 15414 – The Enterprise Language
CD Ballot complete, comments resolved at November
meeting
FCD in preparation
No obvious show-stoppers
19793 – UML4ODP
Start November 2012, offset by 12 months from 15414
Preliminary planning and directions document produced
WD in preparation
Currently internal ISO drafts
Contact peter@linington.eu or av@lcc.uma.es for copies
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 53
54. References
P. F. Linington, H. Miyazaki and A. Vallecillo. “Obligations and
Delegation in the ODP Enterprise Language.” In Proc. of VORTE
2012 (EDOC Workshops), IEEE Computer Society, Sept 2012, pp.
146-155. http://www.lcc.uma.es/~av/Publicaciones/12/edoc-
tokens.pdf
P. F. Linington and S. Neal, “Using policies in the checking of
business to business contracts.” In Proc. of the 4th IEEE Int. Work.
on Policies for Distributed Systems and Networks (POLICY’03). Lake
Como, Italy: IEEE Computer Society, Jun. 2003, pp. 207–218.
http://www.cs.kent.ac.uk/pubs/2003/1636/content.pdf
P. F. Linington, Z. Milosevic, A. Tanaka and A. Vallecillo “Building
Enterprise Systems with ODP — An Introduction to Open Distributed
Processing.” Chapman & Hall/CRC Press, 2012.
http://theodpbook.lcc.uma.es/
A.Vallecillo: "Accountable Objects: Modeling Liability in Open Distributed Systems" Vienna, 2013 54
55. Accountable objects:
Modeling Liability in Open
Distributed Systems
Antonio Vallecillo
Universidad de Málaga
Vienna, January 28, 2013
[Joint work with Peter F. Linington
and Hiroshi Miyazaki at ISO/IEC]