User interfaces for modern applications must support a rich set of interactive features. It is commonplace to find applications with dependencies between values manipulated by user interface elements, conditionally en...
详细信息
ISBN:
(纸本)9781605584942
User interfaces for modern applications must support a rich set of interactive features. It is commonplace to find applications with dependencies between values manipulated by user interface elements, conditionally enabled controls, and script record-ability and playback against different documents. A significant fraction of the application programming effort is devoted to implementing such functionality, and the resulting code is typically not reusable. this paper extends our "property models" approach to programming user interfaces. Property models allow a large part of the functionality of a user interface to be implemented in reusable libraries, reducing application specific code to a set of declarative rules. We describe how, as a by-product of computations that maintain the values of user interface elements, property models obtain accurate information of the currently active dependencies among those elements. this information enables further expanding the class of user interface functionality that we can encode as generic algorithms. In particular, we describe automating the decisions for the enablement of user interface widgets and activation of command widgets. Failing to disable or deactivate widgets correctly is a common source of user-interface defects, which our approach largely removes. We report on the increased reuse, reduced defect rates, and improved user interface design turnarounds in a commercial software development effort as a result of adopting our approach.
the proceedings contain 20 papers. the topics discussed include: automatic variation-point identification in function-block-based models;efficient extraction and analysis of preprocessor-based variability;iterative ty...
ISBN:
(纸本)9781450301541
the proceedings contain 20 papers. the topics discussed include: automatic variation-point identification in function-block-based models;efficient extraction and analysis of preprocessor-based variability;iterative type inference with attribute grammars;automatic and efficient simulation of operation contracts;implicit invocation meets safe, implicit concurrency;a component-based run-time evolution infrastructure for resource-constrained embedded systems;code clones in feature-oriented software product lines;composition of dynamic analysis aspects;applications of enhanced dynamic code evolution for Java in GUI development and dynamic aspect-oriented programming;domain-specific language integration with compile-time parser generator library;ABI compatibility through a customizable language;model-based kinematics generation for modular mechatronic toolkits;and incremental type-checking for type-reflective metaprograms.
Mapping problem-space features into solution-space features is a fundamental configuration problem in software product line engineering. A configuration problem is defined as generating the most optimal combination of...
详细信息
ISBN:
(纸本)9781605584942
Mapping problem-space features into solution-space features is a fundamental configuration problem in software product line engineering. A configuration problem is defined as generating the most optimal combination of software features given a requirements specification and given a set of configuration rules. Current approaches however provide little support for expressing complex configuration rules between problem and solution space that support incomplete requirements specifications. In this paper, we propose an approach to model complex configuration rules based on a generalization of the concept of problem-solution feature interactions. these are interactions between solution-space features that only arise in specific problem contexts. the use of an existing tool to support our approach is also discussed: we use the DLV answer set solver to express a particular configuration problem as a logic program whose answer set corresponds to the optimal combinations of solution-space features. We motivate and illustrate our approach with a case study in the field of managing dynamic adaptations in distributed software, where the goal is to generate an optimal protocol for accommodating a given adaptation.
the optimizations in modern compilers are constructed for a predetermined set of primitive types. As a result, programmers are unable to exploit optimizations for user-defined types where these optimizations would be ...
详细信息
ISBN:
(纸本)9781605584942
the optimizations in modern compilers are constructed for a predetermined set of primitive types. As a result, programmers are unable to exploit optimizations for user-defined types where these optimizations would be correct and beneficial. Moreover, because the set of optimizations is also fixed, programmers are unable to incorporate new optimizations into the compiler. To address these limitations, we apply the reuse methodologies from generic programming to compiler analyses and optimizations. To enable compilers to apply optimizations to classes of types rather than particular types, we define optimizations in terms of generic interface descriptions (similar to C++ concepts or Haskell type classes). By extending these interface descriptions to include associated program analysis and transformation fragments, we enable compilers to incorporate user-defined transformations and analyses. Since these transformations are explicitly associated with interface descriptions, they can be applied in generic fashion by the compiler. We demonstrate that classical compiler optimizations, when generalized using this framework, can apply to a broad range of types, both built-in and user-defined. Finally, we present an initial implementation, the principles of which are generalizable to other compilers.
Aspect-oriented mechanisms are characterized by their join point models. A join point model has three components: join points, which are elements of language semantics;"a means of identifying join points";an...
详细信息
ISBN:
(纸本)9781605584942
Aspect-oriented mechanisms are characterized by their join point models. A join point model has three components: join points, which are elements of language semantics;"a means of identifying join points";and "a means of affecting the behaviour at those join points." A pointcut-advice model is a dynamic join point model in which join points are points in program execution. Pointcuts select a set of join points, and advice affects the behaviour of the selected join points. In this model, join points are typically selected and advised independently of each other. that is, the relationships between join points are not taken into account in join point selection and advice. In practice, join points are often not independent. Instead, they form part of a higher-level operation that implements the intent of the developer (e.g. managing a resource). there are natural situations in which join points should be selected only if they play a specific role in that operation. We propose a new join point model that takes join point interrelationships into account and allows the designation of more complex computations as join points. Based on the new model, we have designed an aspect-oriented construct called a transactional point-cut (transcut). Transcuts select sets of interrelated join points and reify them into higher-level join points that can be advised. they share much of the machinery and intuition of pointcuts, and can be viewed as their natural extension. We have implemented a transcuts prototype as an extension to the AspectJ language and integrated it into the abc compiler. We present an example where a transcut is applied to implement recommended resource handling practices in the presence of exceptions within method boundaries.
the paper presents a software integration, testing and visualization tool, called Dashboard, which s based on pipe-lined blackboard architecture for family of natural language processing (NLP) applications. the Dashbo...
详细信息
the proceedings contain 48 papers. the topics discussed include: modern machine learning techniques and their applications to medical diagnostics;innovative applications of artificial intelligence techniques in softwa...
ISBN:
(纸本)364216238X
the proceedings contain 48 papers. the topics discussed include: modern machine learning techniques and their applications to medical diagnostics;innovative applications of artificial intelligence techniques in software engineering;linear probability forecasting;the importance of similarity metrics for representative users identification in recommender systems;an optimal scaling approach to collaborative filtering using categorical principal component analysis and neighborhood formation;a classroom observation model fitted to stochastic and probabilistic decision systems;prediction with confidence based on a random forest classifier;a generic tool for building fuzzy cognitive map systems;a fuzzy rule-based approach to design game rules in a mission planning and evaluation system;automatically designing robot controllers and sensor morphology with genetic programming;and multiple criteria performance analysis of non-dominated sets obtained by multi-objective evolutionary algorithms for optimization.
Ship is a huge system, assembled by the millions of components, and ship building process is a more complicated systematic project. Assembly is an important part during the building process because assembly sequence h...
详细信息
暂无评论