5,886 research outputs found
Overview on agent-based social modelling and the use of formal languages
Transdisciplinary Models and Applications investigates a variety of programming languages used in validating and verifying models in order to assist in their eventual implementation. This book will explore different methods of evaluating and formalizing simulation models, enabling computer and industrial engineers, mathematicians, and students working with computer simulations to thoroughly understand the progression from simulation to product, improving the overall effectiveness of modeling systems.Postprint (author's final draft
An integrated approach to courseware
Software engineering is becoming increasingly important as an engineering discipline, and its teaching in universities and other higher education institutions should be of high quality. In this paper we describe a tool (BOSS — the Boss Online Submission System) which aids the education of software engineers. BOSS allows students to submit programming assignments online, and to run black-box tests on their programs prior to submission. Instructors can use BOSS to assist in marking such assignments by allowing submitted programs to be tested against multiple data sets. We describe how BOSS helps in the teaching of specific conceptual aspects of software engineering, and how it addresses some of the practical issues involved in teaching large student numbers in a pedagogically neutral manner
An Exercise in Invariant-based Programming with Interactive and Automatic Theorem Prover Support
Invariant-Based Programming (IBP) is a diagram-based correct-by-construction
programming methodology in which the program is structured around the
invariants, which are additionally formulated before the actual code. Socos is
a program construction and verification environment built specifically to
support IBP. The front-end to Socos is a graphical diagram editor, allowing the
programmer to construct invariant-based programs and check their correctness.
The back-end component of Socos, the program checker, computes the verification
conditions of the program and tries to prove them automatically. It uses the
theorem prover PVS and the SMT solver Yices to discharge as many of the
verification conditions as possible without user interaction. In this paper, we
first describe the Socos environment from a user and systems level perspective;
we then exemplify the IBP workflow by building a verified implementation of
heapsort in Socos. The case study highlights the role of both automatic and
interactive theorem proving in three sequential stages of the IBP workflow:
developing the background theory, formulating the program specification and
invariants, and proving the correctness of the final implementation.Comment: In Proceedings THedu'11, arXiv:1202.453
A Web-Integrated Environment for Component-Based Software Reasoning
This thesis presents the Web IDE, a web-integrated environment for component-based software reasoning. The Web IDE is specifically tailored to emphasize the relationships among various components in component-based software engineering (CBSE) and to facilitate reasoning. It allows students to use RESOLVE, a component-based, integrated specification and programming language, to build components and systems, providing real-time feedback that can be used to reason about the correctness of their component implementations. Real-time interaction and relationship focused component presentation reinforces CBSE and reasoning principles in a way not possible with traditional programming exercises and file management systems. The Web IDE has gone through several stages of development, getting feedback from users and adding new functionality at each step. It has kept pace with web browser development by incorporating bowser features, such as the file API and local storage, to provide enhanced functionality to users. Several undergraduate software engineering courses at Clemson and elsewhere have successfully used the Web IDE for both reasoning and team-based component development exercises, demonstrating the robust and useful nature of the Web IDE
Implementation Analysis Of The Out-Of-School Children Handling Program In Kembangan Village, Bukateja Sub District, Purbalingga District, Central Java Province
The Village SDGs program is a national program adopted from the global SDGs to build a progressive and sustainable Indonesia starting from the village. To achieve the success of the 18 Village MDGs, Indonesia has developed 8 programs in strategic areas, namely poverty and hunger management, economy, health, environment, education, gender, networking, and cultural development. In the education sector, UNICEF has carried out a supporting program through the non-school children handling program (ATS) through assistance in handling piloting villages, one of which is in Kembangan Village, Bukateja District, Purbalingga Regency, Central Java. The handling of this program has a clear scheme because it goes through structured stages starting from Socialization, Training, Data Collection, Return, and Assistance. It is hoped that the success of the ATS management program will have a multiplayer effect in improving the quality of human resources, to increase the Human Development Index in the Village. This research is policy research with an evaluation research approach. The analysis uses descriptive analysis by photographing policy potentials and problems, policy agendas, policymakers, policy formulations, as well as policy outputs and impacts. The results of this study indicate that the policy for handling ATS in a structured, programmed, and coordinated manner is a pattern of policy implementation that needs to be continuously improved to obtain optimum results.Keywords: ATS, Unicef, SDGs, HDI
Calculational Proofs in ACL2s
Teaching college students how to write rigorous proofs is a critical
objective in courses that introduce formal reasoning. Over the course of
several years, we have developed a mechanically-checkable style of
calculational reasoning that we used to teach over a thousand freshman-level
undergraduate students how to reason about computation in our "Logic and
Computation" class at Northeastern University. We were inspired by Dijkstra,
who advocated the use of calculational proofs, writing "calculational proofs
are almost always more effective than all informal alternatives, ..., the
design of calculational proofs seems much more teachable than the elusive art
of discovering an informal proof." Our calculational proof checker is
integrated into ACL2s and is available as an Eclipse IDE plugin, via a Web
interface, and as a stand-alone tool. It automatically checks proofs for
correctness and provides useful feedback. We describe the architecture of the
checker, its proof format, its underlying algorithms, its correctness and
provide examples using proofs from our undergraduate class and from Dijkstra.
We also describe our experiences using the proof checker to teach
undergraduates how to formally reason about computation
Learning to Reason About Code with Assertions: An Exploration with Two Student Populations
Code tracing is fundamental to students’ understanding of a program, and symbolic reasoning that entails learning to use assertions with abstract input and output values, as opposed to concrete values, enhances that understanding. Symbolic reasoning teaches students valuable abstraction and logic skills that will serve them well in all aspects of programming and their softwaredevelopment careers.We use lessons integrated into an online educational tool to supplement classroom instruction to help students learn symbolic reasoning. We explore two ways for students to learn about assertions: Writing assertions to capture the behavior of given code and solving Parsons-style problems in which statements are composed to produce behavior specified in assertions. A subsequent assessment tests students’ ability to select multiple assertions given code and to select the appropriate code fragment for given assertions.The same experiment was conducted with two different populations: a large public R1 research institution and a public R2 Hispanic-Serving Institution (HSI). Overall the impacts were more pronounced at the larger institution with a bigger sample size. Students’ assessment scores showed that they could reason symbolically at both institutions. They did better at Parsons-style problems of matching code to assertions at both institutions, though the difference varied by code type. The two populations had different trends in their performance for conditional code questions as they were asked to select from among increasingly formal assertions. Students from the R1 institution had a strong downward trend, while students from the HSI maintained or slightly increased their performance. The analysis also yielded insight into student misconceptions and suggested directions for further research
- …