The world of HPC systems is changing to a more complicated system because the performance improvement of processors has been slowed down. One of the promising approaches is Domain-Specific Language (DSL), which provid...
详细信息
ISBN:
(纸本)9781665497473
The world of HPC systems is changing to a more complicated system because the performance improvement of processors has been slowed down. One of the promising approaches is Domain-Specific Language (DSL), which provides a productive environment to create a high-efficient program without pain. However, existing DSL platforms themselves often lack portability and cost DSL developers great effort. To solve this issue, we propose an aspect-oriented programming (AOP) based DSL constructing platform, enabling developers to build a DSL platform by combining aspect modules. aspect modules manage abstracted application flow, data structure, and memory access on our platform. Therefore, developers can create any DSL platform whose target application has the attributes which HPC applications usually have, the abstraction assumes. This study implemented a prototype platform that can handle MPI and OpenMP layers. The prototype supports three types of applications (Structured-Grid, Unstructured-Grid, and Particle Simulation). Then, we evaluated the overheads caused by achieving flexibility and productivity of the platform.
Threat evaluation is a vital process for any defense system, and it consists of a series of calculation and evaluation based on the inferred capabilities and intents of the targets that aim to give damage to defended ...
详细信息
Threat evaluation is a vital process for any defense system, and it consists of a series of calculation and evaluation based on the inferred capabilities and intents of the targets that aim to give damage to defended assets. Target evaluation is proceeded in a wargame and the aim is to compare weapon target pairs according to a set of criteria. The target evaluation cycle is repeated anytime a new detection is received and when any change happens in the target currently detected. The whole process consists of a set of tasks that are shared between Command and Control units and the tasks require different responsibilities. Each task is succeeded by a specific behavior that is represented as a reasonably ordered set of actions. The task sharing is organized by taking the C2 architectures into account. In this paper, an agent-based command and control entity, which is in charge of target evaluation and giving engagement decision, is designed and it is situated in an air defense simulation environment. The study aims to propose an agent design in military decision-making domain, bringing analytic methods with the first-order logic together, and combine aspect orientation with agent design. The study also improves dynamic aspect management in agent programming using the relation concept.
aspect-oriented programming tools aim to provide increased code modularity by enabling programming of cross-cutting concerns separate from the main body of code. Since the inception of runtime verification, aspect-ori...
详细信息
ISBN:
(纸本)9783031171963;9783031171956
aspect-oriented programming tools aim to provide increased code modularity by enabling programming of cross-cutting concerns separate from the main body of code. Since the inception of runtime verification, aspect-oriented programming has regularly been touted as a perfect accompanying tool, by allowing for non-invasive monitoring instrumentation techniques. In this paper we present, aspectSol, which enables aspect-oriented programming for smart contracts written in Solidity, and then discuss the design space for pointcuts and aspects in this context. We present and evaluate practical runtime verification uses and applications of the tool.
The recent complexity of high-performance computing (HPC) systems to create efficient programs is becoming more difficult because of the lagging of processors' performance. Domain Specific Language (DSL) is a prom...
详细信息
ISBN:
(纸本)9781665475327
The recent complexity of high-performance computing (HPC) systems to create efficient programs is becoming more difficult because of the lagging of processors' performance. Domain Specific Language (DSL) is a promising approach that offers a productive environment and creates a high-efficient program. However, DSLs lack portability and make developers incur high costs. An aspect-oriented programming (AOP) based platform for building DSL processing systems is proposed to solve the problem. By combining reusable aspect modules, DSL processing systems can be built into each HPC system to assist developers in creating programs with various systems configurations. The platform is achieved by putting the application programming interface into the user's kernel code and controlling the kernel's execution according to the platform conventions. However, the platform has some problems. It is impossible to perform optimization that intervenes in the kernel code. It is also impossible to use SIMD and GPGPU efficiently. This study proposes a modification of the kernel code by introducing a Just-In-Time (JIT) compilation system into the platform and using SIMD and GPGPU. We also created benchmarks and confirmed a performance improvement of 94% for reducing the execution time compared with the based platform and an improvement of 9% compared with handwritten code for auto compiler optimization.
aspect-oriented programming (AOP) is a programming paradigm that implements crosscutting concerns in a modular way. People have witnessed the prosperity of AOP languages for Java and C++, such as aspectJ and aspectC++...
详细信息
aspect-oriented programming (AOP) is a programming paradigm that implements crosscutting concerns in a modular way. People have witnessed the prosperity of AOP languages for Java and C++, such as aspectJ and aspectC++, which has propelled AOP to become an important programming paradigm with many interesting application scenarios, e.g., runtime verification. In contrast, the AOP languages for C are still poor and lack compiler support. In this paper, we design a new general-purpose and expressive aspect-oriented C programming language, namely Aclang, and implement a compiler for it, which brings fully-fledged AOP support into the C domain. We have evaluated the effectiveness and performance of our compiler against two state-of-the-art tools, ACC and aspectC++. In terms of effectiveness, Aclang outperforms ACC and aspectC++. In terms of performance, Aclang outperforms ACC in execution time and outperforms aspectC++ in both execution time and memory consumption.
Cloud computing technology has opened an avenue to meet the critical need to securely share distributed resources and web services, and especially those that belong to clients who have sensitive data and applications....
详细信息
Cloud computing technology has opened an avenue to meet the critical need to securely share distributed resources and web services, and especially those that belong to clients who have sensitive data and applications. However, implementing crosscutting concerns for cloud-based applications is a challenge. This challenge stems from the nature of distributed Web-based technology architecture and infrastructure. One of the key concerns is security logic, which is scattered and tangled across all the cloud service layers. In addition, maintenance and modification of the security aspect is a difficult task. Therefore, cloud services need to be extended by enriching them with features to support adaptation so that these services can become better structured and less complex. aspect-oriented programming is the right technical solution for this problem as it enables the required separation when implementing security features without the need to change the core code of the server or client in the cloud. Therefore, this article proposes a Runtime Reusable Weaving Model for weaving security-related crosscutting concerns through layers of cloud computing architecture. The proposed model does not require access to the source code of a cloud service and this can make it easier for the client to reuse the needed security-related crosscutting concerns. The proposed model is implemented using aspect orientation techniques to integrate cloud security solutions at the software-as-a-service layer.
This paper describes and analyzes the main differences and advantages of the Join Point Interfaces (JPI) as an aspect-oriented programming (AOP) approach for the modular software production concerning the standard asp...
详细信息
This paper describes and analyzes the main differences and advantages of the Join Point Interfaces (JPI) as an aspect-oriented programming (AOP) approach for the modular software production concerning the standard aspect-oriented programming methodology for Java (aspectJ) to propose a structural modeling approach looking for modular software solutions. Using a Software Engineering point-of-view, we highlight the relevance of structural and conceptual design for JPI software applications. We model and implement a classic example of AOP using aspectJ and JPI as an application example to review their main difference and highlight the JPI consistency between products (models and code). Our proposal of UML JPI class diagrams allows the definition of oblivious classes which know about their JPI connections, an essential element to adapt and transform tradition like-aspectJ AOP solutions to their JPI version. Thus, for the modular software production and education, JPI seems an ideal software development approach.
The separation of concerns as a conceptual paradigm, aims to manage the complexity of the software systems by dividing them into different concerns and aspects. The benefits of this paradigm such as adaptability, reus...
详细信息
ISBN:
(纸本)9781450361019
The separation of concerns as a conceptual paradigm, aims to manage the complexity of the software systems by dividing them into different concerns and aspects. The benefits of this paradigm such as adaptability, reuse and maintenance, have been key drivers of its adoption and usability. These quality attributes have been discussed in aspect-oriented programming (AOP) which is a complement to traditional programming methods, whether object-orientedprogramming or procedural programming. The main concept of AOP is to gather the treatments related to a specific concern (problem) in a centralized unit called aspect. In this paper, two case studies of AOP are conducted with aspectJ: i) through three different implementations, addressing three distinct issues: Logging, Adding features and Using the Observer design pattern, and ii) through the design of aspect mobile application that is easy to use and quickly accessible and especially through Android devices. Also, the different technologies of aspectJ are used to design our application and illustrate the modularity and the composition of components (database manager, development software, and plugins). For each case study, we present the advantages and disadvantages to better understand and decompose the applications using this programming paradigm. Potential implementation examples are provided to support the explanation of the different situations and justify the use of the AOP to solve these issues. OSGi framework can also be used in the future work to offer dynamic manner of mobile applications.
Many programs have crosscutting concerns for which neither procedural nor object-orientedprogramming adequately modularize, which has led to the idea of aspect-oriented programming (AOP). However, AOP has not found f...
详细信息
ISBN:
(纸本)9781450353892
Many programs have crosscutting concerns for which neither procedural nor object-orientedprogramming adequately modularize, which has led to the idea of aspect-oriented programming (AOP). However, AOP has not found favor with the programming languages community due to a belief that AOP breaks classical modularity and modular reasoning. We propose a new AOP programming model that enables both crosscutting modularity and modular reasoning. This model is implemented by aspectJML, a general-purpose aspect-oriented extension to Java. It supports modular crosscutting concerns using key object-oriented mechanisms, such as hierarchical structure, and allows reasoning that scales to ever-larger programs.
The quality of software has become one of the most important factor in determining the success of products or enterprises. This paper presents a white-box testing framework for Object-orientedprogramming based on Mes...
详细信息
ISBN:
(纸本)9783030207878;9783030207861
The quality of software has become one of the most important factor in determining the success of products or enterprises. This paper presents a white-box testing framework for Object-orientedprogramming based on Message Sequence Specification and aspectorientedprogramming. In the context of an Object-oriented program, our framework can be used to test the correct order in which the methods of a class are invoked.
暂无评论