Compositional coordination models and languages serve as a means to formally specify and implement component and service connectors. They support large-scale distributed applications by allowing construction of complex component connectors out of simpler ones. In this paper, we extend the design model for the channel-based coordination language Reo by introducing designs for timed connectors. Design is a key concept in Unifying Theories of Programming (UTP), which is used to describe the contract between programmer and client. The model developed in this paper specifies properties of timed channels and timed component connectors properly. Implementation of the design model developed in JTom is provided.
组合协调模型和语言是正式指定和实现组件和服务连接器的一种方法。它们通过允许用简单的组件连接器构造复杂的组件连接器来支持大规模分布式应用程序。本文通过引入定时连接器的设计,扩展了基于通道的协调语言Reo的设计模型。设计是程序设计统一理论(unified Theories of Programming, UTP)中的一个关键概念,用于描述程序员和客户之间的契约。该模型较好地描述了定时通道和定时元件连接器的特性。提供了在JTom中开发的设计模型的实现。
{"title":"Connectors as Designs: The Time Dimension","authors":"S. Meng","doi":"10.1109/TASE.2012.36","DOIUrl":"https://doi.org/10.1109/TASE.2012.36","url":null,"abstract":"Compositional coordination models and languages serve as a means to formally specify and implement component and service connectors. They support large-scale distributed applications by allowing construction of complex component connectors out of simpler ones. In this paper, we extend the design model for the channel-based coordination language Reo by introducing designs for timed connectors. Design is a key concept in Unifying Theories of Programming (UTP), which is used to describe the contract between programmer and client. The model developed in this paper specifies properties of timed channels and timed component connectors properly. Implementation of the design model developed in JTom is provided.","PeriodicalId":417979,"journal":{"name":"2012 Sixth International Symposium on Theoretical Aspects of Software Engineering","volume":"135 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133425575","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}
The manual generation of test cases for unit tests is tedious. We have developed the tool Muggl, which generates test cases based on symbolic execution and constraint solving. Solving constraints for this purpose is no trivial task and greatly attributes to the total runtime. Hence, we developed a solver for linear constraints adapted to the special needs of Muggl. It takes into account the particularities of constraint retrieval through symbolic execution. Specifically, it is capable of incremental addition and backtracking of constraints. Moreover, we have developed an approach to avoid rounding errors.
{"title":"Dynamic Solution of Linear Constraints for Test Case Generation","authors":"Marko Ernsting, Tim A. Majchrzak, H. Kuchen","doi":"10.1109/TASE.2012.39","DOIUrl":"https://doi.org/10.1109/TASE.2012.39","url":null,"abstract":"The manual generation of test cases for unit tests is tedious. We have developed the tool Muggl, which generates test cases based on symbolic execution and constraint solving. Solving constraints for this purpose is no trivial task and greatly attributes to the total runtime. Hence, we developed a solver for linear constraints adapted to the special needs of Muggl. It takes into account the particularities of constraint retrieval through symbolic execution. Specifically, it is capable of incremental addition and backtracking of constraints. Moreover, we have developed an approach to avoid rounding errors.","PeriodicalId":417979,"journal":{"name":"2012 Sixth International Symposium on Theoretical Aspects of Software Engineering","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124116524","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}
Wireless sensor networks with hundreds of sensor nodes have emerged in recent years as important platforms for a wide spectrum of monitoring tasks ranging from environmental to military applications. In order to support scalability and increase lifetime of these networks, sensor nodes are preferably grouped into clusters. A large number of clustering protocols have been proposed in the literature with different aims, requirements and efficiency. Previous comparative studies of such protocols were usually based on simulation, which, however, only provides average case results on the limited state space explored. To mend this situation, in this paper, we evaluate and compare four state-of-the-art clustering protocols, i.e., LEACH, GENLEACH, HEED and PANEL, with full state space exploration. Within our analytical framework that consists of a network configuration and an energy consumption model, we aim at analyzing the correctness and performance of the investigated protocols. Our analysis is conducted formally through probabilistic model checking using PRISM and has its focus on the quantitative aspects of the protocols.
{"title":"Comparative Analysis of Clustering Protocols with Probabilistic Model Checking","authors":"Qian Li, Péter Schaffer, Jun Pang, S. Mauw","doi":"10.1109/TASE.2012.28","DOIUrl":"https://doi.org/10.1109/TASE.2012.28","url":null,"abstract":"Wireless sensor networks with hundreds of sensor nodes have emerged in recent years as important platforms for a wide spectrum of monitoring tasks ranging from environmental to military applications. In order to support scalability and increase lifetime of these networks, sensor nodes are preferably grouped into clusters. A large number of clustering protocols have been proposed in the literature with different aims, requirements and efficiency. Previous comparative studies of such protocols were usually based on simulation, which, however, only provides average case results on the limited state space explored. To mend this situation, in this paper, we evaluate and compare four state-of-the-art clustering protocols, i.e., LEACH, GENLEACH, HEED and PANEL, with full state space exploration. Within our analytical framework that consists of a network configuration and an energy consumption model, we aim at analyzing the correctness and performance of the investigated protocols. Our analysis is conducted formally through probabilistic model checking using PRISM and has its focus on the quantitative aspects of the protocols.","PeriodicalId":417979,"journal":{"name":"2012 Sixth International Symposium on Theoretical Aspects of Software Engineering","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133418879","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}
In component-based and model-driven approaches for software engineering, any software components or subsystems acquired from external sources must meet a user's criteria to ascertain that they will not compromise the survivability properties of the existing systems. In this paper, we study survivability compliance specification and verification in a proof-carrying scenario: a user defines survivability requirements for a software system to be acquired or linked to the existing systems. The system provider compiles a proof, which is sent to the user who simply needs to check it. We present a new formalism, i.e., a constraint annotated logic in which arbitrary user requirements and constraints for system survivability features can be represented and reasoned. We provide a formal design of a constraint domain and extend a proof-carrying survivability logic so that user-defined constraints can be enforced by prohibiting logical inferences that would violate these constraints. In our model, the interplay between a constraint domain and the logical reasoning process is directly supported by the logic rules. Experiments and analysis show that the proposed model is a powerful formalism in reasoning hybrid domains between users' constrained requirements and system survivability properties.
{"title":"Incorporating Constraints to Software System Survivability Specification and Proof","authors":"Yanjun Zuo","doi":"10.1109/TASE.2012.17","DOIUrl":"https://doi.org/10.1109/TASE.2012.17","url":null,"abstract":"In component-based and model-driven approaches for software engineering, any software components or subsystems acquired from external sources must meet a user's criteria to ascertain that they will not compromise the survivability properties of the existing systems. In this paper, we study survivability compliance specification and verification in a proof-carrying scenario: a user defines survivability requirements for a software system to be acquired or linked to the existing systems. The system provider compiles a proof, which is sent to the user who simply needs to check it. We present a new formalism, i.e., a constraint annotated logic in which arbitrary user requirements and constraints for system survivability features can be represented and reasoned. We provide a formal design of a constraint domain and extend a proof-carrying survivability logic so that user-defined constraints can be enforced by prohibiting logical inferences that would violate these constraints. In our model, the interplay between a constraint domain and the logical reasoning process is directly supported by the logic rules. Experiments and analysis show that the proposed model is a powerful formalism in reasoning hybrid domains between users' constrained requirements and system survivability properties.","PeriodicalId":417979,"journal":{"name":"2012 Sixth International Symposium on Theoretical Aspects of Software Engineering","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132183533","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}
In this paper, we define lattice-valued labeled transition systems (LLTS) as a general framework for allowing imprecise or incomplete specifications to be expressed. We introduce a lattice-valued bisimulation between LLTSs that measures the degree of closeness of two systems as elements of residuated lattice, in contrast to the traditional boolean yes/no to bisimulation. Also, we show that our bisimulation is compositional for a synchronous composition operator. Moreover, we also consider lattice-valued extension of Kripke structures, define a lattice-valued bisimulation between lattice-valued Kripke structures (LKSs), and establish the correspondence between lattice-valued bisimulation in LLTS and lattice-valued bisimulation in LKS.
{"title":"Bisimulation for Lattice-valued Transition Systems","authors":"Haiyu Pan, Min Zhang, Yixiang Chen","doi":"10.1109/TASE.2012.48","DOIUrl":"https://doi.org/10.1109/TASE.2012.48","url":null,"abstract":"In this paper, we define lattice-valued labeled transition systems (LLTS) as a general framework for allowing imprecise or incomplete specifications to be expressed. We introduce a lattice-valued bisimulation between LLTSs that measures the degree of closeness of two systems as elements of residuated lattice, in contrast to the traditional boolean yes/no to bisimulation. Also, we show that our bisimulation is compositional for a synchronous composition operator. Moreover, we also consider lattice-valued extension of Kripke structures, define a lattice-valued bisimulation between lattice-valued Kripke structures (LKSs), and establish the correspondence between lattice-valued bisimulation in LLTS and lattice-valued bisimulation in LKS.","PeriodicalId":417979,"journal":{"name":"2012 Sixth International Symposium on Theoretical Aspects of Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131247321","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}
This paper presents a symbolic model checking algorithm for Propositional Projection Temporal Logic (PPTL). Within this method, the model of a system is specified by a Kripke structure M, and the desired property is specified in a PPTL formula P. First, M is symbolically represented with boolean functions while -P is transformed into its normal form. Then the set of states in M that satisfies -P, namely Sat(-P), is computed recursively with respect to the transition relations. Thus, whether the system satisfies the property can be equivalently checked by determining the emptiness of Sat(-P). All the operations above can be implemented by a graph algorithm operated on ROBDDs.
{"title":"Symbolic Model Checking for Propositional Projection Temporal Logic","authors":"Tao Pang, Zhenhua Duan, Cong Tian","doi":"10.1109/TASE.2012.35","DOIUrl":"https://doi.org/10.1109/TASE.2012.35","url":null,"abstract":"This paper presents a symbolic model checking algorithm for Propositional Projection Temporal Logic (PPTL). Within this method, the model of a system is specified by a Kripke structure M, and the desired property is specified in a PPTL formula P. First, M is symbolically represented with boolean functions while -P is transformed into its normal form. Then the set of states in M that satisfies -P, namely Sat(-P), is computed recursively with respect to the transition relations. Thus, whether the system satisfies the property can be equivalently checked by determining the emptiness of Sat(-P). All the operations above can be implemented by a graph algorithm operated on ROBDDs.","PeriodicalId":417979,"journal":{"name":"2012 Sixth International Symposium on Theoretical Aspects of Software Engineering","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121182034","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}
Locks are pervasive in multithreaded code. For software transactional memory (STM) to be widely adopted there must be a consensus on a semantics for programs that entail both locks and transactions, particularly for weakly isolated STMs. For instance, in a weakly isolated STM, use of both locks and transactions to access the same data may introduce data races. In response we present a simple and intuitive semantics that guarantees ordered linearisation points for conflicting locks and transactions. Our approach allows us to classify the moverness of locks and transactions, making reasoning about parallel compositions trivial. Under our semantics we show locks to be left movers and transactions right movers, and the serialisability of conflicting locks and transactions.
{"title":"Moverness for Locks and Transactions","authors":"Granville Barnett, S. Qin","doi":"10.1109/TASE.2012.29","DOIUrl":"https://doi.org/10.1109/TASE.2012.29","url":null,"abstract":"Locks are pervasive in multithreaded code. For software transactional memory (STM) to be widely adopted there must be a consensus on a semantics for programs that entail both locks and transactions, particularly for weakly isolated STMs. For instance, in a weakly isolated STM, use of both locks and transactions to access the same data may introduce data races. In response we present a simple and intuitive semantics that guarantees ordered linearisation points for conflicting locks and transactions. Our approach allows us to classify the moverness of locks and transactions, making reasoning about parallel compositions trivial. Under our semantics we show locks to be left movers and transactions right movers, and the serialisability of conflicting locks and transactions.","PeriodicalId":417979,"journal":{"name":"2012 Sixth International Symposium on Theoretical Aspects of Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123776319","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}
Problem Solving Environments (PSEs) for Virtual Organizations (VOs) are usually constructed on distributed resources. Thus, Web services are widely adopted to deliver resources in PSEs. To enable users to handle services efficiently, a mechanism of service virtualization to provide a relatively stable service view for users is proposed based on Agile Services. The algorithm of matchmaking is discussed to make Agile Services executable by binding Web services with expected functions to them. The approach to service filtering is also introduced to make service matchmaking more efficient. Experiments and simulations indicate that the approach proposed in the paper can shield the diversities of Web services to users and be adaptive to the variability of requirements, and eventually improve the efficiency for users to handle Web services.
{"title":"Agile Services Oriented Virtualization of Web Services","authors":"Wanghu Chen, Jing Li","doi":"10.1109/TASE.2012.37","DOIUrl":"https://doi.org/10.1109/TASE.2012.37","url":null,"abstract":"Problem Solving Environments (PSEs) for Virtual Organizations (VOs) are usually constructed on distributed resources. Thus, Web services are widely adopted to deliver resources in PSEs. To enable users to handle services efficiently, a mechanism of service virtualization to provide a relatively stable service view for users is proposed based on Agile Services. The algorithm of matchmaking is discussed to make Agile Services executable by binding Web services with expected functions to them. The approach to service filtering is also introduced to make service matchmaking more efficient. Experiments and simulations indicate that the approach proposed in the paper can shield the diversities of Web services to users and be adaptive to the variability of requirements, and eventually improve the efficiency for users to handle Web services.","PeriodicalId":417979,"journal":{"name":"2012 Sixth International Symposium on Theoretical Aspects of Software Engineering","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132196111","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}
We propose fLTL, an extension to linear-time temporal logic (LTL) that allows for expressing relative frequencies by a generalization of temporal operators. This facilitates the specification of requirements such as the deadlines in a realtime system must be met in at least 95% of all cases. For our novel logic, we establish an undecidability result regarding the satisfiability problem but identify a decidable fragment which strictly increases the expressiveness of LTL by allowing, e.g., to express non-context-free properties.
{"title":"Frequency Linear-time Temporal Logic","authors":"B. Bollig, Normann Decker, M. Leucker","doi":"10.1109/TASE.2012.43","DOIUrl":"https://doi.org/10.1109/TASE.2012.43","url":null,"abstract":"We propose fLTL, an extension to linear-time temporal logic (LTL) that allows for expressing relative frequencies by a generalization of temporal operators. This facilitates the specification of requirements such as the deadlines in a realtime system must be met in at least 95% of all cases. For our novel logic, we establish an undecidability result regarding the satisfiability problem but identify a decidable fragment which strictly increases the expressiveness of LTL by allowing, e.g., to express non-context-free properties.","PeriodicalId":417979,"journal":{"name":"2012 Sixth International Symposium on Theoretical Aspects of Software Engineering","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121760974","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}
A workflow model is an abstract representation of a real life workflow and consists of interconnected tasks depicting the desired executions of real life activities. Time information is an important aspect of many safety-critical workflows. This paper presents a new formal diagrammatic approach to timed workflow modelling involving principles from model-driven engineering. The approach extends the Diagram Predicate Framework, which is based on category theory and graph transformations, for the specification of workflow modelling formalisms. We develop a transition system to represent the dynamic semantics involving time in which transitions are described by specification transformations between instances. To model time, we use predicates for time delay and duration with transition rules for time advancement.
{"title":"A Formal Diagrammatic Approach to Timed Workflow Modelling","authors":"Hao Wang, Adrian Rutle, W. MacCaull","doi":"10.1109/TASE.2012.14","DOIUrl":"https://doi.org/10.1109/TASE.2012.14","url":null,"abstract":"A workflow model is an abstract representation of a real life workflow and consists of interconnected tasks depicting the desired executions of real life activities. Time information is an important aspect of many safety-critical workflows. This paper presents a new formal diagrammatic approach to timed workflow modelling involving principles from model-driven engineering. The approach extends the Diagram Predicate Framework, which is based on category theory and graph transformations, for the specification of workflow modelling formalisms. We develop a transition system to represent the dynamic semantics involving time in which transitions are described by specification transformations between instances. To model time, we use predicates for time delay and duration with transition rules for time advancement.","PeriodicalId":417979,"journal":{"name":"2012 Sixth International Symposium on Theoretical Aspects of Software Engineering","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123928500","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}