31 research outputs found
Recognizing design patterns in C++ programs with the integration of Columbus and Maisa
A method for recognizing design patterns from C++ programs is presented. The method consists of two separate phases, analysis and reverse engineering of the C++ code, and architectural pattern matching over the reverse-engineered intermediate code representation. It is shown how the pattern recognition effect can be realized by integrating two specialized software tools, the reverse engineering framework Columbus and the architectural metrics analyzer Maisa. The method and the integrated power of the tool set are illustrated with small experiments
Älypotkupuvuista saunasensoreihin – terveys- ja hyvinvointiteknologiaa moniammatillisesti
Dependency-Based Groundness Analysis of Functional Logic Programs
Many Prolog systems offer the facility of calling external functions written in non-logic programming languages. A basic requirement is often that the arguments of the functions must be ground at invocation time, otherwise an error is reported, or the call is delayed until the arguments are sufficiently instantiated. The drawback of the latter method is twofold: (1) the arguments might never be instantiated, and (2) the dynamic checks used by the delaying mechanism are expensive. This paper presents a method, which for a given program identifies a class of atomic goals for which (1) will not occur. Moreover, we describe a method for transforming a program into an equivalent program, for which dynamic delays are avoided. 1 Introduction In many Prolog systems, pure logic programs are enriched with mechanisms for invocation of built-in arithmetic and procedures written in non-logic programming languages (like C). This is very useful, or even necessary, for writing realistic programs. Ho..