English
Related papers

Related papers: Designing Modular Software: A Case Study in Introd…

200 papers

Most modern software systems (operating systems like Linux or Android, Web browsers like Firefox or Chrome, video encoders like ffmpeg, x264 or VLC, mobile and cloud applications, etc.) are highly-configurable. Hundreds of configuration…

Software Engineering · Computer Science 2019-06-10 Juliana Alves Pereira , Hugo Martin , Mathieu Acher , Jean-Marc Jézéquel , Goetz Botterweck , Anthony Ventresque

This report introduces Juno, a modular Python package for optical design and simulation. Juno consists of a complete library that includes a graphical user interface to design and visualise arbitrary optical elements, set up wave…

Instrumentation and Detectors · Physics 2022-12-27 David Dierickx , Patrick Cleeve , Sergey Gorelick , James C. Whisstock , Alex De Marco

Innovation and entrepreneurship have a very special role to play in creating sustainable development in the world. Engineering design plays a major role in innovation. These are not new facts. However this added to the fact that in current…

Software Engineering · Computer Science 2017-05-26 Amit Kumar Mishra

When programming resource-scarce embedded smart devices, the designer often requires both the low-level system programming features of a language such as C and higher level capability typical of a language like Java. The choice of a…

Programming Languages · Computer Science 2019-10-09 Vincenzo De Florio , Chris Blondia

Reversibility is a key issue in the interface between computation and physics, and of growing importance as miniaturization progresses towards its physical limits. Most foundational work on reversible computing to date has focussed on…

Logic in Computer Science · Computer Science 2011-12-01 Samson Abramsky

This paper introduces a conceptual, yet quantifiable, architecture framework by extending the notion of system modularity in its broadest sense. Acknowledging that modularity is not a binary feature and comes in various types and levels,…

Systems and Control · Computer Science 2016-08-05 Babak Heydari , Mohsen Mosleh , Kia Dalili

Program synthesis is a class of regression problems where one seeks a solution, in the form of a source-code program, mapping the inputs to their corresponding outputs exactly. Due to its precise and combinatorial nature, program synthesis…

Artificial Intelligence · Computer Science 2018-06-08 Yewen Pu , Zachery Miranda , Armando Solar-Lezama , Leslie Pack Kaelbling

Current autonomic computing systems are ad hoc solutions that are designed and implemented from the scratch. When designing software, in most cases two or more patterns are to be composed to solve a bigger problem. A composite design…

Software Engineering · Computer Science 2012-09-11 Vishnuvardhan Mannava , T. Ramesh

This paper presents SAM, a modular and extensible JavaScript framework for self-adapting menus on webpages. SAM allows control of two elementary aspects for adapting web menus: (1) the target policy, which assigns scores to menu items for…

Human-Computer Interaction · Computer Science 2019-01-25 Camille Gobert , Kashyap Todi , Gilles Bailly , Antti Oulasvirta

Successful programs are written to be maintained. One aspect to this is that programmers order the components in the code files in a particular way. This is part of programming style. While the conventions for ordering are sometimes given…

Software Engineering · Computer Science 2017-07-24 Steven P. Reiss , Qi Xin

Although microservices have physically isolated modules, they have failed to prevent the propagation and diffusion of dependencies. To trace the root cause of the inter-module coupling, this paper, starting from the impact assessment…

Software Engineering · Computer Science 2025-11-12 Qing Wang , Yong Zhang

Nonlinear programming targets nonlinear optimization with constraints, which is a generic yet complex methodology involving humans for problem modeling and algorithms for problem solving. We address the particularly hard challenge of…

Robotics · Computer Science 2021-01-29 David Hägele , Moataz Abdelaal , Ozgur S. Oguz , Marc Toussaint , Daniel Weiskopf

Distributed programs are hard to get right because they are required to be open, scalable, long-running, and tolerant to faults. In particular, the recent approaches to distributed software based on (micro-)services where different services…

Programming Languages · Computer Science 2017-08-25 Ian Cassar , Adrian Francalanza , Claudio Antares Mezzina , Emilio Tuosto

Constraint programming is used for a variety of real-world optimisation problems, such as planning, scheduling and resource allocation problems. At the same time, one continuously gathers vast amounts of data about these problems. Current…

The rapid evolution of technology has transformed business operations and customer interactions worldwide, with personalization emerging as a key opportunity for e-commerce companies to engage customers more effectively. The application of…

Machine Learning · Computer Science 2024-08-27 Miguel Alves Gomes , Philipp Meisen , Tobias Meisen

The modular technology of creation of the problem-oriented extensions of a CAD system is described, which was realised in a system TechnoCAD GlassX for designing of reconstruction of the plants. The modularity of the technology is expressed…

Computational Engineering, Finance, and Science · Computer Science 2007-05-23 Vladimir V. Migunov

Machine learning (ML) components are being added to more and more critical and impactful software systems, but the software development process of real-world production systems from prototyped ML models remains challenging with additional…

Software Engineering · Computer Science 2024-05-07 Jie JW Wu

Software systems are increasingly making decisions on behalf of humans, raising concerns about the fairness of such decisions. Such concerns are usually attributed to flaws in algorithmic design or biased data, but we argue that they are…

Software Engineering · Computer Science 2021-04-09 Ali Farahani , Liliana Pasquale , Amel Bennaceur , Thomas Welsh , Bashar Nuseibeh

This paper concerns the development of metatheory for extensible languages. It uses as its starting point a view that programming languages tailored to specific application domains are to be constructed by composing components from an open…

Programming Languages · Computer Science 2023-12-25 Dawn Michaelson , Gopalan Nadathur , Eric Van Wyk

In imperative programming, the Domain-Driven Design methodology helps in coping with the complexity of software development by materializing in code the invariants of a domain of interest. Code is cleaner and more secure because any…

Artificial Intelligence · Computer Science 2023-07-14 Mario Alviano , Giovambattista Ianni , Francesco Pacenza , Jessica Zangari