11,955 research outputs found
Higher-Order Attribute Semantics of Flat Declarative Languages
A technique is described that provides a convenient instrument for implementation of semantics of simple declarative languages called flat languages. Semantics of a specification is defined in the paper as a set of programs derivable for solvable goals. We introduce higher-order attribute models that include more control information than conventional attribute models and explain the algorithm for dynamic evaluation of attributes on these models. A visual tool CoCoViLa is briefly described as an instrument for implementing attribute semantics of flat languages
A Visual Notation for Declarative Behaviour Specification
Logical programming has many merits that should appeal to modellers. It enables declarative specifications that are free from implementation details and even (mostly) abstracts away from control flow specification. However, the textual syntax of, for example PROLOG, most likely represents a barrier to the adoption of such languages in the modelling community. The visual notation presented in this paper aims to facilitate the understanding of behaviour specifications based on logic programming. I anticipate that the dataflow-like nature of the resulting diagrams will appeal to modellers. I believe the visual notation to be an improvement over the traditional textual syntax for the purpose of specifying PROLOG programs as such, but the ultimate hope is to have found a vehicle to make declarative logic programming a commonplace activity in multi-paradigm modelling
Declarative Specification
Deriving formal specifications from informal requirements is extremely difficult since one has to overcome the conceptual gap between an application domain and the domain of formal specification methods. To reduce this gap we introduce application-specific specification languages, i.e., graphical and textual notations that can be unambiguously mapped to formal specifications in a logic language. We describe a number of realised approaches based on this idea, and evaluate them with respect to their domain specificity vs. generalit
Declarative Ajax Web Applications through SQL++ on a Unified Application State
Implementing even a conceptually simple web application requires an
inordinate amount of time. FORWARD addresses three problems that reduce
developer productivity: (a) Impedance mismatch across the multiple languages
used at different tiers of the application architecture. (b) Distributed data
access across the multiple data sources of the application (SQL database, user
input of the browser page, session data in the application server, etc). (c)
Asynchronous, incremental modification of the pages, as performed by Ajax
actions.
FORWARD belongs to a novel family of web application frameworks that attack
impedance mismatch by offering a single unifying language. FORWARD's language
is SQL++, a minimally extended SQL. FORWARD's architecture is based on two
novel cornerstones: (a) A Unified Application State (UAS), which is a virtual
database over the multiple data sources. The UAS is accessed via distributed
SQL++ queries, therefore resolving the distributed data access problem. (b)
Declarative page specifications, which treat the data displayed by pages as
rendered SQL++ page queries. The resulting pages are automatically
incrementally modified by FORWARD. User input on the page becomes part of the
UAS.
We show that SQL++ captures the semi-structured nature of web pages and
subsumes the data models of two important data sources of the UAS: SQL
databases and JavaScript components. We show that simple markup is sufficient
for creating Ajax displays and for modeling user input on the page as UAS data
sources. Finally, we discuss the page specification syntax and semantics that
are needed in order to avoid race conditions and conflicts between the user
input and the automated Ajax page modifications.
FORWARD has been used in the development of eight commercial and academic
applications. An alpha-release web-based IDE (itself built in FORWARD) enables
development in the cloud.Comment: Proceedings of the 14th International Symposium on Database
Programming Languages (DBPL 2013), August 30, 2013, Riva del Garda, Trento,
Ital
VERTO: a visual notation for declarative process models
Declarative approaches to business process modeling allow to represent loosely-structured
(declarative) processes in flexible scenarios as a set of constraints on the allowed flow of
activities. However, current graphical notations for declarative processes are difficult to
interpret. As a consequence, this has affected widespread usage of such notations, by
increasing the dependency on experts to understand their semantics. In this paper, we
tackle this issue by introducing a novel visual declarative notation targeted to a more
understandable modeling of declarative processes
Automated verification of model transformations based on visual contracts
The final publication is available at Springer via http://dx.doi.org/10.1007/s10515-012-0102-yModel-Driven Engineering promotes the use of models to conduct the different phases of the software development. In this way, models are transformed between different languages and notations until code is generated for the final application. Hence, the construction of correct Model-to-Model (M2M) transformations becomes a crucial aspect in this approach.
Even though many languages and tools have been proposed to build and execute M2M transformations, there is scarce support to specify correctness requirements for such transformations in an implementation-independent way, i.e., irrespective of the actual transformation language used.
In this paper we fill this gap by proposing a declarative language for the specification of visual contracts, enabling the verification of transformations defined with any transformation language. The verification is performed by compiling the contracts into QVT to detect disconformities of transformation results with respect to the contracts. As a proof of concept, we also report on a graphical modeling environment for the specification of contracts, and on its use for the verification of transformations in several case studies.This work has been funded by the Austrian Science Fund (FWF) under grant P21374-N13,
the Spanish Ministry of Science under grants TIN2008-02081 and TIN2011-24139, and the
R&D programme of the Madrid Region under project S2009/TIC-1650
- …