Repository logo
 
Loading...
Profile Picture

Search Results

Now showing 1 - 9 of 9
  • Program comprehension for domain-specific languages
    Publication . Pereira, Maria João; Mernik, Marjan; Cruz, Daniela; Henriques, Pedro Rangel
    In the past, we have been looking for program comprehension tools that are able to interconnect operational and behavioral views, aiming at aiding the software analyst to relate problem and program domains in order to reach a full understanding of software systems. In this paper we are concerned with Program Comprehension issues applied to Domain Specific Languages (DSLs). We are now willing to understand how techniques and tools for the comprehension of traditional programming languages fit in the understanding of DSLs. Being the language tailored for the description of problems in a specific domain, we believe that specific visualizations (at a higher abstraction level, closer to the problem level) could and should be defined to enhance the comprehension of the descriptions in that particular domain.
  • Tool-supported building of DSLs from OWL ontologies
    Publication . Ceh, Ines; Crepinsek, Matej; Kosar, Tomaz; Mernik, Marjan; Henriques, Pedro Rangel; Pereira, Maria João; Cruz, Daniela; Oliveira, Nuno
    Domain-specific languages (DSLs) are computer languages intended for problem solving in a specific domain. Ontology is a formal representation of a set of concepts from a particular domain and the relations between them. An ontology may be used to describe a domain and to reason about the entities within the domain. This paper presents an Ontology2DSL framework to build DSLs from OWL ontologies. Ontology2DSL enables the semi-automated construction of a formal grammar and programs from an OWL ontology. The design approach, the functionalities of the framework, and a case study are also addressed in this paper. Special attention is paid to the architecture that encompasses the following components: the transformation pattern builder, the OWL parser, the rule reader, the rule execution component and the transaction logger.
  • Influence of domain-specific notation to program understanding
    Publication . Kosar, Tomaz; Mernik, Marjan; Crepinsek, Matej; Henriques, Pedro Rangel; Cruz, Daniela; Pereira, Maria João; Oliveira, Nuno
    Application libraries are the most commonly used implementation approach to solve problems in general-purpose languages. Their competitors are domain-specific languages, which can provide notation close to the problem domain. We carried out an empirical study on comparing domain-specific languages and application libraries regarding program understanding. In this paper, one case study is presented. Over 3000 lines of code were studied and more than 86 pages long questionnaires were answered by end-users, answering questions on learning, perceiving and evolving programs written in domain specific language as well as general-purpose language using application library. In this paper, we present comparison results on end-users’ correctness and consumed time. For domain specific language and application library same problem domain has been used – a well-known open source graph description language, DOT.
  • Domain specific languages: a theoretical survey
    Publication . Oliveira, Nuno; Pereira, Maria João; Henriques, Pedro Rangel; Cruz, Daniela
    Domain-Specific Languages (DSLs ) are characterized by a set of attributes that make them different and easy to use when compared to General purpose Programming Languages (GPLs ). The fact of being tailored for a specific domain rises many advantages on their usage, however special care must be put in their conception and implementation. The purpose of this paper is to provide a survey on DSLs , enhancing their characteristics that make clear the advantages and disadvantages of their usage and make challenging their implementation. We also focus on the development methodologies that have been used to create the thousands of DSLs that exist today, which are a powerful alternative to GPLs .
  • A DSL for PIM specifications: design and attribute grammar based implementation
    Publication . Lukovic, Ivan; Pereira, Maria João; Oliveira, Nuno; Cruz, Daniela; Henriques, Pedro Rangel
    IIS*Case is a model driven software tool that provides information system modeling and prototype generation. It comprises visual and repository based tools for creating various platform independent model (PIM) specifications that are latter transformed into the other, platform specific specifications, and finally to executable programs. Apart from having PIMs stored as repository definitions, we need to have their equivalent representation in the form of a domain specific language. One of the main reasons for this is to allow for checking the formal correctness of PIMs being created. In the paper, we present such a meta-language, named IIS*CDesLang. IIS*CDesLang is specified by an attribute grammar (AG), created under a visual programming environment for AG specifications, named VisualLISA
  • Applying program comprehension techniques to Karel robot programs
    Publication . Oliveira, Nuno; Henriques, Pedro Rangel; Cruz, Daniela; Pereira, Maria João; Mernik, Marjan; Kosar, Tomaz; Crepinsek, Matej
    Abstract—In the context of program understanding, a challenge research topic1 is to learn how techniques and tools for the comprehension of General-Purpose Languages (GPLs) can be used or adjusted to the understanding of Domain-Specific Languages (DSLs). Being DSLs tailored for the description of problems within a specific domain, it becomes easier to improve these tools with specific visualizations (at a higher abstraction level, closer to the problem level) in order to understand the DSLs programs. In this paper, comprehension techniques will be applied to Karel language. This will allow us to explore the creation of problem domain visualizations for this language and to combine both problem and program domains in order to reach a full understanding of Karel programs.
  • An attribute grammar specification of IIS*Case PIM concepts
    Publication . Lukovic, Ivan; Pereira, Maria João; Oliveira, Nuno; Cruz, Daniela; Henriques, Pedro Rangel
    IIS*Case is a model driven software tool that provides information system modeling and prototypes generation. It comprises visual and repository based tools for creating various platform independent model (PIM) specifications that are latter transformed into the other, platform specific specifications, and finally to executable programs. Apart from having PIMs stored as repository definitions, we need to have their equivalent representation in the form of a domain specific language. One of the main reasons for this is to allow for checking the formal correctness of PIMs being created. In the paper, we present such a meta-language, named IIS*CDesLang. IIS*CDesLang is specified by an attribute grammar (AG), created under a visual programming environment for AG specifications, named VisualLISA.
  • Comparison of XAML and C# frorms using cognitive dimensions framework
    Publication . Mernik, Marjan; Kosar, Tomaz; Crepinsek, Matej; Henriques, Pedro Rangel; Cruz, Daniela; Pereira, Maria João; Oliveira, Nuno
    Many domain-specific languages arise in the past years, trying to bring feasible alternatives for existing solutions with purpose to simplify programmers work. Although these little languages seem to be easier to use, there is an open issue whether they bring advantages comparing to most commonly used implementation approach, application libraries. In this work we present an experiment, carried out to compare such domain-specific language with comparable application library. The experiment was conducted with 36 programmers, which were answering questions on more than 100 long pages on both implementation approaches. For domain-specific language and application library the same problem domain has been used { construction of graphical user interfaces. In terms of domain-specific language, XAML has been used and C# Forms for application library. For comparison of XAML and C# Forms cognitive dimension framework has been used.
  • Choosing grammars to support language processing courses
    Publication . Pereira, Maria João; Oliveira, Nuno; Cruz, Daniela; Henriques, Pedro Rangel
    Teaching Language Processing courses is a hard task. The level of abstraction inherent to some of the basic concepts in the area and the technical skills required to implement efficient processors are responsible for the number of students that do not learn the subject and do not succeed to finish the course. In this paper we intend to list the main concepts involved in Language Processing subject, and identify the skills required to learn them. In this context, it is feasible to identify the difficulties that lead students to fail. This enables us to suggest some pragmatic ways to overcome those troubles. We will focus on the grammars suitable to motivate students and help them to learn easily the basic concepts. After identifying the characteristics of such grammars, some examples are presented to make concrete and clear our proposal. The contribution of this paper is the systematic way we approach the process of teaching Language Processing courses towards a successful learning activity.