{"title":"Analysing gCSP Models Using Runtime and Model Analysis Algorithms","authors":"M. Bezemer, Marcel A. Groothuis, J. Broenink","doi":"10.3233/978-1-60750-065-0-67","DOIUrl":null,"url":null,"abstract":"Nowadays the amount of embedded systems is getting bigger and bigger. The systems themselves also become more complex. To aid developers of embedded systems a formal language called Communicating Sequential Processes (CSP) was designed. At the Control Engineering (CE) group a graphical tool called gCSP is developed to create CSP \nmodels. This tool allows for code generation. The generated code can be compiled with the Communicating Threads (CT) library into an executable. Users of gCSP tend to create a separate process for each task. From the model point of view this is excellent, but from a software point of \nview this consumes too many resources. First of all a new gCSP file format is created, such that an algorithm is able to read model information without too much effort. Next algorithms are designed and implemented, which perform \nanalysis on models using different techniques. \nThis assignment results into two analysis tools, which are able to perform an analysis of gCSP \nmodels. The first tool is a runtime analyser and uses the compiled executable to get information of \nthe order in which the processes are running. The second tool is a model analyser which directly \nanalyses a gCSP model. It creates a dependency graph and will try to group processes which are \nrelated to each other, resulting in a schedule for multi-core target systems. For single-core target \nsystems the results can be used to recreate the model with a few bigger processes. \nBoth tools are tested to see whether they both are functional and usable. Functional tests are \nexecuted using a simple model to be able to manually check the analysis results with the expected \noutcome. The usability tests perform tests using a series of models and interpret the outcome of \nthe analysers. \nFrom these tests it is concluded that both tools are complementing each other and are suitable for \nanalysing gCSP models in order to be able to create optimised models. The main recommendations \nare to implement the automatic creation of a new gCSP model using the results of the analysers \nand to improve the set of rules of both analysers even more to get better results.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"16 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Communicating Process Architectures Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3233/978-1-60750-065-0-67","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
Nowadays the amount of embedded systems is getting bigger and bigger. The systems themselves also become more complex. To aid developers of embedded systems a formal language called Communicating Sequential Processes (CSP) was designed. At the Control Engineering (CE) group a graphical tool called gCSP is developed to create CSP
models. This tool allows for code generation. The generated code can be compiled with the Communicating Threads (CT) library into an executable. Users of gCSP tend to create a separate process for each task. From the model point of view this is excellent, but from a software point of
view this consumes too many resources. First of all a new gCSP file format is created, such that an algorithm is able to read model information without too much effort. Next algorithms are designed and implemented, which perform
analysis on models using different techniques.
This assignment results into two analysis tools, which are able to perform an analysis of gCSP
models. The first tool is a runtime analyser and uses the compiled executable to get information of
the order in which the processes are running. The second tool is a model analyser which directly
analyses a gCSP model. It creates a dependency graph and will try to group processes which are
related to each other, resulting in a schedule for multi-core target systems. For single-core target
systems the results can be used to recreate the model with a few bigger processes.
Both tools are tested to see whether they both are functional and usable. Functional tests are
executed using a simple model to be able to manually check the analysis results with the expected
outcome. The usability tests perform tests using a series of models and interpret the outcome of
the analysers.
From these tests it is concluded that both tools are complementing each other and are suitable for
analysing gCSP models in order to be able to create optimised models. The main recommendations
are to implement the automatic creation of a new gCSP model using the results of the analysers
and to improve the set of rules of both analysers even more to get better results.