• Complain

Tiziana Margaria - Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications

Here you can read online Tiziana Margaria - Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: Cham, publisher: Springer International Publishing, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Tiziana Margaria Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications
  • Book:
    Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications
  • Author:
  • Publisher:
    Springer International Publishing
  • Genre:
  • City:
    Cham
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Tiziana Margaria: author's other books


Who wrote Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications? Find out the surname, the name of the author of the book and a list of all author's works by series.

Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make

Towards a Unified View of Modeling and Programming
Springer International Publishing AG 2016
Tiziana Margaria and Bernhard Steffen (eds.) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications Lecture Notes in Computer Science 9953 10.1007/978-3-319-47169-3_1
Towards a Unified View of Modeling and Programming (Track Summary)
Manfred Broy 1, Klaus Havelund 2 , Rahul Kumar 3 and Bernhard Steffen 4
(1)
Technische Universitt Mnchen, Munich, Germany
(2)
Jet Propulsion Laboratory, California Institute of Technology, Pasadena, USA
(3)
Microsoft Research, Redmond, USA
(4)
TU Dortmund University, Dortmund, Germany
Klaus Havelund
Email:
K. HavelundThe research performed by this author was carried out at Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.
Motivation and Goals
Since the 1960s we have seen a tremendous amount of scientific and methodological work in the fields of specification, design, and programming languages. In spite of the very high value of this work, however, this effort has found its limitation by the fact that we do not have a sufficient integration of these languages, as well as tools that support the development engineer in applying the corresponding methods and techniques. A tighter integration between specification and verification logics, graphical modeling notations, and programming languages is needed.
In a (possibly over) simplified view, as an attempt to impose some structure on this work, we can distinguish between three lines of work: formal methods, model-based engineering, and programming languages. Formal methods include, usually textual, formalisms such as VDM, CIP, Z, B, Event-B, ASM, TLA+, Alloy, and RAISE, but also more or less automated theorem proving systems such as Coq, Isabelle, and PVS. Such formalisms are usually based on mathematical concepts, such as functions, relations, set theory, etc. A specification typically consists of a signature, i.e. a collection of names and their types, and axioms over the signature, constraining the values that the names can denote. A specification as such denotes a set of models, each providing a binding of values to the names, satisfying the axioms. Such formal methods usually come equipped with proof systems, such that one can prove properties of the specifications, for example consistency of axioms, or that certain theorems are consequences of the axioms. A common characteristic of these formalisms is their representation as text, defined by context-free grammars, and their formalization in terms of semantics and/or logical proof systems. In parallel one has seen several model checkers appearing, such as SPIN, SMV, FDR, and UPPAAL. These usually prioritize efficient verification algorithms over expressive and convenient specification languages. Exceptions are more recent model checkers for programming languages, including for example Java PathFinder (JPF).
Starting later in the 1980s, the model-based engineering community developed graphical formalisms, most prominently represented by UML and later SysML. These formalisms offer graphical notation for defining data structures as nodes and edge diagrams, and behavioral diagrams such as state machines and message sequence diagrams. These formalisms specifically address the ease of adoption amongst engineers. It is clear that these techniques have become more popular in industry than formal methods, in part likely due to the graphical nature of these languages. However, these formalisms are complex (the standard defining UML is much larger than the definition of any formal method or programming language), are incomplete (the UML standard for example has no expression-language, although OCL is a recommended add-on), and they lack commonly agreed up semantics. This is not too surprising as UML has been designed on the basis of an intuitive understanding of the semantics of its individual parts and concepts, and not under the perspective of a potential formal semantics ideally covering the entire UML. This leaves users some freedom of interpretation, in particular concerning the conceptual interplay of individual model types and often leads to misunderstandings, but it has still been sufficient in practice in order to support tool-based system development, even by providing, e.g., partial code generation. On the other hand, it is also responsible for the only very partial successes of the decades of attempts to provide formal semantics to UML. One may, therefore, argue that (the abstract syntax and intuitive semantics of) UML, as it stands, is not adequately designed to support a foundation in terms of a formal semantics. It would therefore be interesting to reconsider the design of UML with the dedicated goal to provide a formal semantics and thereby reach a next level of maturity.
Finally, programming languages have evolved over time, starting with numerical machine code, then assembly languages, and transitioning to higher-level languages with FORTRAN in the late 1950s. Numerous programming languages have been developed since then. The C programming language has since its creation in the early 1970s conquered the embedded software world in an impressive manner. Later efforts, however, have attempted to create even higher-level languages. These include language such as Java and Python, in which collections such as sets, lists and maps are built-in, either as constructs or as systems libraries. Especially the academic community has experimented with functional programming languages, such as ML, OCaml, and Haskell, and more recently the integration of object-oriented programming and functional programming, as in for example Scala.
Each of the formalisms mentioned above have advantageous features not owned by other formalisms. However, what is perhaps more important is that these formalisms have many language constructs in common, and to such an extent that one can ask the controversial question: Should we strive towards a unified view of modeling and programming? It is the goal of the meeting to discuss the relationship between modeling and programming, with the possible objective of achieving an agreement of what a unification of these concepts would mean at an abstract level, and what it would bring as benefits on the practical level. What are the trends in the three domains: formal specification and verification, model-based engineering, and programming, which can be considered to support a unification of these domains. We want to discuss whether the time is ripe for another attempt to bring things closer together.
Contributions
The paper contributions in this track are introduced below. The papers are ordered according to the sessions of the track: (1) opinions, (2) more concrete, (3) meta-level considerations, (4) domain-specific approaches, (5) tools and frameworks view, and (6) panel. Within each track the papers are ordered to provide a natural flow of presentations.
2.1 Opinions
Selic [] ( Programming Picture 1 Modeling Picture 2 Engineering ) takes the position that models and modeling have a much broader set of purposes than just programming. It points out that there is a direct conflict between modeling and programming, as modeling is based on abstracting away irrelevant details whereas programming requires full implementation oriented details. In the end, the paper investigates the question of the complex relationship between modeling and programming. Finally it comes up with the question of whether modelers can become programmers, and it concludes that it has to deal with the question whether high level modeling languages can be used as implementation languages.
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications»

Look at similar books to Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications»

Discussion, reviews of the book Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.