Demo Data from VLDB 2026 / reviewers in the wild / expert
Andrey Mokhov
dblp:58/3155
· DBLP profile ↗
36ranked-venue papers
12as first author
0since 2021 · last 2020
0000-0002-2493-3177ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 18 · 4 first-authorSoftware engineering, systems software and programming languages · 14 · 8 first-authorTheory of computation · 8 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
7 papers |
Electronic design automation · 60% Integrated circuit design · 26% Interconnection networks and networks-on-chip · 5% | |
| Theoretical computer science
4 papers |
Computational complexity · 90% Logic in computer science · 10% |
Topics — the 18 heaviest of 21, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Computational complexity
circuit complexity |
0.7 | 2 | 2019 | On the Complexity of Hazard-free Circuits · J. ACM 2019 On the complexity of hazard-free circuits · STOC 2018 |
Integrated circuit design
asynchronous circuit design |
0.6 | 3 | 2018 | High-Level Asynchronous Concepts at the Interface Between Analog and Digital Worlds · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2018 Concurrent Multiresource Arbiter: Design and Applications · IEEE Trans. Computers 2013 Conditional Partial Order Graphs: Model, Synthesis, and Application · IEEE Trans. Computers 2010 |
Electronic design automation
logic synthesis |
0.6 | 2 | 2020 | Automating the Design of Asynchronous Logic Control for AMS Electronics · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2020 Mixed Radix Reed-Muller Expansions · IEEE Trans. Computers 2012 |
Electronic design automation › logic synthesis
asynchronous circuit synthesis |
0.4 | 1 | 2020 | Automating the Design of Asynchronous Logic Control for AMS Electronics · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2020 |
Electronic design automation › hardware verification and test
formal verification |
0.4 | 1 | 2020 | Automating the Design of Asynchronous Logic Control for AMS Electronics · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2020 |
Electronic design automation
hardware verification and test |
0.4 | 1 | 2019 | On the Complexity of Hazard-free Circuits · J. ACM 2019 |
Electronic design automation › hardware verification and test
hazard detection |
0.4 | 1 | 2019 | On the Complexity of Hazard-free Circuits · J. ACM 2019 |
Integrated circuit design › asynchronous circuit design
signal transition graph |
0.3 | 1 | 2018 | High-Level Asynchronous Concepts at the Interface Between Analog and Digital Worlds · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2018 |
Distributed systems
formal specification |
0.2 | 1 | 2014 | Synthesis of Processor Instruction Sets from High-Level ISA Specifications · IEEE Trans. Computers 2014 |
Electronic design automation
high-level synthesis |
0.2 | 1 | 2014 | Synthesis of Processor Instruction Sets from High-Level ISA Specifications · IEEE Trans. Computers 2014 |
Processor architecture and microarchitecture
instruction set architecture |
0.2 | 1 | 2014 | Synthesis of Processor Instruction Sets from High-Level ISA Specifications · IEEE Trans. Computers 2014 |
Interconnection networks and networks-on-chip › arbitration
arbiter design |
0.2 | 1 | 2013 | Concurrent Multiresource Arbiter: Design and Applications · IEEE Trans. Computers 2013 |
Electronic design automation › logic synthesis
multivalued logic synthesis |
0.1 | 1 | 2012 | Mixed Radix Reed-Muller Expansions · IEEE Trans. Computers 2012 |
Electronic design automation › logic synthesis
reed-muller expansion |
0.1 | 1 | 2012 | Mixed Radix Reed-Muller Expansions · IEEE Trans. Computers 2012 |
Integrated circuit design
analog and mixed-signal circuits |
0.1 | 1 | 2020 | Automating the Design of Asynchronous Logic Control for AMS Electronics · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2020 |
Integrated circuit design
digital circuit design |
0.0 | 1 | 2012 | Mixed Radix Reed-Muller Expansions · IEEE Trans. Computers 2012 |
Integrated circuit design
finite field arithmetic |
0.0 | 1 | 2012 | Mixed Radix Reed-Muller Expansions · IEEE Trans. Computers 2012 |
Parallel and multicore computing › concurrent programming
concurrency model |
0.0 | 1 | 2010 | Conditional Partial Order Graphs: Model, Synthesis, and Application · IEEE Trans. Computers 2010 |
Methods — techniques the papers use, named apart from their topics
monotone complexity lower bounds · 1.1random restrictions · 0.8analog-to-asynchronous components · 0.4RTL synthesis · 0.4event-b · 0.4conditional partial order graphs · 0.4workcraft · 0.3circuit lower bounds · 0.3behavioral concepts · 0.3STG translation · 0.3asynchronous circuit design · 0.2petri nets · 0.1finite-state machine · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Termination detection for fine-grained message-passing architecturesabstractBarrier primitives provided by standard parallel programming APIs are the primary means by which applications implement global synchronisation. Typically these primitives are fully-committed to synchronisation in the sense that, once a barrier is entered, synchronisation is the only way out. For message-passing applications, this raises the question of what happens when a message arrives at a thread that already resides in a barrier. Without a satisfactory answer, barriers do not interact with message-passing in any useful way.In this paper, we propose a new refutable barrier primitive that combines with message-passing to form a simple, expressive, efficient, well-defined API. It has a clear semantics based on termination detection, and supports the development of both globally-synchronous and asynchronous parallel applications.To evaluate the new primitive, we implement it in a prototype large-scale message-passing machine with 49,152 RISC-V threads distributed over 48 FPGAs. We show that hardware support for the primitive leads to a highly-efficient implementation, capable of synchronisation rates that are an order-of-magnitude higher than what is achievable in software. Using the primitive, we implement synchronous and asynchronous versions of a range of applications, observing that each version can have significant advantages over the other, depending on the application. Therefore, a barrier primitive supporting both styles can greatly assist the development of parallel programs. Matthew Naylor 0002, Simon W. Moore, Andrey Mokhov, David B. Thomas, Jonathan Beaumont, Shane T. Fleming, A. Theodore Markettos, Thomas Bytheway, Andrew D. Brown |
ASAP | 3 |
| 2020 | Build systems à la carte: Theory and practiceabstractAbstract Build systems are awesome, terrifying – and unloved. They are used by every developer around the world, but are rarely the object of study. In this paper, we offer a systematic, and executable, framework for developing and comparing build systems, viewing them as related points in a landscape rather than as isolated phenomena. By teasing apart existing build systems, we can recombine their components, allowing us to prototype new build systems with desired properties. Andrey Mokhov, Neil Mitchell, Simon L. Peyton Jones |
J. Funct. Program. | 1 |
| 2020 | Automating the Design of Asynchronous Logic Control for AMS ElectronicsabstractAnalog and mixed signal (AMS) electronics becomes increasingly complex and needs to be digitally enhanced by its own control circuitry. The RTL synthesis flow routinely used for digital logic is, however, optimized for synchronous data processing and produces inefficient control for AMS. In this paper, we demonstrate the evident benefits of asynchronous circuits in the context of AMS systems, and propose an asynchronous design for analog electronics (A4A) flow for their specification, synthesis, and formal verification. A library of specialized analog-to-asynchronous (A2A) components is developed for interfacing analog and asynchronous worlds. A4A flow is automated in the Workcraft framework and evaluated using a multiphase buck converter case study, where A2A components are employed to sanitize analog sensor readings. Timing analysis of asynchronous buck control shows improved response time: 4× reaction to high-load and 7× to under-voltage condition, compared with a 333 MHz clocked controller (to achieve a similar response time, a clocked controller would require ~3 GHz frequency). The simulation results of a 4-phase asynchronous buck demonstrate improved voltage ripple and peak current -16% and 12% reduction, respectively. These benefits lead to the higher efficiency of power conversion, and can be traded off for the cost of analog components, e.g., coils. Moreover, the use of the proposed design flow and tools helps to improve design productivity and overall robustness of AMS circuits. Danil Sokolov, Victor Khomenko, Andrey Mokhov, Vladimir Dubikhin, Alexandre Yakovlev |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 3 |
| 2020 | Formal Verification of Spacecraft Control ProgramsabstractVerification of correctness of control programs is an essential task in the development of space electronics; it is difficult and typically outweighs design and programming tasks in terms of development hours. This article presents a verification approach designed to help spacecraft engineers reduce the effort required for formal verification of low-level control programs executed on custom hardware. The verification approach is demonstrated on an industrial case study. We present a REDuced instruction set for Fixed-point and INteger arithmetic (REDFIN), a processing core used in space missions, and its formal semantics expressed using the proposed metalanguage for state transformers, followed by examples of verification of simple control programs. Georgy Lukyanov, Andrey Mokhov, Jakob Lechner |
ACM Trans. Embed. Comput. Syst. | 2 |
| 2020 | Design and Implementation of Reconfigurable Asynchronous PipelinesabstractPipelining is a widely used approach to the design of high-throughput computation systems, where the slowest component is decomposed into a set of sequentially connected parts that are executed in parallel on successive items of the incoming dataflow. Such dataflow pipelines are often designed to be dynamically reconfigurable to process data items differently depending on their contents and/or to adjust to the application requirements in runtime. Reconfigurable synchronous pipelines are widely used and well studied, and are supported by industrial EDA tools. On the other hand, reconfigurable asynchronous pipelines received much less attention and their industrial adoption is low due to the lack of mature automation support. In this article, we present a model and tool support for the design and verification of reconfigurable asynchronous pipelines. The tool is open source and is available as a plugin for the WORKCRAFT toolset. We validate the presented approach by designing and fabricating a test chip (TSMC 90 nm) that demonstrates the benefits and costs of dynamic reconfigurability, as well as highlights the resilience of asynchronous pipelines. Alessandro de Gennaro, Danil Sokolov, Andrey Mokhov |
IEEE Trans. Very Large Scale Integr. Syst. | 3 |
| 2019 | Complexity of Linear OperatorsabstractLet $A \in \{0,1\}^{n \times n}$ be a matrix with $z$ zeroes and $u$ ones and $x$ be an $n$-dimensional vector of formal variables over a semigroup $(S, \circ)$. How many semigroup operations are required to compute the linear operator $Ax$? As we observe in this paper, this problem contains as a special case the well-known range queries problem and has a rich variety of applications in such areas as graph algorithms, functional programming, circuit complexity, and others. It is easy to compute $Ax$ using $O(u)$ semigroup operations. The main question studied in this paper is: can $Ax$ be computed using $O(z)$ semigroup operations? We prove that in general this is not possible: there exists a matrix $A \in \{0,1\}^{n \times n}$ with exactly two zeroes in every row (hence $z=2n$) whose complexity is $Θ(nα(n))$ where $α(n)$ is the inverse Ackermann function. However, for the case when the semigroup is commutative, we give a constructive proof of an $O(z)$ upper bound. This implies that in commutative settings, complements of sparse matrices can be processed as efficiently as sparse matrices (though the corresponding algorithms are more involved). Note that this covers the cases of Boolean and tropical semirings that have numerous applications, e.g., in graph theory. As a simple application of the presented linear-size construction, we show how to multiply two $n\times n$ matrices over an arbitrary semiring in $O(n^2)$ time if one of these matrices is a 0/1-matrix with $O(n)$ zeroes (i.e., a complement of a sparse matrix). Alexander S. Kulikov, Ivan Mikhailin, Andrey Mokhov, Vladimir Podolskii 0001 |
ISAAC | 3 |
| 2019 | On the Complexity of Hazard-free CircuitsabstractThe problem of constructing hazard-free Boolean circuits dates back to the 1940s and is an important problem in circuit design. Our main lower-bound result unconditionally shows the existence of functions whose circuit complexity is polynomially bounded while every hazard-free implementation is provably of exponential size. Previous lower bounds on the hazard-free complexity were only valid for depth 2 circuits. The same proof method yields that every subcubic implementation of Boolean matrix multiplication must have hazards. These results follow from a crucial structural insight: Hazard-free complexity is a natural generalization of monotone complexity to all (not necessarily monotone) Boolean functions. Thus, we can apply known monotone complexity lower bounds to find lower bounds on the hazard-free complexity. We also lift these methods from the monotone setting to prove exponential hazard-free complexity lower bounds for non-monotone functions. As our main upper-bound result, we show how to efficiently convert a Boolean circuit into a bounded-bit hazard-free circuit with only a polynomially large blow-up in the number of gates. Previously, the best known method yielded exponentially large circuits in the worst case, so our algorithm gives an exponential improvement. As a side result, we establish the NP-completeness of several hazard detection problems. Christian Ikenmeyer, Balagopal Komarath, Christoph Lenzen 0001, Vladimir Lysikov, Andrey Mokhov, Karteek Sreenivasaiah |
J. ACM | 5 |
| 2019 | Selective applicative functorsabstractApplicative functors and monads have conquered the world of functional programming by providing general and powerful ways of describing effectful computations using pure functions. Applicative functors provide a way to compose independent effects that cannot depend on values produced by earlier computations, and all of which are declared statically. Monads extend the applicative interface by making it possible to compose dependent effects, where the value computed by one effect determines all subsequent effects, dynamically. This paper introduces an intermediate abstraction called selective applicative functors that requires all effects to be declared statically, but provides a way to select which of the effects to execute dynamically. We demonstrate applications of the new abstraction on several examples, including two industrial case studies. Andrey Mokhov, Georgy Lukyanov, Simon Marlow, Jerémie Dimino |
Proc. ACM Program. Lang. | 1 |
| 2018 | Reconfigurable asynchronous pipelines: From formal models to siliconabstractDataflow pipelines are widely used in the design of high-throughput computation systems. Real-life applications often require dynamically reconfigurable pipelines to differently process data items or adjust to the current operating mode. Reconfigurable synchronous pipelines are known since 1980s and are well supported by formal models and tools. Reconfigurable asynchronous pipelines on the other hand, have neither a formal behavioural model, nor mature EDA support, making them unattractive to industry. This paper presents a model and an open-source tool for the design and verification of reconfigurable asynchronous pipelines, and validates this approach in silicon. Danil Sokolov, Alessandro de Gennaro, Andrey Mokhov |
DATE | 3 |
| 2018 | On the complexity of hazard-free circuitsabstractThe problem of constructing hazard-free Boolean circuits dates back to the 1940s and is an important problem in circuit design. Our main lower-bound result unconditionally shows the existence of functions whose circuit complexity is polynomially bounded while every hazard-free implementation is provably of exponential size. Previous lower bounds on the hazard-free complexity were only valid for depth 2 circuits. The same proof method yields that every subcubic implementation of Boolean matrix multiplication must have hazards. These results follow from a crucial structural insight: Hazard-free complexity is a natural generalization of monotone complexity to all (not necessarily monotone) Boolean functions. Thus, we can apply known monotone complexity lower bounds to find lower bounds on the hazard-free complexity. We also lift these methods from the monotone setting to prove exponential hazard-free complexity lower bounds for non-monotone functions. Christian Ikenmeyer, Balagopal Komarath, Christoph Lenzen 0001, Vladimir Lysikov, Andrey Mokhov, Karteek Sreenivasaiah |
STOC | 5 |
| 2018 | Compact and efficiently verifiable models for concurrent systems
Hernán Ponce de León, Andrey Mokhov |
Formal Methods Syst. Des. | 2 |
| 2018 | Build systems à la carteabstractBuild systems are awesome, terrifying -- and unloved. They are used by every developer around the world, but are rarely the object of study. In this paper we offer a systematic, and executable, framework for developing and comparing build systems, viewing them as related points in landscape rather than as isolated phenomena. By teasing apart existing build systems, we can recombine their components, allowing us to prototype new build systems with desired properties. Andrey Mokhov, Neil Mitchell, Simon L. Peyton Jones |
Proc. ACM Program. Lang. | 1 |
| 2018 | High-Level Asynchronous Concepts at the Interface Between Analog and Digital WorldsabstractAsynchronous circuits are becoming increasingly important in system design for Internet of Things, where they orchestrate the interface between big synchronous computation components and the analog environment, which is inherently asynchronous and has high uncertainty with respect to power supply, temperature, and long-term aging effects. However, wide adoption of asynchronous circuits by industrial users is hindered by a steep learning curve for asynchronous control models, such as signal transition graphs (STGs), that are developed by the academic community for specification, verification, and synthesis of asynchronous circuits. In this paper, we introduce a novel high-level description language for asynchronous circuits, which is based on behavioral concepts-high-level descriptions of asynchronous circuit requirements, that can be shared, reused, and extended by users, and can be automatically translated to STGs for further processing by conventional asynchronous and synchronous electronic design automation tools, such as Petrify and Mpsat. Our aim is to simplify the process of capturing system requirements in the form of a formal specification, and to promote behavioral concepts as a means for design reuse. The proposed design flow is fully automated in open-source toolsuite Workcraft, and is applied to the development of an asynchronous power regulator. Jonathan Beaumont, Andrey Mokhov, Danil Sokolov, Alexandre Yakovlev |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 2 |
| 2017 | Benefits of asynchronous control for analog electronics: Multiphase buck case studyabstractAnalog and mixed signal (AMS) electronics becomes increasingly complex and needs to be digitally enhanced by its own control circuitry. The RTL synthesis flow routinely used for digital logic is however optimized for synchronous data processing and produces inefficient control for AMS. In this paper we demonstrate the evident benefits of asynchronous circuits in the context of AMS systems, and propose an asynchronous design for analog electronics (A4A) flow for their specification, synthesis, and formal verification. A library of specialized analog-to-asynchronous (A2A) components is developed for interfacing analog signals to asynchronous control. A4A flow is automated in the Workcraft framework and evaluated using a multiphase buck converter case study. The simulation results show improved response time, voltage ripple, and peak current of the buck when controlled asynchronously. These benefits lead to the higher efficiency of power conversion, and can be traded off for the cost of analog components. A4A flow, A2A interfaces, and Workcraft tools are used for development of power converters at Dialog Semiconductor. Danil Sokolov, Vladimir Dubikhin, Victor Khomenko, Andrey Mokhov, Alexandre Yakovlev |
DATE | 5 |
| 2017 | Language and hardware acceleration backend for graph processingabstractGraphs are important in many applications however their analysis on conventional computer architectures is generally inefficient because it involves highly irregular access to memory when traversing vertices and edges. As an example, when finding a path from a source vertex to a target one the performance is typically limited by the memory bottleneck whereas the actual computation is trivial. This paper presents a methodology for embedding graphs into silicon, where graph vertices become finite state machines communicating via the graph edges. With this approach many common graph analysis tasks can be performed by propagating signals through the physical graph and measuring signal propagation time using the on-chip clock distribution network. This eliminates the memory bottleneck and allows thousands of vertices to be processed in parallel. We present a domain-specific language for graph description and transformation, and demonstrate how it can be used to translate application graphs into an FPGA board, where they can be analysed up to 1000× faster than on a conventional computer. Andrey Mokhov, Alessandro de Gennaro, Ghaith Tarawneh, Jonny Wray, Georgy Lukyanov, Sergey Mileiko, Joe Scott, Alexandre Yakovlev, Andrew D. Brown |
FDL | 1 |
| 2017 | Algebraic graphs with class (functional pearl)abstractThe paper presents a minimalistic and elegant approach to working with graphs in Haskell. It is built on a rigorous mathematical foundation --- an algebra of graphs --- that allows us to apply equational reasoning for proving the correctness of graph transformation algorithms. Algebraic graphs let us avoid partial functions typically caused by `malformed graphs' that contain an edge referring to a non-existent vertex. This helps to liberate APIs of existing graph libraries from partial functions. Andrey Mokhov |
Haskell | 1 |
| 2017 | An empirical comparison of formalisms for modelling and analysis of dynamic reconfiguration of dependable systemsabstractAbstract This paper uses a case study to evaluate empirically three formalisms of different kinds for their suitability for the modelling and analysis of dynamic reconfiguration of dependable systems. The requirements on an ideal formalism for dynamic software reconfiguration are defined. The reconfiguration of an office workflow for order processing is described, and the requirements on the reconfiguration of the workflow are defined. The workflow is modelled using the Vienna Development Method (VDM), conditional partial order graphs (CPOGs), and the basic Calculus of Communicating Systems for dynamic process reconfiguration (basic CCSdp), and verification of the reconfiguration requirements is attempted using the models. The formalisms are evaluated according to their ability to model the reconfiguration of the workflow, to verify the requirements on the workflow’s reconfiguration, and to meet the requirements on an ideal formalism. Anirban Bhattacharyya, Andrey Mokhov, Ken G. Pierce |
Formal Aspects Comput. | 2 |
| 2016 | Formal verification of clock domain crossing using gate-level models of metastable flip-flops
Ghaith Tarawneh, Andrey Mokhov, Alexandre Yakovlev |
DATE | 2 |
| 2016 | Desugaring Haskell's do-notation into applicative operationsabstractMonads have taken the world by storm, and are supported by do-notation (at least in Haskell). Programmers are increasingly waking up to the usefulness and ubiquity of Applicatives, but they have so far been hampered by the absence of supporting notation. In this paper we show how to re-use the very same do-notation to work for Applicatives as well, providing efficiency benefits for some types that are both Monad and Applicative, and syntactic convenience for those that are merely Applicative. The result is fully implemented as an optional extension in GHC, and is in use at Facebook to make it easy to write highly-parallel queries in a distributed system. Simon Marlow, Simon L. Peyton Jones, Edward Kmett, Andrey Mokhov |
Haskell | 4 |
| 2016 | Non-recursive make considered harmful: build systems at scaleabstractMost build systems start small and simple, but over time grow into hairy monsters that few dare to touch. As we demonstrate in this paper, there are a few issues that cause build systems major scalability challenges, and many pervasively used build systems (e.g. Make) do not scale well. Andrey Mokhov, Neil Mitchell, Simon L. Peyton Jones, Simon Marlow |
Haskell | 1 |
| 2016 | MEMS-based power delivery control for bursty applicationsabstractThe current trends for greater heterogeneity in future Systems-on-Chip (SoC) do not only concern their functionality but also their timing and power aspects. The increasing diversity of timing and power supply conditions, and associated concurrently operating modes, within an SoC calls for more efficient power delivery networks (PDN) for battery operated devices. This is especially important for systems with mixed duty cycling, where some parts are required to work regularly with low-throughput while other parts are activated spontaneously, i.e. in bursts. To improve their reaction time vs energy efficiency, this paper proposes to incorporate a power-switching network based on MEM relays to switch the SoC power-performance state (PPS) into an active mode while eliminating the leakage current when it is idle. Results show that even with todays large and high pull-in voltages, a MEM-relay-based power switching network (PSN) can achieve a 1000x saving in energy compared to its CMOS counterpart for low duty cycle. Finally, the paper presents, by means of multiphysics simulation results, design guidelines for idle time and energy-saving estimates as a function of MEM relay scaling parameters. Haider Alrudainy, Andrey Mokhov, Nizar Dahir, Alexandre Yakovlev |
ISCAS | 2 |
| 2015 | Building Bridges Between Sets of Partial Orders
Hernán Ponce de León, Andrey Mokhov |
LATA | 2 |
| 2015 | Compositional design of asynchronous circuits from behavioural conceptsabstractAsynchronous circuits can be useful in many applications, however, they are yet to be widely used in industry. The main reason for this is a steep learning curve for concurrency models, such Signal Transition Graphs, that are developed by the academic community for specification and synthesis of asynchronous circuits. In this paper we introduce a compositional design flow for asynchronous circuits using concepts - a set of formalised descriptions for system requirements. Our aim is to simplify the process of capturing system requirements in the form of a formal specification, and promote the concepts as a means for design reuse. The proposed design flow is applied to the development of an asynchronous buck converter. Jonathan Beaumont, Andrey Mokhov, Danil Sokolov, Alexandre Yakovlev |
MEMOCODE | 2 |
| 2015 | Guest Editorial for Special Issue Application of Concurrency to System DesignabstractNo abstract available. Kamel Barkaoui, Luca Bernardinello, Andrey Mokhov |
ACM Trans. Embed. Comput. Syst. | 3 |
| 2014 | Design of safety critical systems by refinementabstractAn increasingly large number of safety-critical embedded systems rely on software to prevent and mitigate hazards occurring due to design errors and unexpected interactions of the system with its users and the environment. Implementing a safety instrumented function in the way advocated by the traditional software methods requires an intimate understanding and thorough validation of a complex ecosystem of programming languages, compilers, operating systems and hardware. We propose to consider an alternative where a system designer, for each individual problem, creates in a correct-by-construction manner both the design of a system and its compilation and execution infrastructure. This permits an uninterrupted chain of a formal correctness argument spanning from formalised requirements all the way to the gate-level characterisation of an execution environment. The past decade of advances in verification technology turned the mechanical verification of large-scale models into a reality while the pressure of certification makes the cost of a formally verified development routine increasingly acceptable. The proposal fits the Grand Challenge for Computer Research posed by Hoare in 2003, namely, development of a Verifying Compiler which not only mechanically translates a given program from one language to another but also verifies its correctness according to a formal specification. This allows meeting the most stringent software certification requirements such as SIL 4. We illustrate the vision with a small case-study developed using the Event-B modelling notation and tools. Alexei Iliasov, Arseniy Alekseyev, Danil Sokolov, Andrey Mokhov |
DATE | 4 |
| 2014 | Direct Construction of Complete Merged ProcessesabstractMerged processes (MPs) are a recently proposed condensed representation of a Petri net's behaviour similar to branching processes (unfoldings), which copes well not only with concurrency but also with other sources of state space explosion like sequences of choices. They are by orders of magnitude more compact than traditional unfoldings, and yet can be used for efficient model checking. However, constructing complete MPs is difficult, and the only known algorithm is based on building a (potentially much larger) complete unfolding prefix of a Petri net, whose nodes are then merged. Obviously, this significantly reduces their appeal as a representation that can be used for practical model checking. In this paper, we develop an algorithm that avoids constructing the intermediate unfolding prefix and builds a complete merged process directly from a safe Petri net. In particular, a challenging problem of truncating a merged process is solved. Victor Khomenko, Andrey Mokhov |
Comput. J. | 2 |
| 2014 | Synthesis of Processor Instruction Sets from High-Level ISA SpecificationsabstractAs processors continue to get exponentially cheaper for end users following Moore’s law, the costs involved in their design keep growing, also at an exponential rate. The reason is ever increasing complexity of processors, which modern EDA tools struggle to keep up with. This paper focuses on the design of Instruction Set Architecture (ISA), a significant part of the whole processor design flow. Optimal design of an instruction set for a particular combination of available hardware resources and software requirements is crucial for building processors with high performance and energy efficiency, and is a challenging task involving a lot of heuristics and high-level design decisions. This paper presents a new compositional approach to formal specification and synthesis of ISAs. The approach is based on a new formalism, called Conditional Partial Order Graphs, capable of capturing common behavioural patterns shared by processor instructions, and therefore providing a very compact and efficient way to represent and manipulate ISAs. The Event-B modelling framework is used as a formal specification and verification back-end to guarantee correctness of ISA specifications. We demonstrate benefits of the presented methodology on several examples, including Intel 8051 microcontroller. Andrey Mokhov, Alexei Iliasov, Danil Sokolov, Maxim Rykunov, Alexandre Yakovlev, Alexander B. Romanovsky |
IEEE Trans. Computers | 1 |
| 2014 | Algebra of Parameterised GraphsabstractOne of the difficulties in designing modern hardware systems is the necessity for comprehending and dealing with a very large number of system configurations, operational modes, and behavioural scenarios. It is often infeasible to consider and specify each individual mode explicitly, and one needs methodologies and tools to exploit similarities between the individual modes and work with groups of modes rather than individual ones. The modes and groups of modes have to be managed in a compositional way: the specification of the system should be composed from specifications of its blocks. This includes both structural and behavioural composition. Furthermore, one should be able to transform and optimise the specifications in a formal way. In this article, we propose a new formalism, called parameterised graphs . It extends the existing conditional partial order graphs (CPOGs) formalism in several ways. First, it deals with general graphs rather than just partial orders. Moreover, it is fully compositional. To achieve this, we introduce an algebra of parameterised graphs by specifying the equivalence relation by a set of axioms, which is proved to be sound, minimal, and complete. This allows one to manipulate the specifications as algebraic expressions using the rules of this algebra. We demonstrate the usefulness of the developed formalism on several case studies coming from the area of microelectronics design. Andrey Mokhov, Victor Khomenko |
ACM Trans. Embed. Comput. Syst. | 1 |
| 2013 | Design-for-adaptivity of microarchitecturesabstractIn the last decade we have witnessed a steady trend towards functional diversification of hardware, because an application specific hardware component is a lot easier to design and optimise than a general-purpose one. Therefore, a modern microelectronics system often contains several application specific cores, each targeted for a particular function. As operating conditions issues are becoming more important, we start to see non-functional diversification in terms of performance and energy consumption; it is expected that a system can operate in a wide spectrum of environmental conditions and it should support a hierarchy of energy-saving modes. As a result, "mode-specific" processing cores are gaining popularity. The number of possible combinations of functional and nonfunctional variations of hardware components is becoming unmanageable and is leading to inefficient silicon utilisation. In this paper we explore a novel approach to hardware design which allows building computation systems capable of adjusting to operating conditions through dynamic reconfiguration. We demonstrate the approach by designing an asynchronous microprocessor core that can operate in a wide range of supply voltages and can adjust its functionality towards a specific application and operating mode. Our methodology is based on a novel model of hardware description and on self-timed design techniques. Maxim Rykunov, Andrey Mokhov, Danil Sokolov, Alexandre Yakovlev, Albert Koelmans |
ASAP | 2 |
| 2013 | Concurrent Multiresource Arbiter: Design and ApplicationsabstractThis paper presents a novel type of asynchronous arbiter that allocates M interchangeable resources among N clients. This arbiter enables the concurrent utilization of multiple resources and is a useful device in various load-balancing circuits. Dedicated request signals from the resources and the clients are used in pairs to form each new grant. The 2 × 2 arbiter is examined as an accessible special case of the N × M arbiter. A concurrent implementation is compared to fully sequential design. It is shown that the sequential design can be more practical when the time between a grant and the withdrawal of the initial request is small. The concurrent design provides higher performance in a system with a longer resource utilization time. A scalable tiled structure is developed to extend the arbiter structure beyond 2 × 2 to support N clients and M resources. Models and subsequent implementations of the tiles are presented. The tiles can be repeated without the use of additional connecting logic, enabling the construction of arbiters of larger sizes. Several examples demonstrate the usage of the arbiter. Stanislavs Golubcovs, Delong Shang, Fei Xia 0001, Andrey Mokhov, Alexandre Yakovlev |
IEEE Trans. Computers | 4 |
| 2012 | Mixed Radix Reed-Muller ExpansionsabstractThe choice of radix is crucial for multivalued logic synthesis. Practical examples, however, reveal that it is not always possible to find the optimal radix when taking into consideration actual physical parameters of multivalued operations. In other words, each radix has its advantages and disadvantages. Our proposal is to synthesize logic in different radices, so it may benefit from their combination. The theory presented in this paper is based on Reed-Muller expansions over Galois field arithmetic. The work aims to first estimate the potential of the new approach and to second analyze its impact on circuit parameters down to the level of physical gates. The presented theory has been applied to real-life examples focusing on cryptographic circuits where Galois Fields find frequent application. The benchmark results show that the approach creates a new dimension for the trade-off between circuit parameters and provides information on how the implemented functions are related to different radices. Ashur Rafiev, Andrey Mokhov, Frank P. Burns, Julian P. Murphy, Albert Koelmans, Alexandre Yakovlev |
IEEE Trans. Computers | 2 |
| 2011 | An Algorithm for Direct Construction of Complete Merged Processes
Victor Khomenko, Andrey Mokhov |
Petri Nets | 2 |
| 2011 | Formal modelling and transformations of processor instruction setsabstractInstruction sets of modern processors contain hundreds of instructions defined on a relatively small set of datapath components and distinguished by their codes and the order in which they activate these components. Optimal design of an instruction set for a particular combination of available hardware components and software requirements is crucial for system performance and is a challenging task involving a lot of heuristics and high-level design decisions. The overall design process is significantly complicated by inefficient representation of instructions, which are usually described individually despite the fact that they share a lot of common behavioural patterns. This paper presents a new methodology for compact graph representation of processor instruction sets, which gives the designer a new high-level perspective for reasoning on large sets of instructions without having to look at each of them individually. This opens the way for various transformation and optimisation procedures, which are formally defined and explained on several examples, as well as practically evaluated on an FPGA platform. Andrey Mokhov, Danil Sokolov, Maxim Rykunov, Alexandre Yakovlev |
MEMOCODE | 1 |
| 2011 | Flat ArbitersabstractA new way of constructing N-way arbiters is proposed. The main idea is to perform arbitrations between all pairs of requests, and then make decision on what grant to issue based on their outcomes. Crucially, all the mutual exclusion elements in such Andrey Mokhov, Victor Khomenko, Alexandre Yakovlev |
Fundam. Informaticae | 1 |
| 2010 | Conditional Partial Order Graphs: Model, Synthesis, and ApplicationabstractThe paper introduces a new formal model for specification and synthesis of control paths in the context of asynchronous system design. The model, called Conditional Partial Order Graph (CPOG), captures concurrency and choice in a system's behavior in a compact and efficient way. It has advantages over widely used interpreted Petri Nets and Finite State Machines for a class of systems which have many behavioral scenarios defined on the same set of actions, e.g., CPU microcontrollers. The CPOG model has potential applications in the area of microcontrol synthesis and brings new methods for modeling concurrency into the application domain of modern and future processor architectures. The paper gives the formal definition of the CPOG model, formulates and solves the problem of CPOG synthesis, and introduces various optimization techniques. The presented ideas can be applied for CPU control synthesis as well as for synthesis of different kinds of event-coordination circuits often used in data coding and communication in digital systems, as demonstrated with several application examples. Andrey Mokhov, Alexandre Yakovlev |
IEEE Trans. Computers | 1 |
| 2008 | Conditional Partial Order Graphs and Dynamically Reconfigurable Control SynthesisabstractThe paper introduces a new formal model for specifying control paths in the context of asynchronous system design. The model, called conditional partial order graph (CPOG), is capable of capturing concurrency and choice in a system's behaviour in a compact and efficient way. A problem of CPOG synthesis is formulated and solved; various CPOG optimisation techniques are presented. The introduced model can be used for the specification of system behaviour and for synthesis of area-efficient dynamically reconfigurable controllers. The synthesis of a controller is based on a novel generic architecture, called transition sequence encoder (TSE). The synthesized controllers are speed independent and thus very robust to parametric variations. The ideas presented in the paper can be applied for CPU control synthesis as well as for synthesis of different kinds of event-coordination circuits often used in data coding and communication in digital systems. Andrey Mokhov, Alexandre Yakovlev |
DATE | 1 |