ASystemC: an AOP extension for hardware description language
|
||||||||||||||||||||
ABSTRACTHardware-design requirements are becoming increasingly complex. Accordingly, the hardware developer is also beginning to use modern programming languages instead of traditional hardware description languages. However, modularity of the current hardware design has not changed from that of the traditional design. In this paper, we first conducted empirical investigation by interviews with real-world developers of circuit products, and confirmed that there exist cross-cutting concerns in actual products. The cross-cutting concerns fall into two types: one in common with software development and one specific to hardware design. In light of these results, this paper proposes ASystemC, an AOP extension for the hardware description language SystemC. ASystemC provides AOP features based on the AspectJ-like pointcut-advice mechanism. The design principle of ASystemC is practicality; we designed ASystemC to accept existing SystemC source code, and to weave aspects by using source-to-source conversion that outputs human-readable SystemC code. This design allows a user to utilize not only existing codes but also the existing knowledge and development process, as much as possible. As a result, ASystemC does not require modification of the existing source code review process and source analysis/manipulation tools, even if there is a developer unfamiliar with ASystemC in a development team. In addition, we confirmed the practicality and fiexibility of ASystemC through case studies: estimation of circuit size by using simulation, feature-configurable products and LTL verification. These cases are abstracted from actual problems in our products. They require not only code-level changes but also structural changes.
AUTHORS
|
|
||||||||||||||||||||||||||||||||||||||||
| View colleagues of Yusuke Endoh | |||||||||||||||||||||||||||||||||||||||||
REFERENCESNote: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
|
1
|
A. Bainbridge-Smith and S.-H. Park. ADH: An aspect described hardware programming language. Field-Programmable Technology, 2005. Proceedings. 2005 IEEE International Conference on, pages 283--284, dec. 2005.
|
|
| |
2
|
|
| |
3
|
|
| |
4
|
Yusuke Endoh , Takeo Imai , Mikito Iwamasa , Yoshio Kataoka, A pointcut-based assertion for high-level hardware design, Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software, p.1-6, March 31-April 08, 2008, Brussels, Belgium [doi>10.1145/1404891.1404895]
|
| |
5
|
|
|
6
|
D. D. Gajski, J. Zhu, R. Dömer, A. Gerstlauer, and S. Zhao. SpecC: Specification Language and Methodology. 2000.
|
|
|
7
|
IEEE. Std 1076-2000: IEEE Standard VHDL Language Reference Manual, 2000.
|
|
|
8
|
IEEE. IEEE 1850 Standard for Property Specification Language (PSL), 2005.
|
|
|
9
|
IEEE. IEEE Standard for SystemVerilog-Unified Hardware Design, Specification, and Verification Language, 2005.
|
|
|
10
|
Gnu indent. http://www.gnu.org/software/indent/.
|
|
|
11
|
A. Kasuya. Verification applications of aspect-oriented-programming. In Proceedings of the Design and Verification Conference and Exhibition (DVCon), 2004.
|
|
| |
12
|
|
|
13
|
||
|
14
|
P. Kocher, J. Jaffe, and B. Jun. Introduction to differential power analysis and related attacks.
|
|
|
15
|
H. Masuhara and K. Kawauchi. Dataflow pointcut in aspect-oriented programming. In APLAS'03 - the First Asian Symposium on Programming Languages and Systems, pages 105--121, 2003.
|
|
|
16
|
M. Miyama, A. Kitagawa, J. Akita, and M. Suzuki. HDL ni yoru VLSI sekkei (in Japanese). Kyoritsu Shuppan, 2002.
|
|
|
17
|
Open SystemC Initiative. SystemC 2.0 Language Reference Manual. OSCI, 2003.
|
|
|
18
|
||
|
19
|
||
|
20
|
CITED BY3 Citations
|
|
|
INDEX TERMSThe ACM Computing Classification System (CCS rev.2012)
PUBLICATION| Title | AOSD '11 Proceedings of the tenth international conference on Aspect-oriented software development companion table of contents | ||||||||||||||||||||||||||||||||||||||||||||||
| General Chairs | Paulo Borba Federal University of Pernambuco, Brazil | ||||||||||||||||||||||||||||||||||||||||||||||
| Program Chairs | Shigeru Chiba Tokyo Institute of Technology, Japan | ||||||||||||||||||||||||||||||||||||||||||||||
| Pages | 19-28 | ||||||||||||||||||||||||||||||||||||||||||||||
| Publication Date | 2011-03-21 (yyyy-mm-dd) | ||||||||||||||||||||||||||||||||||||||||||||||
| Sponsors | SIGPLAN ACM Special Interest Group on Programming Languages | ||||||||||||||||||||||||||||||||||||||||||||||
| SIGSOFT ACM Special Interest Group on Software Engineering | |||||||||||||||||||||||||||||||||||||||||||||||
| In-Cooperations | Centro de Informatica - UFPE Centro de Informatica - UFPE | ||||||||||||||||||||||||||||||||||||||||||||||
| CNPq Conselho Nacional de Desenvolvimento Cientifico e Tecn | |||||||||||||||||||||||||||||||||||||||||||||||
| CAPES Coordençãao de Aperfeiçoamento de Pessoal de Nível Superior | |||||||||||||||||||||||||||||||||||||||||||||||
| FINEP Financiadora de Estudos e Projetos | |||||||||||||||||||||||||||||||||||||||||||||||
| FACEPE Fundacao de Amparo a Ciencia e Tecnologia do Estado de Pernambuco | |||||||||||||||||||||||||||||||||||||||||||||||
| PUC-Rio | |||||||||||||||||||||||||||||||||||||||||||||||
| Publisher | ACM New York, NY, USA ©2011 | ||||||||||||||||||||||||||||||||||||||||||||||
| ISBN: 978-1-4503-0606-5 doi>10.1145/1960314.1960322 | |||||||||||||||||||||||||||||||||||||||||||||||
| Conference |
MODULARITYModularity (formerly known as Aspect-oriented Software Development - AOSD)
|
||||||||||||||||||||||||||||||||||||||||||||||
| Overall Acceptance Rate 178 of 718 submissions, 25% | |||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||
REVIEWS
COMMENTSBe the first to comment To Post a comment please sign in or create a free Web account
Table of Contents| SESSION: Core ideas | ||
| Modularity in continually evolving systems | ||
| Urjaswala Vora, Peeyush Chomal, Rahul Upadhyay, Vikram Khati | ||
| Pages: 1-2 | ||
| doi>10.1145/1960314.1960316 | ||
Full text: PDF
|
||
|
The design of a continually-evolving system deteriorates in proportion to the frequency of evolution as much as the complexity of evolution. Here we introduce a design paradigm, Temporal Control Flow Rule-based Architecture (TeCFRA), with a vision to ...
expand
|
||
| Portability as an aspect: rethinking modularity in mobile game development | ||
| Nan Niu, Vander Alves, Tanmay Bhowmik | ||
| Pages: 3-4 | ||
| doi>10.1145/1960314.1960317 | ||
Full text: PDF
|
||
|
This extended abstract overviews our modularity vision along a technical-organizational-ecosystem dimension. Our goal is to explore the benefits that modularity could provide to software vendors in the rapidly changing landscape of mobile game development. ...
expand
|
||
| SESSION: Industry track: keynote | ||
| Session details: Industry track: keynote | ||
| Kirk Knoernschild | ||
| doi>10.1145/3253048 | ||
| Modularity, agility, and architecture's paradox | ||
| Kirk Knoernschild | ||
| Pages: 5-6 | ||
| doi>10.1145/1960314.1960319 | ||
Full text: PDF
|
||
|
Attempts to architect more flexible software often results in the opposite - brittle software fraught with complexity. Something is missing. Complexity is the beast we must tame, and modularity is part of the answer. In this keynote, we'll examine the ...
expand
|
||
| SESSION: Industry track: session 1 | ||
| Session details: Industry track: session 1 | ||
| Flavia Rainone | ||
| doi>10.1145/3253049 | ||
| Experiences documenting and preserving software constraints using aspects | ||
| Roberto Silveira Silva Filho, François Bronsard, William M. Hasling | ||
| Pages: 7-18 | ||
| doi>10.1145/1960314.1960321 | ||
Full text: PDF
|
||
|
Software systems are increasingly being built as compositions of reusable artifacts (components, frameworks, toolkits, plug-ins, APIs, etc) that have non-trivial usage constraints in the form of interface contracts, underlying assumptions and design ...
expand
|
||
| ASystemC: an AOP extension for hardware description language | ||
| Yusuke Endoh | ||
| Pages: 19-28 | ||
| doi>10.1145/1960314.1960322 | ||
Full text: PDF
|
||
|
Hardware-design requirements are becoming increasingly complex. Accordingly, the hardware developer is also beginning to use modern programming languages instead of traditional hardware description languages. However, modularity of the current hardware ...
expand
|
||
| SESSION: Industry track: session 2 | ||
| Session details: Industry track: session 2 | ||
| Flavia Rainone | ||
| doi>10.1145/3253050 | ||
| Using aspect-orientation to simplify concurrent programming | ||
| Uwe D. Hohenstein, Urs Gleim | ||
| Pages: 29-40 | ||
| doi>10.1145/1960314.1960324 | ||
Full text: PDF
|
||
|
The Java programming language offers several basic constructs for concurrent programming. Despite covering everything needed from a functional point of view, the constructs are difficult to use since they require a lot of infrastructural statements besides ...
expand
|
||
| Flexible, dynamic injection of structured advice using byteman | ||
| Andrew E. Dinn | ||
| Pages: 41-50 | ||
| doi>10.1145/1960314.1960325 | ||
Full text: PDF
|
||
|
Byteman is a flexible, dynamic advice injection tool for Java. It uses an Event Condition Action rule script language to structure placement and control execution of injected Java code fragments. The Byteman agent can be loaded at application startup ...
expand
|
||
| TUTORIAL SESSION: Tutorials | ||
| Refactoring at the core of agile software development | ||
| Joseph Yoder | ||
| Pages: 51-52 | ||
| doi>10.1145/1960314.1960327 | ||
Full text: PDF
|
||
|
Refactoring code to make it more maintainable and extendable has become a more mainstream practice. Refactoring is the process of changing software without altering its external behavior. It is done in such as way to improve the structure of the code ...
expand
|
||
| The theory and practice of modern modeling language design for model-based software engineering | ||
| Bran V. Selic | ||
| Pages: 53-54 | ||
| doi>10.1145/1960314.1960328 | ||
Full text: PDF
|
||
|
This is a half-day tutorial dealing with the relatively new field of modeling language design.
expand
|
||
| Understanding programming technologies by analogy, examples, and abstraction: extended abstract (AOSD'11 tutorial) | ||
| Ralf Laemmel | ||
| Pages: 55-56 | ||
| doi>10.1145/1960314.1960329 | ||
Full text: PDF
|
||
|
We have a problem: there is a stunning number of programming technologies out there. There are silos of knowledge around these technologies and technical spaces. In fact, it is not even clear that this abundance can still be approached by computer scientists. ...
expand
|
||
| Rulemakers and toolmakers: adaptive object-models as an agile division of labor | ||
| Joseph Yoder | ||
| Pages: 57-58 | ||
| doi>10.1145/1960314.1960330 | ||
Full text: PDF
|
||
|
Agile practices liberate us from the straightjackets of top-down design. But, the ease with which requirements can change encou-rages users to overwhelm us with requests for features. The result: Featuritis, which promotes hasty construction of poorly ...
expand
|
||
| The aspect-oriented user requirements notation: aspects, goals, and scenarios | ||
| Gunter Mussbacher | ||
| Pages: 59-60 | ||
| doi>10.1145/1960314.1960331 | ||
Full text: PDF
|
||
|
This tutorial discusses aspect-oriented requirements engineering, focusing on scenario-based and goal-oriented requirements models with the Aspect-oriented User Requirements Notation (AoURN). AoURN is an extension of the User Requirements Notation (URN), ...
expand
|
||
| Modularizing crosscutting concerns with Ptolemy | ||
| Hridesh Rajan, Gary T. Leavens, Robert Dyer, Mehdi Bagherzadeh | ||
| Pages: 61-62 | ||
| doi>10.1145/1960314.1960332 | ||
Full text: PDF
|
||
|
This tutorial will provide an introduction to Ptolemy. Ptolemy is a programming language whose goals are to improve a software engineer's ability to separate conceptual concerns, while preserving encapsulation of object-oriented code and the ability ...
expand
|
||
| DEMONSTRATION SESSION: Demonstrations: session 1: demo track | ||
| Session details: Demonstrations: session 1: demo track | ||
| Joño Araújo | ||
| doi>10.1145/3253051 | ||
| Analyzing architectural conformance of layered aspect-oriented systems with ArchE Meter | ||
| Juliana Saraiva, Sérgio Soares, Fernando Castor | ||
| Pages: 63-64 | ||
| doi>10.1145/1960314.1960334 | ||
Full text: PDF
|
||
|
We present ArchE Meter, a tool that supports developers in understanding how the implementation of an aspect-oriented system conforms to its intended layered software architecture. Based on the principles of layered software architectures, ArchE Meter ...
expand
|
||
| Hist-Inspect: a tool for history-sensitive detection of code smells | ||
| Leandra Mara, Gustavo Honorato, Francisco Dantas Medeiros, Alessandro Garcia, Carlos Lucena | ||
| Pages: 65-66 | ||
| doi>10.1145/1960314.1960335 | ||
Full text: PDF
|
||
|
Hist-Inspect is a tool that allows the specification and evaluation of different configurations for detection strategies by means of a domain-specific language. The tool enables to easily adjust thresholds and combination of software metrics as well ...
expand
|
||
| Event-driven programming with EScala | ||
| Lucas Satabin, Mira Mezini | ||
| Pages: 67-68 | ||
| doi>10.1145/1960314.1960336 | ||
Full text: PDF
|
||
|
EScala is an extension of Scala with support for declarative event-driven programming. It provides mechanisms for declarative definition of events and employs aspect-oriented techniques for exposing implicitly existing events, which reduces the need ...
expand
|
||
| DEMONSTRATION SESSION: Demonstrations: session 2: demo track | ||
| Session details: Demonstrations: session 2: demo track | ||
| Nélio Cacho | ||
| doi>10.1145/3253052 | ||
| GenArch+: an extensible infrastructure for building framework-based software product lines | ||
| Elder Cirilo, Uirá Kulesza, Alessandro Garcia, Carlos Lucena | ||
| Pages: 69-70 | ||
| doi>10.1145/1960314.1960338 | ||
Full text: PDF
|
||
|
Software product line (SPL) engineering has been focused on tailor single products without programming new completion code. Systematic reuse as configuration potentially lead to significant gains but requires the configuration knowledge to be well conducted. ...
expand
|
||
| ReqSys: an eclipse plug-in for PL-AOVGraph and feature model mapping | ||
| Lidiane Oliveira dos Santos, Thais Vasconcelos Batista, Lyrene Fernandes da Silva | ||
| Pages: 71-72 | ||
| doi>10.1145/1960314.1960339 | ||
Full text: PDF
|
||
|
In this paper, we describe the features of the ReqSys tool, a tool to verify and map PL-AOVgraph models into feature models.
expand
|
||
| Proteum/AJ: a mutation system for AspectJ programs | ||
| Fabiano Cutigi Ferrari, Elisa Yumi Nakagawa, José Carlos Maldonado, Awais Rashid | ||
| Pages: 73-74 | ||
| doi>10.1145/1960314.1960340 | ||
Full text: PDF
|
||
|
Aspect-Oriented Programming (AOP) has introduced a complementary set of mechanisms which enhance the modularisation of crosscutting concerns. However, such mechanisms represent new potential sources of faults that may be systematically tackled with mutation ...
expand
|
||
| SESSION: Student research competition | ||
| Self-refining aspects for dynamic program analysis | ||
| Danilo Ansaloni | ||
| Pages: 75-76 | ||
| doi>10.1145/1960314.1960342 | ||
Full text: PDF
|
||
|
Accurate and efficient dynamic analysis tools are needed for understanding and improving performance of programs. However, such tools often produce perturbed and misleading results, since the inserted analysis code may interfere with runtime optimizations ...
expand
|
||
| Revealing architecturally-relevant flaws in aspectual decompositions | ||
| Isela Macia Bertran | ||
| Pages: 77-78 | ||
| doi>10.1145/1960314.1960343 | ||
Full text: PDF
|
||
|
Although aspect-oriented programming (AOP) aims to improve the software modularity, developers can unwittingly introduce code smells in their programs. Even though a few code smells for AOP have been reported in the literature, there is no evidence whether ...
expand
|
||
| Analyzing the effort on composing design models in industrial case studies | ||
| Kleinner Farias | ||
| Pages: 79-80 | ||
| doi>10.1145/1960314.1960344 | ||
Full text: PDF
|
||
|
The contributions of this research are briefly described as follows: an evaluation framework for model composition effort; practical knowledge about the values that the composition effort variables assume in realistic composition scenarios, i.e., the ...
expand
|
||
| Avoiding confusion with exception handling in aspect-oriented programming | ||
| Ismael Figueroa | ||
| Pages: 81-82 | ||
| doi>10.1145/1960314.1960345 | ||
Full text: PDF
|
||
| Towards a proper aspect-oriented model for distributed systems | ||
| Ismael Mejía | ||
| Pages: 83-84 | ||
| doi>10.1145/1960314.1960346 | ||
Full text: PDF
|
||
|
The adoption of Aspect Oriented Programming (AOP), and in general, of more sophisticated composition models is a recent trend in software engineering to address the problem of the correct modularization of cross-cutting concerns. However, most of these ...
expand
|
||
| On the proactive identification of mistakes on concern mapping tasks | ||
| Camila Nunes | ||
| Pages: 85-86 | ||
| doi>10.1145/1960314.1960347 | ||
Full text: PDF
|
||
| Exploiting modular access control for advanced policies | ||
| Rodolfo Toledo | ||
| Pages: 87-88 | ||
| doi>10.1145/1960314.1960348 | ||
Full text: PDF
|
||
|
In previous work we successfully modularized the Java access control architecture. The approach consists in expressing access control using restriction aspects scoped with an appropriate scoping strategy. In this work we briefly explore how restriction ...
expand
|
||