Journal:Informatica
Volume 24, Issue 2 (2013), pp. 315–337
Abstract
We consider a generalization of heterogeneous meta-programs by (1) introducing an extra level of abstraction within the meta-program structure, and (2) meta-program transformations. We define basic terms, formalize transformation tasks, consider properties of meta-program transformations and rules to manage complexity through the following transformation processes: (1) reverse transformation, when a correct one-stage meta-program M1 is transformed into the equivalent two-stage meta-meta-program M2; (2) two-stage forward transformations, when M2 is transformed into a set of meta-programs, and each meta-program is transformed into a set of target programs. The results are as follows: (a) formalization of the transformation processes within the heterogeneous meta-programming paradigm; (b) introduction and approval of equivalent transformations of meta-programs into meta-meta-programs and vice versa; (c) introduction of metrics to evaluate complexity of meta-specifications. The results are approved by examples, theoretical reasoning and experiments.
Journal:Informatica
Volume 15, Issue 1 (2004), pp. 111–126
Abstract
We propose a layered Soft IP Customisation (SIPC) model for specifying and implementing system‐level soft IP design processes such as wrapping and customisation. The SIPC model has three layers: (1) Specification Layer for specification of a customisation process using UML class diagrams, (2) Generalisation Layer for representation of a customisation process using the metaprogramming techniques, and (3) Generation Layer for generation of the customised soft IP instances from metaspecifications. UML allows us to specify customisation of soft IPs at a high level of abstraction. Metaprogramming allows us to manage variability in a domain, develop generic domain components, and describe generation of customised component instances. The usage of the SIPC model eases and accelerates reuse, adaptation and integration of the pre‐designed soft IPs into new hardware designs.
Journal:Informatica
Volume 14, Issue 1 (2003), pp. 3–18
Abstract
We discuss the application of heterogeneous metaprogramming (MPG) for the interface‐based design, which deals with the synthesis of the communication interfaces between Intellectual Property components (IPs). Heterogeneous MPG is based on the simultaneous usage of a domain language for describing domain functionality and a metalanguage for developing generic components and program generators. We present a design framework based on the MPG techniques. The novelty of our approach is that we apply the concept of heterogeneous MPG for the automatic generation of IP wrappers for communication between the third‐party soft IPs systematically. We present a case study for the synthesis of the communication interfaces using a FIFO protocol.
Journal:Informatica
Volume 13, Issue 3 (2002), pp. 255–274
Abstract
We present an analysis of the separation of concerns in multi-language design and multi-language specifications. The basis for our analysis is the paradigm of the multi-dimensional separation of concerns, which claims that multiple dimensions of concerns in a design should be implemented independently. Multi-language specifications are specifications where different concerns of a design are implemented using separate languages as follows. (1) Target language(s) implement domain functionality. (2) External (or scripting, meta-) language(s) implement generalisation of the repetitive design features, introduce variations, and integrate components into a design. We present case studies and experimental results for the application of the multi-language specifications in hardware design.
Journal:Informatica
Volume 13, Issue 1 (2002), pp. 111–128
Abstract
In this paper, we analyze the abstractions used for developing component-based domain generators. These include programming paradigms, programming languages, component models, and generator architecture models. On the basis of the analysis, we present a unified relationship model between the domain content, technological factors (structuring, composition, and generalization), and domain architecture. We argue that this model is manifested in the known software generator models, too.
Journal:Informatica
Volume 11, Issue 3 (2000), pp. 325–348
Abstract
In this paper we suggest a three-language (3L) paradigm for building the program generator models. The basis of the paradigm is a relationship model of the specification, scripting and target languages. It is not necessary that all three languages would be the separate ones. We consider some internal relationship (roles) between the capabilities of a given language for specifying, scripting (gluing) and describing the domain functionality. We also assume that a target language is basic. We introduce domain architecture (functionality) with the generic components usually composed using the scripting and target languages. The specification language is for describing user's needs for the domain functionality to be extracted from the system. We present the framework for implementing the 3L paradigm and some results from the experimental systems developed for a validation of the approach.
Journal:Informatica
Volume 11, Issue 1 (2000), pp. 71–86
Abstract
We present the capabilities of the scripting language Open PROMOL and its processor. The intention of the language is to pre-program specifications for modifying programs written in a target language. We use its processor either as a tool for developing the stand-alone reusable components or as a “component-from-the-shelf” in generative tools for generating domain specific programs. The processor itself uses the module (lexical analyser and parser) produced by Lex & Yacc as a reusable component. We describe the generation, computation, control, parameterization and gluing capabilities of the language. We compare our approach with the similar approaches known in the literature.
Journal:Informatica
Volume 9, Issue 4 (1998), pp. 491–506
Abstract
This paper describes a method how to represent and build a reusable VHDL component. By that component we can, for example, describe a family of the relative VHDL models. To represent the component, we use external functions as a mechanism to support a pre-processing and perform the instantiation of the component. A user interface, the constituent of the reusable component, serves for transferring parameters for the instantiation. We deliver a formal syntax of the functions and examples of their semantics. We describe the design of the reusable component as a procedure of transferring of: a) the intrinsic characteristics for a given family of domain objects and b) features from a given VHDL model(s). Those features require to be re-coded and extended with new ones by means of the external functions introduced. To test a reusable component, we use pre-processing and modelling.
Journal:Informatica
Volume 7, Issue 3 (1996), pp. 389–405
Abstract
This paper presents the framework for well-understood domain analysis as a decisive stage for the successive process of domain-specific software tools building. Specific features of the well-understood domain analysis are formulated. Initial model of the tools to be built and the analysis process are described. Analysis is performed with the reusability concept in mind and as a result essential domain knowledge is extracted. The latter is defined by a term “domain knowledge template”.
Journal:Informatica
Volume 4, Issues 3-4 (1993), pp. 384–398
Abstract
The configuration and essential features of the Computer-Aided Test Program Design System (CATPDS) which generates test programs in an adapted ATLAS subset for analogue units under test are discussed. The requirements for that class of systems are formulated and how to meet these requirements is proposed. The formal model to describe the process of an interactive test program generation and incremental translation is presented.