Retired professor. Still active researcher in Theoretical Computer Science, Software Engineering, Formal Methods.Published over 100 archival papers on major journals and conferences, tens of textbooks and scientific monographs.
We discuss the technical skills that a software engineer should possess. We take the viewpoint of... more We discuss the technical skills that a software engineer should possess. We take the viewpoint of a school of engineering and put the software engineer's education in the wider context of engineering education. We stress both the common aspects that crosscut all engineering fields and the specific issues that pertain to software engineering. We believe that even in a continuously evolving field like software, education should provide strong and stable foundations based on mathematics and science, emphasize the engineering principles, and recognize the stable and longlasting design concepts. Even though the more mundane technological solutions cannot be ignored, the students should be equipped with skills that allow them to understand and dominate the evolution of technology.
We describe a novel approach to program verification and its application to verification of C pro... more We describe a novel approach to program verification and its application to verification of C programs, where properties are expressed in matching logic. The general approach is syntax-directed: semantic rules, expressed according to Knuth's attribute grammars, specify how verification conditions can be computed. Evaluation is performed by interplaying attribute computation and propagation through the syntax tree with invocation of a solver of logic formulae. The benefit of a general syntax-driven approach is that it provides a reusable reference scheme for implementing verifiers for different languages. We show that the instantiation of a general approach to a specific language does not penalize the efficiency of the resulting verifier. This is done by comparing our C verifier for matching logic with an existing tool for the same programming language and logic. A further key advantage of the syntax-directed approach is that it can be the starting point for an incremental verifier-which is our long-term research target.
Specifications of information-systems-type applications are often based on the use of entity-rela... more Specifications of information-systems-type applications are often based on the use of entity-relationship (ER) and dataflow (DF) diagrams, which cover the conceptual modeling of data and functions, respectively. VLP, an executable visual language for formal specifications which fully integrates ER and DF diagrams in a semantically clear way, is introduced. Unlike existing commercial products (the so-called CASE tools), which can only
Dealing with different time scales in formal specifications
Dealing with different time scales in formal specifications E.Corsetti(*), E.Crivelli(**), D.Mand... more Dealing with different time scales in formal specifications E.Corsetti(*), E.Crivelli(**), D.Mandrioli(***), A.Montanari(*), ACMorzenti(***), P.San Pietro(***), E.Ratto(*) (*)CISE, Milano; (**)ENEL-CRA, Milano; (***)Dipartimento di Elettronica, Politecnico di Milano. ...
A classic result in formal language theory is the equivalence among noncounting, or aperiodic, re... more A classic result in formal language theory is the equivalence among noncounting, or aperiodic, regular languages, and languages defined through star-free regular expressions, or first-order logic. Past attempts to extend this result beyond the realm of regular languages have met with difficulties: for instance it is known that star-free tree languages may violate the non-counting property and there are aperiodic tree languages that cannot be defined through first-order logic. We extend such classic equivalence results to a significant family of deterministic contextfree languages, the operator-precedence languages (OPL), which strictly includes the widely investigated visibly pushdown, alias input-driven, family and other structured context-free languages. The OP model originated in the '60s for defining programming languages and is still used by high performance compilers; its rich algebraic properties have been investigated initially in connection with grammar learning and recently completed with further closure properties and with monadic second order logic definition. We introduce an extension of regular expressions, the OP-expressions (OPE) which define the OPLs and, under the star-free hypothesis, define first-order definable and non-counting OPLs. Then, we prove, through a fairly articulated grammar transformation, that aperiodic OPLs are first-order definable. Thus, the classic equivalence of star-freeness, aperiodicity, and first-order definability is established for the large and powerful class of OPLs. We argue that the same approach can be exploited to obtain analogous results for visibly pushdown languages too.
ABSTRACT In this chapter, we present the dimensions of the time modeling problem. Despite its int... more ABSTRACT In this chapter, we present the dimensions of the time modeling problem. Despite its intuitive evidence, the mathematical modeling of time has produced highly diversified approaches and notations. The dimensions presented in this chapter will guide their presentation and comparison throughout the following chapters. A first basic dimension is whether the domain adopted to describe time is discrete or dense. A second dimension distinguishes whether the time domain is only ordered or is provided with a metric. A third dimension separates linear time domains from branching ones. Then, we distinguish between deterministic, nondeterministic, and probabilistic system models; we discuss the problem of formalizing time progress; we introduce the issue of modular composition and its impact on timing analysis.
ABSTRACT In this chapter, we recall, though well-known examples, the main concepts and definition... more ABSTRACT In this chapter, we recall, though well-known examples, the main concepts and definitions concerning dynamical systems. We introduce the classic notion of state-space representation of discrete-time and of continuous-time dynamical systems, and we discuss how one can move from the latter to the former. This chapter also briefly presents cellular automata, a family of discrete-time dynamical systems than can be used to model computations. Using the dimensions presented in Chap. 3 as reference, the chapter then describes the main features of the representation of time in dynamical systems.
In this chapter, we discuss logic-based formalism as descriptive notations that allow users to pr... more In this chapter, we discuss logic-based formalism as descriptive notations that allow users to provide and analyze system models in terms of their properties. We discuss and compare various types of temporal logic with respect to their expressive power, their relation to transition systems, and the features of the assumed underlying time domain. We also present other logic-based formalisms that entertain an explicit notion of time without using the modal operators typical of temporal logics, and we introduce probabilistic logic-based models that assign probabilities to events and can therefore express requirements on the probability of certain system evolutions to occur. The chapter concludes with a brief review of the tools supporting the analysis techniques associated with the formalism.
A “dual-language approach” is one in which two formalisms, an operational and a descriptive one, ... more A “dual-language approach” is one in which two formalisms, an operational and a descriptive one, co-exist to describe different aspects of the problem at hand. In the most typical setting, an operational language describes the system under design, whereas a descriptive (usually logic) language formalizes the desired system properties. Then, suitable methods are used to establish that the modeled system satisfies the stated properties.In this chapter, we present the essentials of dual-language approaches within the field of timing analysis. First, we describe the principles underlying model checking, in which properties expressed in temporal logic are verified for systems modeled as transition systems. Then, we present the TTM/RTTL approach, which relies upon Timed Transition Models to represent the system, and on formulae of the companion Real Time Temporal Logic to formalize the properties of interest. Finally, we discuss an approach combining timed Petri nets as operational notation and the TRIO logic language. The chapter concludes with a brief review of the tools supporting dual-language approaches.
Modular Automated Verification of Flexible Manufacturing Systems with Metric Temporal Logic and Non-Standard Analysis
Lecture Notes in Computer Science, 2012
Industrial systems are made of interacting components, which evolve at very different speeds. Thi... more Industrial systems are made of interacting components, which evolve at very different speeds. This is often dealt with in notations used in the industrial practice, such as Stateflow, through the notion of “zero-time transitions”. These have several drawbacks, especially when building complex models from basic components, whose coordination is complicated by the fact that each element is modeled to be in different states at the same time. We exploit a temporal logic formalism based on non-standard analysis to provide a natural formal semantics to the composition of modules described as Stateflow diagrams. The semantics has been implemented in a fully automated formal verification tool, which we apply to the formal verification of an example of robotic cell.
Regular languages (RL) are the simplest family in Chomsky's hierarchy. Thanks to their simplicity... more Regular languages (RL) are the simplest family in Chomsky's hierarchy. Thanks to their simplicity they enjoy various nice algebraic and logic properties that have been successfully exploited in many application fields. Practically all of their related problems are decidable, so that they support automatic verification algorithms. Also, they can be recognized in real-time. Context-free languages (CFL) are another major family well-suited to formalize programming, natural, and many other classes of languages; their increased generative power w.r.t. RL, however, causes the loss of several closure properties and of the decidability of important problems; furthermore they need complex parsing algorithms. Thus, various subclasses thereof have been defined with different goals, spanning from efficient, deterministic parsing to closure properties, logic characterization and automatic verification techniques. Among CFL subclasses, so-called structured ones, i.e., those where the typical tree-structure is visible in the sentences, exhibit many of the algebraic and logic properties of RL, whereas deterministic CFL have been thoroughly exploited in compiler construction and other application fields. After surveying and comparing the main properties of those various language families, we go back to operator precedence languages (OPL), an old family through which R. Floyd pioneered deterministic parsing, and we show that they offer unexpected properties in two fields so far investigated in totally independent ways: they enable parsing parallelization in a more effective way than traditional sequential parsers, and exhibit the same algebraic and logic properties so far obtained only for less expressive language families.
Uploads
Papers by Dino Mandrioli