We present a method and a tool for composing a reactive system and for accompanying the development and documentation process with a proof of its correctness. The approach is based on behavioral programming (BP) and t...
详细信息
ISBN:
(纸本)9781479914432
We present a method and a tool for composing a reactive system and for accompanying the development and documentation process with a proof of its correctness. The approach is based on behavioral programming (BP) and the Z3 SMT solver. We show how program verification can be automated and streamlined by combining properties of individual modules, specified and verified separately, with application-independent specifications both of the BP semantics and of general theories. The method may yield an exponential acceleration of the verification process when compared with model-checking the composite application. We show that formalization of properties of independent modules in preparation for the correctness proofs can be useful as documentation for future development. We view this work as a further step towards making formal correctness proofs standard practice in the development of reactive systems, and carried out by programmers at large.
In the software implementation of a general Ambient Intelligence (AmI) system, there are two major issues, on which depend the flexibility and the performance of the project. One is the implementation paradigm - how t...
详细信息
ISBN:
(纸本)9780769549804
In the software implementation of a general Ambient Intelligence (AmI) system, there are two major issues, on which depend the flexibility and the performance of the project. One is the implementation paradigm - how the various entities are organized and how they interact;the other is the management of context information, and how context-awareness is integrated as a first-class element in the implementation. This paper is framed in a research effort to develop an agent-based platform for AmI applications. While in previous research we have already argued in favor of using an agent-oriented paradigm for the implementation, and we have already introduced the concept of context graphs and context patterns, it is in this paper that we argue that matching context patters against context graphs is a valid method for detecting the user's situation and acting upon the user's context. In support of this, we analyze several algorithms for graph matching, adapted to our problem, and compare their performance on specific examples of context matching.
Industrial emission from transport and domestic furnaces affects the condition of atmospheric air in urban agglomeration. The main pollutants of atmospheric air are: sulfur, nitrogen and carbon oxides, hydrocarbons an...
详细信息
ISBN:
(纸本)9781315887487;9780415643382
Industrial emission from transport and domestic furnaces affects the condition of atmospheric air in urban agglomeration. The main pollutants of atmospheric air are: sulfur, nitrogen and carbon oxides, hydrocarbons and dust containing toxic metals: lead, zinc, arsenic, selenium, manganese and others. The object-modeling system concerns two interweaving processes, namely the air quality assessment as well as the preparation and implementation of repair programs to protect the air. Tools and sources of information in these processes will be the measurements of pollution emissions to the atmospheric air and the object-oriented modeling of pollutants' spread in the atmosphere. In the literature, there are lists and divisions of the models of pollutants dispersion in atmospheric air. Basic models which describe the pollutants dispersion are: Euler's differential, Langrange's integral and Gaussian statistical models. The object-modeling has emerged in the 1970s through the use of new object-oriented programming languages (Simula, Smalltalk, and Ada).
Coupling in an object-oriented context is often defined in terms of access to instance variables and methods of other classes. JavaScript, however, lacks static type information and classes, and instead features a fle...
详细信息
ISBN:
(纸本)9781467357395
Coupling in an object-oriented context is often defined in terms of access to instance variables and methods of other classes. JavaScript, however, lacks static type information and classes, and instead features a flexible object system with prototypal inheritance. In order to determine coupling in JavaScript, we infer object types based on abstract interpretation of a program. Type inference depends on both structure and behavior of objects, and common patterns for expressing classes and modules are supported. We approximate a set of accessed types per function, and classify every access as either local or foreign. Examples demonstrate that our object type inference, together with some additional heuristics concerning property access, enable determining coupling in JavaScript in a meaningful way.
Model transformation is the process of automatically generating a target model from a source model according to a set of transformation rules. Automatic model transformation has the potential to eliminate the complexi...
详细信息
ISBN:
(纸本)9781467358255
Model transformation is the process of automatically generating a target model from a source model according to a set of transformation rules. Automatic model transformation has the potential to eliminate the complexity, the inconsistencies and faults that are inherent in a manual model transformation process. Many of the existing tools that automate the model transformation process require the encoding of transformation rules within the transformation process, which limits their reuse and usability in different contexts. This paper presents a tool that automates the model transformation of component-based systems specification. The tool takes an architectural specification as input and generates a behavior protocol as output. The transformation rules are described independently from the transformation process. This allows changing the transformation rules without affecting the transformation process. We discuss in detail the transformation rules for transforming a trustworthy component-based system, formally specified in an architecture description language (TADL), to an extended timed automata specification. The goal is to formally verify trustworthiness properties claimed in the source model by model checking the trustworthiness properties in the target model. By varying the target model and the set of transformation rules the same tool can be used to obtain different target models and use different verification techniques.
Sensor nodes and complex event processing (CEP) are important and powerful means for gathering data and detecting phenomena of interest in mission-critical pervasive systems, e.g. for emergency and rescue operations. ...
详细信息
ISBN:
(纸本)9781467350778;9781467350754
Sensor nodes and complex event processing (CEP) are important and powerful means for gathering data and detecting phenomena of interest in mission-critical pervasive systems, e.g. for emergency and rescue operations. However, the dynamic network does not allow using centralized CEP. To address this issue, we present a component-based distributed CEP middleware. Its main goal is easy reconfigurability to different mobility scenarios. This is achieved by providing an extensible collection of algorithms that are tailored for specific scenarios. The middleware makes it possible to select on demand the algorithms that are most suitable for the current scenario. Our evaluation shows that the middleware works in a broad spectrum of mobility scenarios. We also investigate the trade-off between efficiency and reliability of distributed CEP.
This article discusses opportunities for leveraging scale in cases of recurring scenarios of comparable decisions with multiple objectives in well-defined domains. Based on a software component ranking and selection m...
详细信息
ISBN:
(纸本)9780769548920;9781467359337
This article discusses opportunities for leveraging scale in cases of recurring scenarios of comparable decisions with multiple objectives in well-defined domains. Based on a software component ranking and selection method that uses utility analysis to separate objective information gathering and subjective assessment, we discuss challenges of decision making such as criterion complexity and evaluation effort. We show that by systematically identifying criteria across cases, it becomes feasible to employ cross-referencing and quantitative assessment of decision criteria and criteria sets across scenarios and organizations to improve decision making efficiency and effectiveness. We present a method and tool that allows referencing decision criteria across cases and employs a set of impact factors for decision criteria and sets of criteria. We discuss the results of analyzing a series of real-world case studies in software component selection. We analyze the applications and implications of the method and its potential to improve decision making effectiveness and efficiency.
TouchDevelop represents a new programming environment that enables users to develop mobile applications directly on mobile devices. TouchDevelop has successfully drawn a huge number of end users, who have published th...
详细信息
ISBN:
(纸本)9781479903696
TouchDevelop represents a new programming environment that enables users to develop mobile applications directly on mobile devices. TouchDevelop has successfully drawn a huge number of end users, who have published thousands of TouchDevelop scripts online. To enhance end-user programming on mobile devices, we conduct a comprehensive field study of 17322 TouchDevelop scripts and 4275 users. Our study consists of an overall study on the characteristics of scripts (e.g., structural features, code reuse) and users (e.g., expertise), and a longitudinal study on how they evolve over time. Our study results show important characteristics of scripts such as dense external method calls, high code-reuse ratio, and also reveal interesting evolution patterns of users. The findings and implications in our study provide valuable guidelines for improving tool support or services for end users and increasing the popularity of end-user programming on mobile devices.
We investigate properties of class diagrams with multiplicity constraints - as they appear e. g. in model-based engineering or database design - augmented by equational constraints on association chains. Constraints a...
详细信息
ISBN:
(纸本)9780769550534
We investigate properties of class diagrams with multiplicity constraints - as they appear e. g. in model-based engineering or database design - augmented by equational constraints on association chains. Constraints are typically used to generate additional code that throws an exception when a constraint is violated during run-time. Our aim is different: We develop methods to check already at modelling time whether all constraints can be satisfied, to provide suitable user feedback, and to compute optimal instances of the model. In this paper we extend our approach by a family of constraints that has proven relevant in practice, namely equations between chains of associations. Such equational constraints are necessary if we want to specify that the objects reachable via one chain of associations should in fact be the same as reachable via another one.
Model-Driven Engineering (MDE) encourages the use of graphical modeling tools, which facilitate the development process from modeling to coding. Such tools can be designed using the MDE approach into metamodeling envi...
详细信息
ISBN:
(纸本)9781479903696
Model-Driven Engineering (MDE) encourages the use of graphical modeling tools, which facilitate the development process from modeling to coding. Such tools can be designed using the MDE approach into metamodeling environments called metaCASE tools. It turned out that current metaCASE tools still require, in most cases, manual programming to build full tool support for the modeling language, especially for users' native methodologies and representational elements and suffer from gaps in terms of reusability. In this context, we propose MID, a set of metamodels supporting the specification of modeling editors by means of reusable components and explain how representational metamodeling is carried out with it.
暂无评论