2 research outputs found

    Bigraphical Domain-specific Language (BDSL): User Manual

    Get PDF
    This report describes Bigraphical DSL (BDSL), a domain-specific language for reactive systems, rooted in the mathematical spirit of the bigraph theory devised by Robin Milner. BDSL is not only a platform-agnostic programming language but also a development framework for reactive applications, written in the Java programming language, with a focus on stability and interoperability. The report serves as a user manual mainly elaborating on how to write and execute BDSL programs, further covering several features such as how to incorporate program verification. Moreover, the manual procures some best practices on design patterns in form of code listings. The BDSL development framework comes with a ready-to-use interpreter and may be a helpful research tool to experiment with the underlying bigraph theory. The framework is further intended for building reactive applications and systems based on the theory of bigraphical reactive systems.:1 Introduction 1.1 Bigraphical Reactive Systems and Programming . . . . . 1.2 Installation 1.3 How to write and run BDSL programs? 1.4 Further Help 1.5 Remarks 2 General Usage of the BDSL Interpreter Tool 2.1 The CLI Interpreter of BDSL 2.2 Supplying a BDSL Program to the Interpreter 2.3 Externalized Configuration 3 BDSL Program Structure 3.1 Elements of a BDSL program 3.2 Main Block 3.3 Scoping, Namespaces and Imports 3.4 Classes and Variables 3.5 Event Listeners/Callbacks 4 Predefined Methods in BDSL 4.1 Printing to the Console 4.2 Loading Bigraphs 4.3 Synthesizing Random Bigraphs 4.4 Exporting Bigraph Variables 4.5 Executing BRSs 5 Examples 5.1 Basic Mathematical Calculations the Bigraphical Way 5.2 Importing External Libraries 5.3 Pathfinding: Naive Blind Search 5.4 Mutual Exclusion Problem 6 Advanced Topics 6.1 User-defined Functions 6.2 Using the Interpreter Programmatically 6.3 IDE Support 7 Conclusion 7.1 Future Work References Appendix A Configuration File for the BDSL Interpreter B BDSL Sample Programs C Using the BDSL Interpreter Programmaticall

    An EMOF-Compliant Abstract Syntax for Bigraphs

    No full text
    Bigraphs are an emerging modeling formalism for structures in ubiquitous computing. Besides an algebraic notation, which can be adopted to provide an algebraic syntax for bigraphs, the bigraphical theory introduces a visual concrete syntax which is intuitive and unambiguous at the same time; the standard visual notation can be customized and thus tailored to domain-specific requirements. However, in contrast to modeling standards based on the Meta-Object Facility (MOF) and domain-specific languages typically used in model-driven engineering (MDE), the bigraphical theory lacks a precise definition of an abstract syntax for bigraphical modeling languages. As a consequence, available modeling and analysis tools use proprietary formats for representing bigraphs internally and persistently, which hampers the exchange of models across tool boundaries. Moreover, tools can be hardly integrated with standard MDE technologies in order to build sophisticated tool chains and modeling environments, as required for systematic engineering of large systems or fostering experimental work to evaluate the bigraphical theory in real-world applications. To overcome this situation, we propose an abstract syntax for bigraphs which is compliant to the Essential MOF (EMOF) standard defined by the Object Management Group (OMG). We use typed graphs as a formal underpinning of EMOF-based models and present a canonical mapping which maps bigraphs to typed graphs in a natural way. We also discuss application-specific variation points in the graph-based representation of bigraphs. Following standard techniques from software product line engineering, we present a framework to customize the graph-based representation to support a variety of application scenarios
    corecore