207,265 research outputs found
BARR-C:2018 and MISRA C:2012: Synergy Between the Two Most Widely Used C Coding Standards
The Barr Group's Embedded C Coding Standard (BARR-C:2018, which originates
from the 2009 Netrino's Embedded C Coding Standard) is, for coding standards
used by the embedded system industry, second only in popularity to MISRA C.
However, the choice between MISRA C:2012 and BARR-C:2018 needs not be a hard
decision since they are complementary in two quite different ways. On the one
hand, BARR-C:2018 has removed all the incompatibilities with respect to MISRA
C:2012 that were present in the previous edition (BARR-C:2013). As a result,
disregarding programming style, BARR-C:2018 defines a subset of C that, while
preventing a significant number of programming errors, is larger than the one
defined by MISRA C:2012. On the other hand, concerning programming style,
whereas MISRA C leaves this to individual organizations, BARR-C:2018 defines a
programming style aimed primarily at minimizing programming errors. As a
result, BARR-C:2018 can be seen as a first, dramatically useful step to C
language subsetting that is suitable for all kinds of projects; critical
projects can then evolve toward MISRA C:2012 compliance smoothly while
maintaining the BARR-C programming style. In this paper, we introduce
BARR-C:2018, we describe its relationship with MISRA C:2012, and we discuss the
parallel and serial adoption of the two coding standards.Comment: 14 pages, 1 figur
New Version of the AGRIS Web Portal – Overcoming the Digital Divide by Providing Rural Areas with Relevant Information
The present paper brings the outcomes of the second stage of a complex AGRIS web portal upgrade (technological, functional, content and design upgrade) called Agris 5.0. The Agris 5.0 version is recently being tested and will be launched in January 2012 on http://www.agris.cz. Agris 5.0 is built and runs on Microsoft technologies (MS Windows Server 2008, MS IIS 7 web server, MS SQL Server 2008 Enterprise Edition, SP2) using the Model-View-Controller (MVC) SW architectural pattern version 3, .NET framework 4, programming language C#, Razor template system, XML and XHTML 1.1 markup languages, CSS 2.1 styles and JavaScript encoding with the jQuery framework. From the user point of view, the Agris portal usability and availability meeting international standards were the utmost priority of the present upgrade.Agris, portal, MVC, digital divide, agrarian sector, rural areas, information resource., Agribusiness, Resource /Energy Economics and Policy, GA, IN,
The Design of the Fifth Answer Set Programming Competition
Answer Set Programming (ASP) is a well-established paradigm of declarative
programming that has been developed in the field of logic programming and
nonmonotonic reasoning. Advances in ASP solving technology are customarily
assessed in competition events, as it happens for other closely-related
problem-solving technologies like SAT/SMT, QBF, Planning and Scheduling. ASP
Competitions are (usually) biennial events; however, the Fifth ASP Competition
departs from tradition, in order to join the FLoC Olympic Games at the Vienna
Summer of Logic 2014, which is expected to be the largest event in the history
of logic. This edition of the ASP Competition series is jointly organized by
the University of Calabria (Italy), the Aalto University (Finland), and the
University of Genova (Italy), and is affiliated with the 30th International
Conference on Logic Programming (ICLP 2014). It features a completely
re-designed setup, with novelties involving the design of tracks, the scoring
schema, and the adherence to a fixed modeling language in order to push the
adoption of the ASP-Core-2 standard. Benchmark domains are taken from past
editions, and best system packages submitted in 2013 are compared with new
versions and solvers.
To appear in Theory and Practice of Logic Programming (TPLP).Comment: 10 page
Dynamically typed languages
Dynamically typed languages such as Python and Ruby have experienced a rapid grown in popularity in recent times. However, there is much confusion as to what makes these languages interesting relative to statically typed languages, and little knowledge of their rich history. In this chapter I explore the general topic of dynamically typed languages, how they differ from statically typed languages, their history, and their defining features
Programming Language Feature Agglomeration
Feature-creep is a well-known phenomenon in software systems. In this paper, we argue that feature-creep also occurs in the domain of programming languages. Recent languages are more expressive than earlier languages. However recent languages generally extend rather than replace the syntax (sometimes) and semantics (almost always) of earlier languages. We demonstrate this trend of agglomeration in a sequence of languages comprising Pascal, C, Java, and Scala. These are all block-structured Algol-derived languages, with earlier languages providing explicit inspiration for later ones. We present empirical evidence from several language-specific sources, including grammar definitions and canonical manuals. The evidence suggests that there is a trend of increasing complexity in modern languages that have evolved from earlier languages
Learn Physics by Programming in Haskell
We describe a method for deepening a student's understanding of basic physics
by asking the student to express physical ideas in a functional programming
language. The method is implemented in a second-year course in computational
physics at Lebanon Valley College. We argue that the structure of Newtonian
mechanics is clarified by its expression in a language (Haskell) that supports
higher-order functions, types, and type classes. In electromagnetic theory, the
type signatures of functions that calculate electric and magnetic fields
clearly express the functional dependency on the charge and current
distributions that produce the fields. Many of the ideas in basic physics are
well-captured by a type or a function.Comment: In Proceedings TFPIE 2014, arXiv:1412.473
A gentle transition from Java programming to Web Services using XML-RPC
Exposing students to leading edge vocational areas of relevance such as Web Services can be difficult. We show a lightweight approach by embedding a key component of Web Services within a Level 3 BSc module in Distributed Computing. We present a ready to use collection of lecture slides and student activities based on XML-RPC. In
addition we show that this material addresses the central topics in the context of web services as identified by Draganova (2003)
- …