component based software engineering and aspect orientation are claimed to be two complementary approaches. While the former ensures the modularity and the reusability of software entities, the latter enables the modu...
详细信息
ISBN:
(纸本)9781450306898
component based software engineering and aspect orientation are claimed to be two complementary approaches. While the former ensures the modularity and the reusability of software entities, the latter enables the modularity of crosscutting concerns that cannot be modularized as regular components. Nowadays, several approaches and frameworks are dedicated to integrate aspects into component models. However, when several aspects are woven, aspects may interact with each other which often results in undesirable behavior. the contribution of this paper is twofold. First, we show how aspectized component models can be formally modeled in UPPAAL model checker in order to detect negative interactions (a.k.a., interferences) among aspects. Second, we provide an extendible catalog of composition operators used for aspect composition. We illustrate our general approach with an airport Internet service example.
Aspect-Oriented programming (AOP) and Feature-Oriented programming (FOP) are complementary technologies that can be combined to overcome their individual limitations. Aspectual Mixin Layers (AML) is a representative a...
详细信息
Embedded, textual DSLs are often provided as an API wrapped around object-oriented application frameworks to ease framework integration. While literature presents claims that DSL-based application development is benef...
详细信息
ISBN:
(纸本)9781450306898
Embedded, textual DSLs are often provided as an API wrapped around object-oriented application frameworks to ease framework integration. While literature presents claims that DSL-based application development is beneficial, empirical evidence for this is rare. We present the results of an experiment comparing the complexity of three different object-oriented framework APIs and an embedded, textual DSL. For this comparative experiment, we implemented the same, non-trivial application scenario using these four different APIs. then, we performed an Object-Points (OP) analysis, yielding indicators for the API complexity specific to each API variant. the main observation for our experiment is that the embedded, textual DSL incurs the smallest API complexity. Although the results are exploratory, as well as limited to the given application scenario and a single embedded DSL, our findings can direct future empirical work. the experiment design is applicable for similar API design evaluations.
While dynamic code evolution in object-oriented systems is an important feature supported by dynamic languages, there is currently only limited support for dynamic code evolution in high-performance, state-of-the-art ...
详细信息
ISBN:
(纸本)9781450301541
While dynamic code evolution in object-oriented systems is an important feature supported by dynamic languages, there is currently only limited support for dynamic code evolution in high-performance, state-of-the-art runtime systems for statically typed languages, such as the Java Virtual Machine. In this tool demonstration, we present the Dynamic Code Evolution VM, which is based on a recent version of Oracle's state-of-the-art Java HotSpot (TM) VM and allows unlimited changes to loaded classes at runtime. Based on the Dynamic Code Evolution VM, we developed an enhanced version of the Mantisse GUI builder (which is part of the NetBeans IDE) that allows adding GUI components without restarting the application under development. Furthermore, we redesigned the dynamic AOP framework HotWave to take advantage of the enhanced dynamic code evolution capabilities. the new version, HotWave2, now supports most AspectJ constructs, including around() advice and static cross-cutting. We will demonstrate boththe enhanced Mantisse GUI builder as well as HotWave2, weaving several aspects for dynamic analysis in sizable applications at runtime.
the development of service robots has gained more and more attention over the last years. A major challenge on the way towards industrial-strength service robotic systems is to make the step from code-driven to model-...
详细信息
ISBN:
(纸本)9781450306898
the development of service robots has gained more and more attention over the last years. A major challenge on the way towards industrial-strength service robotic systems is to make the step from code-driven to model-driven engineering. In this work we propose to put models into the focus of the whole life-cycle of robotic systems covering design-time as well as run-time. We describe how to explicate parameters, properties and resource information in the models at design-time and how to take these information into account by the run-time system of the robot to support its decision making process. We underpin our work by an exhaustive real-world example which is completely developed with our tools.
component updates always imply the risk of negatively influencing the operability of software systems. Because of wrong combinations of component versions, dependencies might break, methods which do no longer exist, m...
详细信息
Domain-specific languages (DSL) provides high-level functions making applications easier to write, and to maintain. Unfortunately, many applications axe written from scratch and poorly documented, which make them hard...
详细信息
ISBN:
(纸本)3540291385
Domain-specific languages (DSL) provides high-level functions making applications easier to write, and to maintain. Unfortunately, many applications axe written from scratch and poorly documented, which make them hard to maintain. An ideal solution should be to rewrite them in a appropriate DSL. In this paper, we present TeMa (Template Matcher), an automatic tool to recognize high-level functions in source code. Preliminary results show how TeMa can be used to reformulate Fortran code into Signal Processing Language (SPL) used in SPIRAL. this opens new possibilities for domain-specific languages.
Programs can be composed from features. We want to verify automatically that all legal combinations of features can be composed safely without errors. Prior work on this problem assumed that features add code monotoni...
详细信息
ISBN:
(纸本)9781605584942
Programs can be composed from features. We want to verify automatically that all legal combinations of features can be composed safely without errors. Prior work on this problem assumed that features add code monotonically. We generalize prior work to enable features to add and remove code, describe our analyses and implementation, and review case studies. We observe that more expressive features increase the complexity of developed programs rapidly - up to the point where tools and automated concepts as presented in this paper are indispensable for verification.
One of the key problems in the development of software product lines is the representation and management of variability and commonality. the customary way to define both aspects is by means of feature models that als...
详细信息
the abilities to extend a software module and to integrate a software module into an existing software system without changing existing source code are fundamental challenges in software engineering and programming-la...
详细信息
暂无评论