scholarly journals Procedural Code Generation vs Static Expansion in Modelling Languages for Constraint Programming

Author(s):  
Julien Martin ◽  
Thierry Martinez ◽  
François Fages
2020 ◽  
Author(s):  
Marcelo Barros de Azevedo Vieira ◽  
Sérgio Teixeira Carvalho ◽  
Fabio Moreira Costa ◽  
David Bromberg

Recent years have seen the inception of many domain-specific modelling languages, enabling to overcome some of the main difficulties found in software development. The use of models has a particular impact on the implementation phase, as models tend to be closer to the problems to be solved than code. This paves the way to enable application construction by non-experts in software development, such as domain specialists. In this paper, we exploit the use of models in the domain of real-time communication, which poses significant challenges for application construction due to the multitude and intricacy of the technologies involved. We propose RBCML, a communication modelling language for the high-level specification of real-time communication sessions based on the roles that users play in the sessions. The language is processed using a combination of partial code generation and dynamic model interpretation, resulting in the construction of fully functional communication applications. The paper describes RBCML and its implementation on top of W3C’s Web Real-Time Communication protocols (WebRTC). An evaluation is presented to compare the use of RBCML with code-based development and to characterize the performance of communication session establishment using the language.


Electronics ◽  
2021 ◽  
Vol 10 (7) ◽  
pp. 814
Author(s):  
Guerric Chupin ◽  
Henrik Nilsson

Non-causal modelling is a powerful approach to modelling physical systems in a variety of domains from science and engineering. Non-causal modelling languages enable a high-level and modular approach to modelling. However, it is hard to compile non-causal languages modularly (in the sense of separate compilation). This causes difficulties when simulating large models for which code generation takes a long time, or structurally singular models in which parts of the model are allowed to change at runtime. In this work, we introduce a technique we call order-parametric differentiation to allow truly modular compilation. The idea is to generate (machine) code that can compute derivatives of any order of an expression as needed, thus allowing for ahead-of-time modular compilation of a hybrid non-causal language. We also develop a compilation scheme that enables using partial models as first-class objects in a seamless way and simulating them without the need for just-in-time compilation, even in the presence of structural dynamism. We present a performance evaluation of the scheme we used and study its shortcomings and possible improvements, demonstrating that it is a feasible complement to existing implementation techniques for cases where true modular compilation is a primary objective.


10.29007/b4dz ◽  
2018 ◽  
Author(s):  
Nicolas Beldiceanu ◽  
Mats Carlsson ◽  
Pierre Flener ◽  
Xavier Lorca ◽  
Justin Pearson ◽  
...  

Some constraint programming solvers and constraint modelling languages feature the SORT(L,P,S) constraint, which holds if S is a nondecreasing rearrangement of the list L, the permutation being made explicit by the optional list P. However, such sortedness constraints do not seem to be used much in practice. We argue that reasons for this neglect are that it is impossible to require the underlying sort to be stable, so that SORT cannot be guaranteed to be a total-function constraint, and that L cannot contain tuples of variables, some of which form the key for the sort. To overcome these limitations, we introduce the StableKeysort constraint, decompose it using existing constraints, and propose a propagator. This new constraint enables a powerful modelling idiom, which we illustrate by elegant and scalable models of two problems that are otherwise hard to encode as constraint programs.


2019 ◽  
Vol 9 (3) ◽  
pp. 376 ◽  
Author(s):  
Krzysztof Pietrusewicz

The paper presents the issue of metamodeling of Domain-Specific Languages (DSL) for the purpose of designing complex mechatronics systems. Usually, one of the problems during the development of such projects is an interdisciplinary character of the team that is involved in this endeavour. The success of a complex machine project (e.g. Computer Numerically Controlled machine (CNC), loading crane, forestry crane) often depends on a proper communication between team members. The domain-specific modelling languages developed using one of the two approaches discussed in the work, lead to a machine design that can be carried out much more efficiently than with conventional approaches. Within the paper, the Meta-Object Facility (MOF) approach to metamodeling is presented; it is much more prevalent in modern modelling software tools than Graph-Object-Property-Relationship-Role (GOPRR). The main outcome of this work is the first presentation of researchML modelling language that is the result of more than twenty ambitious research and development projects. It is effectively used within new enterprises and leads to improved traceability of the project goals. It enables for fully-featured automatic code generation which is one of the main pillars of the agile management within mechatronic system design projects.


2016 ◽  
Vol 2 ◽  
pp. e54 ◽  
Author(s):  
Dragan D. Nikolić

In this work, DAE Tools modelling, simulation and optimisation software, its programming paradigms and main features are presented. The current approaches to mathematical modelling such as the use of modelling languages and general-purpose programming languages are analysed. The common set of capabilities required by the typical simulation software are discussed, and the shortcomings of the current approaches recognised. A new hybrid approach is introduced, and the modelling languages and the hybrid approach are compared in terms of the grammar, compiler, parser and interpreter requirements, maintainability and portability. The most important characteristics of the new approach are discussed, such as: (1) support for the runtime model generation; (2) support for the runtime simulation set-up; (3) support for complex runtime operating procedures; (4) interoperability with the third party software packages (i.e. NumPy/SciPy); (5) suitability for embedding and use as a web application or software as a service; and (6) code-generation, model exchange and co-simulation capabilities. The benefits of an equation-based approach to modelling, implemented in a fourth generation object-oriented general purpose programming language such as Python are discussed. The architecture and the software implementation details as well as the type of problems that can be solved using DAE Tools software are described. Finally, some applications of the software at different levels of abstraction are presented, and its embedding capabilities and suitability for use as a software as a service is demonstrated.


2010 ◽  
Vol 130 (2) ◽  
pp. 332-342 ◽  
Author(s):  
Shuichiro Sakikawa ◽  
Tatsuhiro Sato ◽  
Toyohisa Morita ◽  
Kenji Ohta

Author(s):  
Masashi TAWADA ◽  
Shinji KIMURA ◽  
Masao YANAGISAWA ◽  
Nozomu TOGAWA

2019 ◽  
Vol 7 (5) ◽  
pp. 824-828
Author(s):  
Anaswara Venunadh ◽  
Shruthi N ◽  
Mannar Mannan

Sign in / Sign up

Export Citation Format

Share Document