Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Non-intrusive object introspection in C++: architecture and application
Proceedings of the 20th international conference on Software engineering
Communications of the ACM
Interoperability as a design issue in C++ based modeling environments
Proceedings of the 14th international symposium on Systems synthesis
Component-based design approach for multicore SoCs
Proceedings of the 39th annual Design Automation Conference
Using a Programming Language for Digital System Design
IEEE Design & Test
Colif: A Design Representation for Application-Specific Multiprocessor SOCs
IEEE Design & Test
Automating the Design of SOCs Using Cores
IEEE Design & Test
An Environment for Dynamic Component Composition for Efficient Co-Design
Proceedings of the conference on Design, automation and test in Europe
ESys.Net: a new solution for embedded systems modeling and simulation
Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Structural component composition for system-level models
Formal methods and models for system design
A new efficient EDA tool design methodology
ACM Transactions on Embedded Computing Systems (TECS)
Dynamic Electronic Design Automation concept, benefit and framework
Proceedings of the 2nd International Conference on Interaction Sciences: Information Technology, Culture and Human
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
ReuseTool-An extensible tool support for object-oriented framework reuse
Journal of Systems and Software
Proceedings of the 50th Annual Design Automation Conference
Building an HLA-Based Distributed Simulation: A Metadata Approach
DS-RT '13 Proceedings of the 2013 IEEE/ACM 17th International Symposium on Distributed Simulation and Real Time Applications
Hi-index | 0.00 |
Reflection and automated introspection of a design in system level design frameworks are seen as necessities for the CAD tools to manipulate the designs within the tools. These features are also useful for debuggers, class and object browsers, design analyzers, composition validation, type checking, compatibility checking, etc. However, the central question is whether such features should be integrated into the language, or if we should build frameworks which feature these capabilities in a meta-layer, leaving the system-level language intact. In our recent interactions with designers, we have found differing opinions. Especially in the context of SystemC, the temptation to integrate reflective APIs into the language is great, because C++ is expressive, and already has type introspective packages available. In this paper, we analyze this issue and show that (i) it is a better EDA system architecture to implement reflection/introspection at a meta-layer in a design framework (ii) there are relatively unexplored territories of design automation, such as behavioral typing of component interfaces, corresponding type-theory, and their implication in automating component composition, interface synthesis, and validation, which can be better incorporated if the introspection is implemented at a meta-layer.