Pub Date : 2018-07-18DOI: 10.14279/TUJ.ECEASST.76.1080
N. Jomaa, P. Torrini, David Nowak, G. Grimaud, Samuel Hym
The development of provably secure OS kernels represents a fundamental step in the creation of safe and secure systems. To this aim, we propose the notion of protokernel and an implementation --- the Pip protokernel --- as a separation kernel whose trusted computing base is reduced to its bare bones, essentially providing separation of tasks in memory, on top of which non-influence can be proved. This proof-oriented design allows us to formally prove separation properties on a concrete executable model very close to its automatically extracted C implementation. Our design is shown to be realistic as it can execute isolated instances of a real-time embedded system that has moreover been modified to isolate its own processes through the Pip services.
{"title":"Proof-Oriented Design of a Separation Kernel with Minimal Trusted Computing Base","authors":"N. Jomaa, P. Torrini, David Nowak, G. Grimaud, Samuel Hym","doi":"10.14279/TUJ.ECEASST.76.1080","DOIUrl":"https://doi.org/10.14279/TUJ.ECEASST.76.1080","url":null,"abstract":"The development of provably secure OS kernels represents a fundamental \u0000step in the creation of safe and secure systems. To this aim, we propose the \u0000notion of protokernel and an implementation --- the Pip protokernel --- as a \u0000separation kernel whose trusted computing base is reduced to its bare bones, \u0000essentially providing separation of tasks in memory, on top of which \u0000non-influence can be proved. This proof-oriented design allows us to \u0000formally prove separation properties on a concrete executable model very \u0000close to its automatically extracted C implementation. Our design is shown \u0000to be realistic as it can execute isolated instances of a real-time embedded \u0000system that has moreover been modified to isolate its own processes through \u0000the Pip services.","PeriodicalId":115235,"journal":{"name":"Electron. Commun. Eur. Assoc. Softw. Sci. Technol.","volume":"461 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125809290","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2018-07-15DOI: 10.14279/TUJ.ECEASST.76.1103.1047
E. Madelaine, Xudong Qin, Min Zhang, S. Bliudze
Open pNets are used to model the behaviour of open systems, both synchronous or asynchronous, expressed in various calculi or languages. They are endowed with a symbolic operational semantics in terms of so-called “Open Automata”. This allows us to check properties of such systems in a compositional manner. We implement an algorithm computing these semantics, building predicates expressing the synchronization conditions between the events of the pNet sub-systems. Checking such predicates requires symbolic reasoning over first order logics, but also over application-specific data. We use the Z3 SMT engine to check satisfiability of the predicates, and prune the open automaton of its unsatisfiable transitions. As an industrial oriented use-case, we use so-called "architectures" for BIP systems, that have been used in the framework of an ESA project and to specify the control software of a nanosatellite at the EPFL Space Engineering Center. We use pNets to encode a BIP architecture extended with explicit data, and compute its open automaton semantics. This automaton may be used to prove behavioural properties; we give 2 examples, a safety and a liveness property.
{"title":"Using SMT Engine to Generate Symbolic Automata","authors":"E. Madelaine, Xudong Qin, Min Zhang, S. Bliudze","doi":"10.14279/TUJ.ECEASST.76.1103.1047","DOIUrl":"https://doi.org/10.14279/TUJ.ECEASST.76.1103.1047","url":null,"abstract":"Open pNets are used to model the behaviour of open systems, both synchronous or asynchronous, expressed in various calculi or languages. They are endowed with a symbolic operational semantics in terms of so-called “Open Automata”. This allows us to check properties of such systems in a compositional manner. We implement an algorithm computing these semantics, building predicates expressing the synchronization conditions between the events of the pNet sub-systems. Checking such predicates requires symbolic reasoning over first order logics, but also over application-specific data. We use the Z3 SMT engine to check satisfiability of the predicates, and prune the open automaton of its unsatisfiable transitions. As an industrial oriented use-case, we use so-called \"architectures\" for BIP systems, that have been used in the framework of an ESA project and to specify the control software of a nanosatellite at the EPFL Space Engineering Center. We use pNets to encode a BIP architecture extended with explicit data, and compute its open automaton semantics. This automaton may be used to prove behavioural properties; we give 2 examples, a safety and a liveness property.","PeriodicalId":115235,"journal":{"name":"Electron. Commun. Eur. Assoc. Softw. Sci. Technol.","volume":"243 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115262606","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2018-06-05DOI: 10.14279/tuj.eceasst.74.1056
F. Gossen, T. Margaria
We sketch miAamics, an approach and a tool to rapidly evaluate large systems of rules. These large systems of rules can be used to express performance critical decision functions and allow for the miAamics approach to optimize the function and to generate its implementation fully automatically. In this way, we allow experts to define functions without having to be familiar with general purpose programming languages and also allow to optimize existing decision functions that can be expressed in form of these rules. The proposed approach first transforms the system of rules to Algebraic Decision Diagrams. From this data structure, we generate code in a variety of commonly used target programming languages. We present preliminary results from experiments with randomly generated rules and show that the proposed representation is significantly faster to evaluate and is also smaller in size than the original representation. We give an outlook on possible applications for the miAamics approach to real world tasks focusing on the field of machine learning. In particular, we aim to reduce ensembles of classifiers and to allow for a much faster evaluation of these classification methods.
{"title":"Generating Real-time Decision Systems with the new miAamics","authors":"F. Gossen, T. Margaria","doi":"10.14279/tuj.eceasst.74.1056","DOIUrl":"https://doi.org/10.14279/tuj.eceasst.74.1056","url":null,"abstract":"We sketch miAamics, an approach and a tool to rapidly evaluate large systems of rules. These large systems of rules can be used to express performance critical decision functions and allow for the miAamics approach to optimize the function and to generate its implementation fully automatically. In this way, we allow experts to define functions without having to be familiar with general purpose programming languages and also allow to optimize existing decision functions that can be expressed in form of these rules. The proposed approach first transforms the system of rules to Algebraic Decision Diagrams. From this data structure, we generate code in a variety of commonly used target programming languages. We present preliminary results from experiments with randomly generated rules and show that the proposed representation is significantly faster to evaluate and is also smaller in size than the original representation. We give an outlook on possible applications for the miAamics approach to real world tasks focusing on the field of machine learning. In particular, we aim to reduce ensembles of classifiers and to allow for a much faster evaluation of these classification methods.","PeriodicalId":115235,"journal":{"name":"Electron. Commun. Eur. Assoc. Softw. Sci. Technol.","volume":"331 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115389369","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2018-06-05DOI: 10.14279/tuj.eceasst.74.1044
Steven Smyth, S. Lenga, R. V. Hanxleden
With increasing volumes of developed software and steadily growing complexity of these systems, software engineers struggle to manually maintain the vast amount of legacy code. Therefore, it is of interest to create a system which supports the documentation, maintenance, and reusability of software and its legacy code. The approach presented here automatically derives SCCharts models out of C code. These models can be used as visual documentation. By applying focus and context methods important parts of the model can be highlighted and may grant a better understanding of the overall software. Additionally, the models can also be used as a source to create new state-of-the-art code for various languages and platforms, such as C code or VHDL, using automatic code generators.
{"title":"Model Extraction of Legacy C Code in SCCharts","authors":"Steven Smyth, S. Lenga, R. V. Hanxleden","doi":"10.14279/tuj.eceasst.74.1044","DOIUrl":"https://doi.org/10.14279/tuj.eceasst.74.1044","url":null,"abstract":"With increasing volumes of developed software and steadily growing complexity of these systems, software engineers struggle to manually maintain the vast amount of legacy code. Therefore, it is of interest to create a system which supports the documentation, maintenance, and reusability of software and its legacy code. The approach presented here automatically derives SCCharts models out of C code. These models can be used as visual documentation. By applying focus and context methods important parts of the model can be highlighted and may grant a better understanding of the overall software. Additionally, the models can also be used as a source to create new state-of-the-art code for various languages and platforms, such as C code or VHDL, using automatic code generators.","PeriodicalId":115235,"journal":{"name":"Electron. Commun. Eur. Assoc. Softw. Sci. Technol.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134042073","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2018-06-05DOI: 10.14279/tuj.eceasst.74.1047
Dominic Wirkner, S. Boßelmann
Modern software development peaks in complex product lines and utilizes features of programming languages to their extend. On the other hand, model driven development shines by abstraction from implementation details to ease communication between programmers and domain experts. With the CINCO meta tooling suite there is now a framework to factor out programming knowledge completely in that it allows creating domain specific graphical modeling environments. Bundled with capabilities of full code generation domain experts can create software with minimum effort. In this paper an extension to the language family of CINCO is introduced which acts as one part of a foundation for developing software product lines. It highly stretches reuse of model specifications to overcome reoccurring problems in the context of inter-model references.
{"title":"Towards Reuse on the Meta-Level","authors":"Dominic Wirkner, S. Boßelmann","doi":"10.14279/tuj.eceasst.74.1047","DOIUrl":"https://doi.org/10.14279/tuj.eceasst.74.1047","url":null,"abstract":"Modern software development peaks in complex product lines and utilizes features of programming languages to their extend. On the other hand, model driven development shines by abstraction from implementation details to ease communication between programmers and domain experts. With the CINCO meta tooling suite there is now a framework to factor out programming knowledge completely in that it allows creating domain specific graphical modeling environments. Bundled with capabilities of full code generation domain experts can create software with minimum effort. In this paper an extension to the language family of CINCO is introduced which acts as one part of a foundation for developing software product lines. It highly stretches reuse of model specifications to overcome reoccurring problems in the context of inter-model references.","PeriodicalId":115235,"journal":{"name":"Electron. Commun. Eur. Assoc. Softw. Sci. Technol.","volume":"492 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128650311","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2016-04-18DOI: 10.14279/tuj.eceasst.73.1031
Anthony Anjorin, Erhan Leblebici, Andy Schürr
Triple graph grammars (TGGs) provide a declarative, rule-based means of specifying binary consistency relationships between different types of graphs. Over the last 20 years, TGGs have been applied successfully in a range of application scenarios including: model neration,conformance testing, bidirectional model transformation, and incremental model synchronisation. In this paper, we review the progress made in TGG research up until now by exploring multiple research dimensions, including both the current frontiers of TGG research as well as important future challenges. Our aim is to provide a roadmap for the coming years of TGG research by stating clearly what we regard as adequately researched, and what we view as still unexplored potential.
{"title":"20 Years of Triple Graph Grammars: A Roadmap for Future Research","authors":"Anthony Anjorin, Erhan Leblebici, Andy Schürr","doi":"10.14279/tuj.eceasst.73.1031","DOIUrl":"https://doi.org/10.14279/tuj.eceasst.73.1031","url":null,"abstract":"Triple graph grammars (TGGs) provide a declarative, rule-based means of specifying binary consistency relationships between different types of graphs. Over the last 20 years, TGGs have been applied successfully in a range of application scenarios including: model neration,conformance testing, bidirectional model transformation, and incremental model synchronisation. In this paper, we review the progress made in TGG research up until now by exploring multiple research dimensions, including both the current frontiers of TGG research as well as important future challenges. Our aim is to provide a roadmap for the coming years of TGG research by stating clearly what we regard as adequately researched, and what we view as still unexplored potential.","PeriodicalId":115235,"journal":{"name":"Electron. Commun. Eur. Assoc. Softw. Sci. Technol.","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114587814","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2016-04-18DOI: 10.14279/tuj.eceasst.73.1034
I. Mackie, Shinya Sato
Interaction nets are a particular kind of graph rewriting system that have many properties that make them useful for capturing sharing and parallelism. There have been a number of research efforts towards implementing interaction nets in parallel, and these have focused on the implementation technologies. In this paper we investigate a related question: when is an interaction net system suitable for parallel evaluation? We observe that some nets cannot benefit from parallelism (they are sequential) and some have the potential to be evaluated in a highly parallel way. This first investigation aims to highlight a number of issues, by presenting experimental evidence for a number of case studies. We hope this can be used to help pave the way to a wider use of this technology for parallel evaluation.
{"title":"Parallel Evaluation of Interaction Nets: Case Studies and Experiments","authors":"I. Mackie, Shinya Sato","doi":"10.14279/tuj.eceasst.73.1034","DOIUrl":"https://doi.org/10.14279/tuj.eceasst.73.1034","url":null,"abstract":"Interaction nets are a particular kind of graph rewriting system that have many properties that make them useful for capturing sharing and parallelism. There have been a number of research efforts towards implementing interaction nets in parallel, and these have focused on the implementation technologies. In this paper we investigate a related question: when is an interaction net system suitable for parallel evaluation? We observe that some nets cannot benefit from parallelism (they are sequential) and some have the potential to be evaluated in a highly parallel way. This first investigation aims to highlight a number of issues, by presenting experimental evidence for a number of case studies. We hope this can be used to help pave the way to a wider use of this technology for parallel evaluation.","PeriodicalId":115235,"journal":{"name":"Electron. Commun. Eur. Assoc. Softw. Sci. Technol.","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125412589","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2016-04-18DOI: 10.14279/tuj.eceasst.73.1037
Nils Erik Flick
We propose a new specification language for the proof-based approach to verification of graph programs by introducing mu-conditions as an alternative to existing formalisms which can express path properties. The contributions of this paper are the lifting of constructions from nested conditions to the new, more expressive conditions and a proof calculus for partial correctness relative to mu-conditions. In particular, we exhibit and prove the correctness of a construction to compute weakest preconditions with respect to finite graph programs.
{"title":"Proving correctness of graph programs relative to recursively nested conditions","authors":"Nils Erik Flick","doi":"10.14279/tuj.eceasst.73.1037","DOIUrl":"https://doi.org/10.14279/tuj.eceasst.73.1037","url":null,"abstract":"We propose a new specification language for the proof-based approach to verification of graph programs by introducing mu-conditions as an alternative to existing formalisms which can express path properties. The contributions of this paper are the lifting of constructions from nested conditions to the new, more expressive conditions and a proof calculus for partial correctness relative to mu-conditions. In particular, we exhibit and prove the correctness of a construction to compute weakest preconditions with respect to finite graph programs.","PeriodicalId":115235,"journal":{"name":"Electron. Commun. Eur. Assoc. Softw. Sci. Technol.","volume":"115 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123962162","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2016-04-18DOI: 10.14279/tuj.eceasst.73.1032
V. Zaytsev
SPPF (shared packed parse forest) is the best known graph representation of a parse forest (family of related parse trees) used in parsing with ambiguous/conjunctive grammars. Systematic general purpose transformations of SPPFs have never been investigated and are considered to be an open problem in software language engineering. In this paper, we motivate the necessity of having a transformation operator suite for SPPFs and extend the state of the art grammar transformation operator suite to metamodel/model (grammar/graph) cotransformations.
{"title":"Cotransforming Grammars with Shared Packed Parse Forests","authors":"V. Zaytsev","doi":"10.14279/tuj.eceasst.73.1032","DOIUrl":"https://doi.org/10.14279/tuj.eceasst.73.1032","url":null,"abstract":"SPPF (shared packed parse forest) is the best known graph representation of a parse forest (family of related parse trees) used in parsing with ambiguous/conjunctive grammars. Systematic general purpose transformations of SPPFs have never been investigated and are considered to be an open problem in software language engineering. In this paper, we motivate the necessity of having a transformation operator suite for SPPFs and extend the state of the art grammar transformation operator suite to metamodel/model (grammar/graph) cotransformations.","PeriodicalId":115235,"journal":{"name":"Electron. Commun. Eur. Assoc. Softw. Sci. Technol.","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121913778","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2016-04-18DOI: 10.14279/tuj.eceasst.73.1035
Christoph Peuser, A. Habel
This paper continues the work on M,N-adhesive categories and shows some important composition properties for these categories. We present a new concept of attributed graphs and show that the corresponding category is M,N-adhesive. As a consequence, we inherit all nice properties for M,N-adhesive systems such as the Local Church-Rosser Theorem, the Parallelism Theorem, and the Concurrency Theorem for this type of attributed graphs.
本文继续对M、n类胶粘剂的研究,并给出了这类胶粘剂的一些重要组成性质。我们提出了一个新的属性图的概念,并证明了相应的类别是M, n -胶粘剂。因此,我们继承了M、n粘附系统的所有好的性质,如局部Church-Rosser定理、并行性定理和这类属性图的并发性定理。
{"title":"Composition of M, N-adhesive Categories with Application to Attribution of Graphs","authors":"Christoph Peuser, A. Habel","doi":"10.14279/tuj.eceasst.73.1035","DOIUrl":"https://doi.org/10.14279/tuj.eceasst.73.1035","url":null,"abstract":"This paper continues the work on M,N-adhesive categories and shows some important composition properties for these categories. We present a new concept of attributed graphs and show that the corresponding category is M,N-adhesive. As a consequence, we inherit all nice properties for M,N-adhesive systems such as the Local Church-Rosser Theorem, the Parallelism Theorem, and the Concurrency Theorem for this type of attributed graphs.","PeriodicalId":115235,"journal":{"name":"Electron. Commun. Eur. Assoc. Softw. Sci. Technol.","volume":"260 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132078905","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}