Communications of the ACM, volume 66, issue 5, pages 62-71

Development Use Cases for Semantics-Driven Modeling Languages

Publication typeJournal Article
Publication date2023-04-21
scimago Q1
SJR2.957
CiteScore16.1
Impact factor11.1
ISSN00010782, 15577317
General Computer Science
Abstract

Choosing underlying semantic theories and definition techniques must closely follow intended use cases for the modeling language.

Katoen J.
2016-07-05 citations by CoLab: 110 Abstract  
Randomization is a key element in sequential and distributed computing. Reasoning about randomized algorithms is highly non-trivial. In the 1980s, this initiated first proof methods, logics, and model-checking algorithms. The field of probabilistic verification has developed considerably since then. This paper surveys the algorithmic verification of probabilistic models, in particular probabilistic model checking. We provide an informal account of the main models, the underlying algorithms, applications from reliability and dependability analysis---and beyond---and describe recent developments towards automated parameter synthesis.
Whittle J., Hutchinson J., Rouncefield M.
IEEE Software scimago Q2 wos Q2
2014-05-01 citations by CoLab: 235 Abstract  
Despite lively debate over the past decade on the benefits and drawbacks of model-driven engineering (MDE), there have been few industry-wide studies of MDE in practice. A new study that surveyed 450 MDE practitioners and performed in-depth interviews with 22 more suggests that although MDE might be more widespread than commonly believed, developers rarely use it to generate whole systems. Rather, they apply MDE to develop key parts of a system.
Broy M., Cengarle M.V.
Software and Systems Modeling scimago Q1 wos Q3
2011-06-23 citations by CoLab: 34 Abstract  
The article below presents the insights gained during a number of years of research dedicated to the formalisation of the Unified Modeling Language.
Harel D., Rumpe B.
Computer scimago Q1 wos Q3
2004-10-01 citations by CoLab: 311 Abstract  
The Unified Modeling Language (UML) is a complex collection of mostly diagrammatic notations for software modeling, and its standardization has prompted an animated discussion about UML's semantics and how to represent it. We have thus set out to clarify some of the notions involved in defining modeling languages, with an eye toward the particular difficulties arising in defining UML. We are primarily interested in distinguishing a language's notation, or syntax, from its meaning, or semantics, as well as recognizing the differences between variants of syntax and semantics in their nature, purpose, style, and use.
Plotkin G.D.
2004-07-01 citations by CoLab: 216 Abstract  
We review the origins of structural operational semantics. The main publication `A Structural Approach to Operational Semantics,' also known as the `Aarhus Notes,' appeared in 1981 [G.D. Plotkin, A structural approach to operational semantics, DAIMI FN-19, Computer Science Department, Aarhus University, 1981]. The development of the ideas dates back to the early 1970s, involving many people and building on previous work on programming languages and logic. The former included abstract syntax, the SECD machine, and the abstract interpreting machines of the Vienna school; the latter included the λ -calculus and formal systems. The initial development of structural operational semantics was for simple functional languages, more or less variations of the λ -calculus; after that the ideas were gradually extended to include languages with parallel features, such as Milner's CCS. This experience set the ground for a more systematic exposition, the subject of an invited course of lectures at Aarhus University; some of these appeared in print as the 1981 Notes. We discuss the content of these lectures and some related considerations such as `small state' versus `grand state,' structural versus compositional semantics, the influence of the Scott–Strachey approach to denotational semantics, the treatment of recursion and jumps, and static semantics. We next discuss relations with other work and some immediate further development. We conclude with an account of an old, previously unpublished, idea: an alternative, perhaps more readable, graphical presentation of systems of rules for operational semantics.
Broy M., Wirsing M., Pepper P.
2002-10-07 citations by CoLab: 46 Abstract  
The algebraic specification of the semantics of programming languages is outlined. Particular emphasis is given to the problem of specifying least-fixed points by first-order conditional equations. To cover this issue, the theory of specifying partial heterogeneous algebras by abstract data types is slightly extended by a more general notion of homomorphism. In this framework the semantics of programming languages can be uniquely specified in a purely algebraic way, using particular models of a hierarchy of abstract types. This approach is demonstrated for a simple procedural programming language. Several increasingly complex versions of iterations are treated and analyzed with respect to their theoretical consequences. Finally, as a complementary algebraic technique, transformational semantics is explained and applied to our examples.
Guttag J.
Communications of the ACM scimago Q1 wos Q1
2002-07-27 citations by CoLab: 281 Abstract  
Abstract data types can play a significant role in the development of software that is reliable, efficient, and flexible. This paper presents and discusses the application of an algebraic technique for the specification of abstract data types. Among the examples presented is a top-down development of a symbol table for a block structured language; a discussion of the proof of its correctness is given. The paper also contains a brief discussion of the problems involved in constructing algebraic specifications that are both consistent and complete.
Hoare C.A.
Communications of the ACM scimago Q1 wos Q1
2002-07-27 citations by CoLab: 3430 Abstract  
In this paper an attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics. This involves the elucidation of sets of axioms and rules of inference which can be used in proofs of the properties of computer programs. Examples are given of such axioms and rules, and a formal proof of a simple theorem is displayed. Finally, it is argued that important advantage, both theoretical and practical, may follow from a pursuance of these topics.
Evans A., France R., Lano K., Rumpe B.
1999-01-01 citations by CoLab: 13 Abstract  
The Unified Modelling Language is emerging as a de-facto standard for modelling object-oriented systems. However, the semantics document that a part of the standard definition primarily provides a description of the language’s syntax and well-formedness rules. The meaning of the language, which is mainly described in English, is too informal and unstructured to provide a foundation for developing formal analysis and development techniques. This paper outlines a formalisation strategy for making precise the core semantics of UML. This is achieved by strengthening the denotational semantics of the existing UML metamodel. To illustrate the approach, the semantics of generalization/specialization are made precise.
Harel D.
Science of Computer Programming scimago Q2 wos Q3
1987-06-01 citations by CoLab: 4202 Abstract  
We present a broad extension of the conventional formalism of state machines and state diagrams, that is relevant to the specification and design of complex discrete-event systems, such as multi-computer real-time systems, communication protocols and digital control units. Our diagrams, which we call statecharts , extend conventional state-transition diagrams with essentially three elements, dealing, respectively, with the notions of hierarchy, concurrency and communication. These transform the language of state diagrams into a highly structured and economical description language. Statecharts are thus compact and expressive—small diagrams can express complex behavior—as well as compositional and modular. When coupled with the capabilities of computerized graphics, statecharts enable viewing the description at different levels of detail, and make even very large specifications manageable and comprehensible. In fact, we intend to demonstrate here that statecharts counter many of the objections raised against conventional state diagrams, and thus appear to render specification by diagrams an attractive and plausible approach. Statecharts can be used either as a stand-alone behavioral description or as part of a more general design methodology that deals also with the system's other aspects, such as functional decomposition and data-flow specification. We also discuss some practical experience that was gained over the last three years in applying the statechart formalism to the specification of a particularly complex system.
Broy M.
Journal of Systems and Software scimago Q1 wos Q1
2024-04-01 citations by CoLab: 2 Abstract  
Today, software systems are distributed, concurrent, interactive, embedded, and often time-critical. They communicate and cooperate by data exchange. Introducing notions of time, causality, and realizability into interface-based data flow models results into a powerful model for engineering cyber-physical and, generally, distributed software systems. Architectures and their specification are designed by the concurrent composition of systems. This approach provides high expressive power supporting explicitly specification of interface behavior, encapsulation, abstraction, refinement, verification, concurrent composition, and modularity. The key idea is a formal, semantically coherent modelling, and specification framework that integrates the specification of time-critical and non-time-critical software embedded into cyber-physical systems. The approach supports the refinement of interface specifications of non-time-critical systems into interface specifications of time-critical systems and vice versa. This leads to an integrated specification and design approach for time-critical data flow architectures with soft, firm as well as hard time-critical requirements.
Greiner S., Wiesmayr B., Feichtinger K., Meixner K., Konersmann M., Pfeiffer J., Oberlehner M., Schmalzing D., Wortmann A., Rumpe B., Rabiser R., Zoitl A.
2023-09-12 citations by CoLab: 0
Gleirscher M., van de Pol J., Woodcock J.
Software and Systems Modeling scimago Q1 wos Q3
2023-08-18 citations by CoLab: 13 Abstract  
AbstractRecently, formal methods have been used in large industrial organisations (including AWS, Facebook/Meta, and Microsoft) and have proved to be an effective part of a software engineering process finding important bugs. Perhaps because of that, practitioners are interested in using them more often. Nevertheless, formal methods are far less applied than expected, particularly for safety-critical systems where they are strongly recommended and have the most significant potential. We hypothesise that formal methods still seem not applicable enough or ready for their intended use in such areas. In critical software engineering, what do we mean when we speak of a formal method? And what does it mean for such a method to be applicable both from a scientific and practical viewpoint? Based on what the literature tells about the first question, with this manifesto, we identify key challenges and lay out a set of guiding principles that, when followed by a formal method, give rise to its mature applicability in a given scope. Rather than exercising criticism of past developments, this manifesto strives to foster increased use of formal methods in any appropriate context to the maximum benefit.

Top-30

Journals

1
1

Publishers

1
2
1
2
  • We do not take into account publications without a DOI.
  • Statistics recalculated only for publications connected to researchers, organizations and labs registered on the platform.
  • Statistics recalculated weekly.

Are you a researcher?

Create a profile to get free access to personal recommendations for colleagues and new articles.
Share
Cite this
GOST | RIS | BibTex | MLA
Found error?