Browsing by Author "Oliveira, Nuno"
Now showing 1 - 10 of 20
Results Per Page
Sort Options
- An attribute grammar specification of IIS*Case PIM conceptsPublication . Lukovic, Ivan; Pereira, Maria João; Oliveira, Nuno; Cruz, Daniela; Henriques, Pedro RangelIIS*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.
- An effective way to teach language processing coursesPublication . Pereira, Maria João; Oliveira, Nuno; Cruz, Daniela; Henriques, Pedro RangelIn this chapter we identify the difficulties that lead students of Language Processing (LP) courses to fail. All of us that teach Language Processing topics are aware of the complexity of this task; we know that a great part of the students will face big difficulties inherent to the level of abstraction associated with some of the basic concepts in the area, and to the technical capacities required to implement efficient processors. A key issue that we have identified along the years we are teaching Language Processing courses is the lack of students’ motivation to learn the main topics. This issue is something that we want to overcome with our proposal. A starting point for this research is to identify the main concepts involved in Language Processing subject, and to understand the skills required to learn them. Considering that a person just learns when is involved in a process we argue that motivation is a crucial factor to engage students in the course work allowing them to achieve the required knowledge acquisition. We will state that motivation is highly dependent on the languages used to work on during the course. So, we discuss the characteristics that a language should have to be a motivating case study. We think that LP teachers should be very careful in their choices and be astute in the way they explore the underlying grammars along the course evolution.
- Applying program comprehension techniques to Karel robot programsPublication . Oliveira, Nuno; Henriques, Pedro Rangel; Cruz, Daniela; Pereira, Maria João; Mernik, Marjan; Kosar, Tomaz; Crepinsek, MatejAbstract—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.
- Choosing grammars to support language processing coursesPublication . Pereira, Maria João; Oliveira, Nuno; Cruz, Daniela; Henriques, Pedro RangelTeaching 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.
- Comparing general-purpose and domain-specific languages: an empirical studyPublication . Kosar, Tomaz; Oliveira, Nuno; Mernik, Marjan; Pereira, Maria João; Crepinsek, Matej; Cruz, Daniela; Henriques, Pedro RangelMany domain-specific languages, that try to bring feasible alternatives for existing solutions while simplifying programming work, have come up in recent years. Although, these little languages seem to be easy to use, there is an open issue whether they bring advantages in comparison to the application libraries, which are the most commonly used implementation approach. In this work, we present an experiment, which was carried out to compare such a domain-specific language with a comparable application library. The experiment was conducted with 36 programmers, who have answered a questionnaire on both implementation approaches. The questionnaire is more than 100 pages long. For a domain-specific language and the application library, the same problem domain has been used – construction of graphical user interfaces. In terms of a domain-specific language, XAML has been used and C# Forms for the application library. A cognitive dimension framework has been used for a comparison between XAML and C# Forms.
- Comparison of XAML and C# frorms using cognitive dimensions frameworkPublication . Mernik, Marjan; Kosar, Tomaz; Crepinsek, Matej; Henriques, Pedro Rangel; Cruz, Daniela; Pereira, Maria João; Oliveira, NunoMany 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.
- Domain specific languages: a theoretical surveyPublication . Oliveira, Nuno; Pereira, Maria João; Henriques, Pedro Rangel; Cruz, DanielaDomain-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 implementationPublication . Lukovic, Ivan; Pereira, Maria João; Oliveira, Nuno; Cruz, Daniela; Henriques, Pedro RangelIIS*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
- Influence of domain-specific notation to program understandingPublication . Kosar, Tomaz; Mernik, Marjan; Crepinsek, Matej; Henriques, Pedro Rangel; Cruz, Daniela; Pereira, Maria João; Oliveira, NunoApplication 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.
- Influence of synchronized domain visualizations on program comprehensionPublication . Oliveira, Nuno; Pereira, Maria João; Cruz, Daniela; Berón, MarioAn effective program comprehension is reached when it is possible to view and relate what happens when the program is executed, synchronized with its effects in the real world concepts. This enables the interconnection of program’s meaning at both problem and program domains. To sustain this statement we need (i) to develop a tool which provides and synchronizes views at both domains, and (ii) to perform an experiment to measure the actual impact of this approach. So, in this working session we aim at discussing the benefits of providing synchronized domain visualizations. We also envisage to discuss the preparation and conduction of appropriate experiments that will test that benefits. A case study will be used and the discussion will be supported by experimental material specially prepared for the occasion, but adapted from material already used in previous experiments.
