7,387 research outputs found
Component Composition in Business and System Modelling
Bespoke development of large business systems can be couched in terms of the composition of components, which are, put simply, chunks of development work. Design, mapping a specification to an implementation, can also be expressed in terms of components: a refinement comprising an abstract component, a concrete component and a mapping between them. Similarly, system extension is the composition of an existing component, the legacy system, with a new component, the extension. This paper overviews work being done on a UK EPSRC funded research project formulating and formalizing techniques for describing, composing and performing integrity checks on components. Although the paper focuses on the specification and development of information systems, the techniques are equally applicable to the modeling and re-engineering of businesses, where no computer system may be involved
Formal Reasoning Using an Iterative Approach with an Integrated Web IDE
This paper summarizes our experience in communicating the elements of
reasoning about correctness, and the central role of formal specifications in
reasoning about modular, component-based software using a language and an
integrated Web IDE designed for the purpose. Our experience in using such an
IDE, supported by a 'push-button' verifying compiler in a classroom setting,
reveals the highly iterative process learners use to arrive at suitably
specified, automatically provable code. We explain how the IDE facilitates
reasoning at each step of this process by providing human readable verification
conditions (VCs) and feedback from an integrated prover that clearly indicates
unprovable VCs to help identify obstacles to completing proofs. The paper
discusses the IDE's usage in verified software development using several
examples drawn from actual classroom lectures and student assignments to
illustrate principles of design-by-contract and the iterative process of
creating and subsequently refining assertions, such as loop invariants in
object-based code.Comment: In Proceedings F-IDE 2015, arXiv:1508.0338
Towards an Interactive Learning Environment for Object-Z
We have been engaged in research towards designing a software system called LOZ for learning the object oriented formal specification notation Object-Z. Initially, we conducted a survey to analyse the effectiveness of traditional methodologies for learning Z notation. In LOZ, the semi-formal model UML is used in the intermediate phase between informal textual description and formal Object-Z description. We also employ a refinement unit that produces code from the specification. Based on the cognitive apprenticeship approach, we employ a four-phase instructional model in our system. Persuading the learners to be partially responsible for their own model and allowing them to decide their own levels of control over the learning process are key features of our system
Proceedings of the Second Program Visualization Workshop, 2002
The Program Visualization Workshops aim to bring together researchers who design and construct program visualizations and, above all, educators who use and evaluate visualizations in their teaching. The first workshop took place in July 2000 at Porvoo, Finland. The second workshop was held in cooperation with ACM SIGCSE and took place at HornstrupCentret, Denmark in June 2002, immediately following the ITiCSE 2002 Conference in Aarhus, Denmark
Computational Visualistics: Dealing with Pictures in Computer Science
Building blocks from many disciplines have to be integrated into a general science of images. Computational visualistics has been formed as a contributing field embracing all aspects of dealing with images computationally. Two basic concepts of computer science are introduced. Applied to the concept "image", they determine the methodological core of computational visualistics. As the contribution of computer science to the subject of image theory, interactive pictures are examined. Finally, relations to other "image sciences" are sketched.
* * *
Bausteine vieler Disziplinen müssen in eine allgemeine Bildwissenschaft integriert werden. Als Beitrag aus der Informatik versteht sich die Computervisualistik, die alle Aspekte rechnergestützten Umgangs mit Bildern umfaßt. Zwei Grundbegriffe der Informatik werden vorgestellt und bestimmen, auf den Begriff "Bild" angewendet, den methodologischen Kern der Computervisualistik. Als Beitrag der Informatik zum Gegenstand der Bildtheorie werden interaktive Bilder betrachtet. Schließlich werden die Beziehungen zu anderen "Bildwissenschaften" kurz umrissen
Visual iconic object-oriented programming to advance computer science education and novice programming
Learning how to program a computer is difficult for most people. Computer programming is a cognitively challenging, time consuming, labor intensive, and frustrating endeavor. Years of formal study and training are required to learn a programming language\u27s world of algorithms and data structures. Instructions are coded in advance before the computer demonstrates the desired behavior. Seeing all the programming steps and instruction code is complicated. There exists a tremendous gap between the representations the human brain uses when thinking about a problem and the representations used in programming a computer. Often people are much better at dealing with specific, concrete objects than working with abstract ideas. Concrete and specific programming examples and demonstrations can be very useful. When cleverly chosen and properly used, programming examples and demonstrations help people understand the abstract concepts. Programming by example or demonstration attempts to extend these novel ideas to novice programming
- …