23 research outputs found

    NiMo syntax: part 1

    Get PDF
    Many formalisms for the specification for concurrent and distributed systems have emerged. In particular considering boxes and strings approaches. Examples are action calculi, rewriting logic and graph rewriting, bigraphs. The boxes and string metaphor is addressed with different levels of granularity. One of the approaches is to consider a process network as an hypergraph. Based in this general framework, we encode NiMo nets as a class of Annotated hypergraphs. This class is defined by giving the alphabet and the operations used to construct such programs. Therefore we treat only editing operations on labelled hypergraphs and afterwards how this editing operation affects the graph. Graph transformation (execution rules) is not covered here.Postprint (published version

    Knowledge Components and Methods for Policy Propagation in Data Flows

    Get PDF
    Data-oriented systems and applications are at the centre of current developments of the World Wide Web (WWW). On the Web of Data (WoD), information sources can be accessed and processed for many purposes. Users need to be aware of any licences or terms of use, which are associated with the data sources they want to use. Conversely, publishers need support in assigning the appropriate policies alongside the data they distribute. In this work, we tackle the problem of policy propagation in data flows - an expression that refers to the way data is consumed, manipulated and produced within processes. We pose the question of what kind of components are required, and how they can be acquired, managed, and deployed, to support users on deciding what policies propagate to the output of a data-intensive system from the ones associated with its input. We observe three scenarios: applications of the Semantic Web, workflow reuse in Open Science, and the exploitation of urban data in City Data Hubs. Starting from the analysis of Semantic Web applications, we propose a data-centric approach to semantically describe processes as data flows: the Datanode ontology, which comprises a hierarchy of the possible relations between data objects. By means of Policy Propagation Rules, it is possible to link data flow steps and policies derivable from semantic descriptions of data licences. We show how these components can be designed, how they can be effectively managed, and how to reason efficiently with them. In a second phase, the developed components are verified using a Smart City Data Hub as a case study, where we developed an end-to-end solution for policy propagation. Finally, we evaluate our approach and report on a user study aimed at assessing both the quality and the value of the proposed solution

    Architectural Data Flow Analysis for Detecting Violations of Confidentiality Requirements

    Get PDF
    Diese Arbeit prĂ€sentiert einen Ansatz zur systematischen BerĂŒcksichtigung von Vertraulichkeitsanforderungen in Softwarearchitekturen mittels Abbildung und Analyse von DatenflĂŒssen. Die StĂ€rkung von Datenschutzregularien, wie bspw. durch die europĂ€ische Datenschutzgrundverordnung (DSGVO), und die Reaktionen der Bevölkerung auf Datenskandale, wie bspw. den Skandal um Cambridge Analytica, haben gezeigt, dass die Wahrung von Vertraulichkeit fĂŒr Organisationen von essentieller Bedeutung ist. Um Vertraulichkeit zu wahren, muss diese wĂ€hrend des gesamten Softwareentwicklungsprozesses berĂŒcksichtigt werden. FrĂŒhe Entwicklungsphasen benötigen hier insbesondere große Beachtung, weil ein betrĂ€chtlicher Anteil an spĂ€teren Problemen auf Fehler in diesen frĂŒhen Entwicklungsphasen zurĂŒckzufĂŒhren ist. Hinzu kommt, dass der Aufwand zum Beseitigen von Fehlern aus der Softwarearchitektur in spĂ€teren Entwicklungsphasen ĂŒberproportional steigt. Um Verletzungen von Vertraulichkeitsanforderungen zu erkennen, werden in frĂŒheren Entwicklungsphasen hĂ€ufig datenorientierte Dokumentationen der Softwaresysteme verwendet. Dies kommt daher, dass die Untersuchung einer solchen Verletzung hĂ€ufig erfordert, DatenflĂŒssen zu folgen. Datenflussdiagramme (DFDs) werden gerne genutzt, um Sicherheit im Allgemeinen und Vertraulichkeit im Speziellen zu untersuchen. Allerdings sind reine DFDs noch nicht ausreichend, um darauf aufbauende Analysen zu formalisieren und zu automatisieren. Stattdessen mĂŒssen DFDs oder auch andere Architekturbeschreibungssprachen (ADLs) erweitert werden, um die zur Untersuchung von Vertraulichkeit notwendigen Informationen reprĂ€sentieren zu können. Solche Erweiterungen unterstĂŒtzen hĂ€ufig nur Vertraulichkeitsanforderungen fĂŒr genau einen Vertraulichkeitsmechanismus wie etwa Zugriffskontrolle. Eine Kombination von Mechanismen unterstĂŒtzen solche auf einen einzigen Zweck fokussierten Erweiterungen nicht, was deren AusdrucksmĂ€chtigkeit einschrĂ€nkt. Möchte ein Softwarearchitekt oder eine Softwarearchitektin den eingesetzten Vertraulichkeitsmechanismus wechseln, muss er oder sie auch die ADL wechseln, was mit hohem Aufwand fĂŒr das erneute Modellieren der Softwarearchitektur einhergeht. DarĂŒber hinaus bieten viele AnalyseansĂ€tze keine Integration in bestehende ADLs und Entwicklungsprozesse. Ein systematischer Einsatz eines solchen Ansatzes wird dadurch deutlich erschwert. Existierende, datenorientierte AnsĂ€tze bauen entweder stark auf manuelle AktivitĂ€ten und hohe Expertise oder unterstĂŒtzen nicht die gleichzeitige ReprĂ€sentation von Zugriffs- und Informationsflusskontrolle, sowie VerschlĂŒsselung im selben Artefakt zur Architekturspezifikation. Weil die genannten Vertraulichkeitsmechanismen am verbreitetsten sind, ist es wahrscheinlich, dass Softwarearchitekten und Softwarearchitektinnen an der Nutzung all dieser Mechanismen interessiert sind. Die erwĂ€hnten, manuellen TĂ€tigkeiten umfassen u.a. die Identifikation von Verletzungen mittels Inspektionen und das Nachverfolgen von Daten durch das System. Beide TĂ€tigkeiten benötigen ein betrĂ€chtliches Maß an Erfahrung im Bereich Vertraulichkeit. Wir adressieren in dieser Arbeit die zuvor genannten Probleme mittels vier BeitrĂ€gen: Zuerst prĂ€sentieren wir eine Erweiterung der DFD-Syntax, durch die die zur Untersuchung von Zugriffs- und Informationsflusskontrolle, sowie VerschlĂŒsselung notwendigen Informationen mittels Eigenschaften und Verhaltensbeschreibungen innerhalb des selben Artefakts zur Architekturspezifikation ausgedrĂŒckt werden können. Zweitens stellen wir eine Semantik dieser erweiterten DFD-Syntax vor, die das Verhalten von DFDs ĂŒber die Ausbreitung von Attributen (engl.: label propagation) formalisiert und damit eine automatisierte RĂŒckverfolgung von Daten ermöglicht. Drittens prĂ€sentieren wir Analysedefinitionen, die basierend auf der DFD-Syntax und -Semantik Verletzungen von Vertraulichkeitsanforderungen identifizieren kann. Die unterstĂŒtzten Vertraulichkeitsanforderungen decken die wichtigsten Varianten von Zugriffs- und Informationsflusskontrolle, sowie VerschlĂŒsselung ab. Viertens stellen wir einen Leitfaden zur Integration des Rahmenwerks fĂŒr datenorientierte Analysen in bestehende ADLs und deren zugehörige Entwicklungsprozesse vor. Das Rahmenwerk besteht aus den vorherigen drei BeitrĂ€gen. Die Validierung der AusdrucksmĂ€chtigkeit, der ErgebnisqualitĂ€t und des Modellierungsaufwands unserer BeitrĂ€ge erfolgt fallstudienbasiert auf siebzehn Fallstudiensystemen. Die Fallstudiensysteme stammen grĂ¶ĂŸtenteils aus verwandten Arbeiten und decken fĂŒnf Arten von Zugriffskontrollanforderungen, vier Arten von Informationsflussanforderungen, zwei Arten von VerschlĂŒsselung und Anforderungen einer Kombination beider Vertraulichkeitsmechanismen ab. Wir haben die AusdrucksmĂ€chtigkeit der DFD-Syntax, sowie der mittels des Integrationsleitfadens erstellten ADLs validiert und konnten alle außer ein Fallstudiensystem reprĂ€sentieren. Wir konnten außerdem die Vertraulichkeitsanforderungen von sechzehn Fallstudiensystemen mittels unserer Analysedefinitionen reprĂ€sentieren. Die DFD-basierten, sowie die ADL-basierten Analysen lieferten die erwarteten Ergebnisse, was eine hohe ErgebnisqualitĂ€t bedeutet. Den Modellierungsaufwand in den erweiterten ADLs validierten wir sowohl fĂŒr das HinzufĂŒgen, als auch das Wechseln eines Vertraulichkeitsmechanismus bei einer bestehenden Softwarearchitektur. In beiden Validierungen konnten wir zeigen, dass die ADL-Integrationen Modellierungsaufwand einsparen, indem betrĂ€chtliche Teile bestehender Softwarearchitekturen wiederverwendet werden können. Von unseren BeitrĂ€gen profitieren Softwarearchitekten durch gesteigerte FlexibilitĂ€t bei der Auswahl von Vertraulichkeitsmechanismen, sowie beim Wechsel zwischen diesen Mechanismen. Die frĂŒhe Identifikation von Vertraulichkeitsverletzungen verringert darĂŒber hinaus den Aufwand zum Beheben der zugrundeliegenden Probleme

    Practical Use of High-level Petri Nets

    Full text link

    Acta Cybernetica : Volume 17. Number 4.

    Get PDF

    Assisted Reuse of Pattern-Based Composition Knowledge for Mashup Development

    Get PDF
    First generation of the World Wide Web (WWW) enabled users to have instantaneous access to a large diversity of knowledge. Second generation of the WWW (Web 2.0) brought a fundamental change in the way people interact with and through the World Wide Web. Web 2.0 has made the World Wide Web a platform not only for communication and sharing information but also for software development (e.g., web service composition). Web mashup or mashup development is a Web2.0 development approach in which users are expected to create applications by combining multiple data sources, application logic and UI components from the web to cater for their situational application needs. However, in reality creating an even simple mashup application is a complex task that can only be managed by skilled developers. Examples of ready mashup models are one of the main sources of help for users who don't know how to design a mashup, provided that suitable examples can be found (examples that have an analogy with the modeling situation faced by the user). But also tutorials, expert colleagues or friends, and, of course, Google are typical means to find help. However, searching for help does not always lead to a success, and retrieved information is only seldom immediately usable as it is, since the retrieved pieces of information are not contextual, i.e., immediately applicable to the given modeling problem. Motivated by the development challenges faced by a naive user of existing mashup tools, in this thesis we propose toaid such users by enabling assisted reuse of pattern-based composition knowledge. In this thesis we show how it is possible to effectively assist these users in their development task with contextual, interactive recommendations of composition knowledge in the form of mashup model patterns. We study a set of recommendation algorithms with different levels of performance and describe a flexible pattern weaving approach for the one-click reuse of patterns. We prove the generality of our algorithms and approach by implementing two prototype tools for two different mashup platforms. Finally, we validate the usefulness of our assisted development approach by performing thorough empirical tests and two user studies with our prototype tools
    corecore