Separating Synchronization Concerns with Frameworks and Generative Programming

Total Page:16

File Type:pdf, Size:1020Kb

Separating Synchronization Concerns with Frameworks and Generative Programming Separating Synchronization Concerns with Frameworks and Generative Programming Scott D. Fleming, R. E. K. Stirewalt, Laura K. Dillon, and Beata Sarna-Starosta Software Engineering and Network Systems Laboratory Department of Computer Science and Engineering Michigan State University East Lansing, Michigan USA 48824 fsdf,stire,ldillon,[email protected] Abstract Thread synchronization in object-oriented systems is difficult to implement, in part, because traditional synchronization mechanisms are low level and, in part, because synchronization code is cross cutting and usually interleaved with functional code. In prior work, we addressed the first of these problems with a compositional model of mutual exclusion called Szumo, that is customized to the needs of strictly exclusive systems. This paper extends our prior work to address the second problem. We present SzumoC++, an approach to building strictly exclusive systems in C++ that affords a high degree of abstraction and separa- tion of concerns. Development in SzumoC++ proceeds from an explicit design model, which is assumed to have been validated. Our approach uses object-oriented frameworks and a custom specification language to support the development of separate functional and synchronization modules which retain a high degree of design transparency. By virtue of this transparency, and with the aid of generative programming techniques, these separately implemented modules may be composed in a consistent manner. By virtue of being based on a Szumo design, we expect the resulting systems to be robust under change. 1 Introduction Thread synchronization in object-oriented (OO) systems is a global and cross-cutting concern, which is dif- ficult to implement and is resistant to clean separation from the primary functional logic of programs. While much progress has been made in the development of tools and frameworks for separating the synchronization from the functional logic of a program (e.g., [18]), synchronization concerns are difficult to modularize in such a manner that local changes to the functional logic engender commensurately local changes to the syn- chronization logic. Consequently, accommodating a local change or extension to the functional logic could require a redesign of the program’s synchronization logic. This problem is especially vexing during software maintenance and is detrimental to the construction of open and adaptable systems. Our work aims to support the development and long-term maintenance of multi-threaded OO systems that are robust under change. We believe this goal can be achieved if the methods used to separate synchronization from functional logic are based on clean compositional design models, and if the separated synchronization and functional modules exhibit a high degree of transparency with respect to the design. This design transparency enables both the automated composition of and a form of consistency checking between the functional and synchronization modules. Previously, we developed a compositional model of synchronization called the Synchronization Units Model (Szumo) [2, 25]. Szumo trades generality for compositionality by focusing on the category of strictly exclusive systems, in which multiple threads compete for exclusive access to dynamically changing sets of shared resources. This narrowing of focus was motivated by the observation that many applications fit well in this category and that, in such cases, we can exploit a clean, compositional model of design and verifica- 1 tion [22, 9]. Examples of strictly exclusive systems include extensible web servers and interactive applications with complex graphical user interfaces. Our previous implementation of Szumo involved an extension of an existing programming language (Eif- fel) with new constructs that directly express the features of a Szumo design [1, 25]. Using this extended language, we were able to show how Szumo supports modular descriptions of the synchronization concern, raising the level of abstraction at which synchronization concerns are expressed, and automating implemen- tation and enforcement of these concerns. A case study involving maintenance and evolution of a web server, based on the architectural design of Apache, demonstrated that a well-designed Szumo application could be safely modified and extended without requiring redesign of the original synchronization concern [3]. How- ever, this implementation of Szumo lacked facilities for separating synchronization logic and functional logic to the extent achievable in approaches such as [4, 8, 18]. Upon reflection, we realized that an implementation of Szumo based solely on a language extension could not easily accommodate such facilities, especially in a modern production language such as C++. This paper describes a new approach to programming Szumo applications that overcomes these deficien- cies. The approach builds on explicit models of a Szumo design and a new programming system, called SzumoC++. A prototype implementation of our programming system can be found at: http://www.cse.msu.edu/sens/szumo/szumoc++.tar.gz. SzumoC++ uses a novel combination of plug-compatible OO frameworks and generative programming to impose upon the separated functional and synchronization modules a level of design transparency that enables the safe and automatic composition of concerns.The result simplifies programming of the synchronization concern and supports a separation of functional and synchronization concerns that inherits Szumo’s support for robustness under change. In the remainder of the paper, we first give a background on the Szumo model and a sample Szumo design to use in a running example (Section 2). We then provide an overview of our approach (Section 3), deferring the details of its many components to later sections. We conclude with a comparison with related work (Section 8), and a discussion of lessons learned and possible directions for the future work (Section 9). 2 Szumo Irrespective of how it is implemented (i.e., as a language extension or as part of a programming system), Szumo is a model of synchronization among entities in a strictly exclusive program. In this model, threads contend with one another for exclusive access to sets of synchronization units. Intuitively, the synchronization units in an application define indivisible units of sharing—at any time during execution, a thread is allowed to access either all of the objects contained in a synchronization unit or none of the objects contained in that unit [1, 25]. In lieu of code that invokes OS-level synchronization primitives, a synchronization unit declares one or more synchronization constraints, which specify the conditions under which the unit—acting as a client—needs exclusive access to units—acting as the client’s direct suppliers—that the client holds refer- ences to. At run time, threads negotiate for exclusive access to suppliers in accordance with the constraints declared by any clients that they are executing. The declarative nature of synchronization constraints and this automated process of negotiation are key to Szumo’s support for extension and maintenance [3]. As a background for subsequent sections, we now describe the details of a Szumo design, and provide an overview of the negotiation process. 2.1 Design Models A key component of our approach is the use of an explicit model of a program’s design, which is used both as a reference during implementation and also during the composition of separated concerns. Szumo design 2 <<root_unit>> left <<unit>> Philosopher Philosopher right Fork before eat() eating: bool <<unit>> ! eating eating void think() sync_constr =<<unit>> "eating ==> left" void eat() sync_constr = "eating ==> right" after eat() (a) (b) Figure 1: Diagrams depicting the unit-class and synchronization-state models of a Szumo design models are expressed using a variant of the class and state diagram notations of UML 2.0 [21]. These models impose a modular structure upon and record key design decisions related to the synchronization concern. An important design decision involves the granularity of sharing among the threads. Szumo allows appli- cation developers to choose the granularity of sharing by means of synchronization units, which are containers of (one or more) program objects. Synchronization units themselves resemble objects in that they may en- capsulate state, provide operations, and reference other synchronization units whose operations they use to implement their own. When a program object is created, it is deployed to exactly one synchronization unit, where it remains throughout its lifetime. A thread that holds exclusive access to a synchronization unit, holds exclusive access to all objects contained within this unit. Synchronization units are identified with instances of types called unit classes. In addition to standard operations, a unit class C may declare unit variables, condition variables, and synchronization constraints. Unit variables reference synchronization units that serve as direct suppliers to units of type C. Condition variables are boolean-valued variables in a unit class. The synchronization constraints specify the suppliers to which a client unit requires exclusive access based on the values of the unit’s condition variables and unit variables. We say that a client unit c entails a direct supplier s when c requires exclusive access to s, and refer to the set of all direct suppliers that c entails at any given time as c’s entailment. To illustrate these ideas, Fig. 1 depicts the models used
Recommended publications
  • Synchronization Techniques for DOCSIS® Technology Specification
    Data-Over-Cable Service Interface Specifications Mobile Applications Synchronization Techniques for DOCSIS® Technology Specification CM-SP-SYNC-I02-210407 ISSUED Notice This DOCSIS specification is the result of a cooperative effort undertaken at the direction of Cable Television Laboratories, Inc. for the benefit of the cable industry and its customers. You may download, copy, distribute, and reference the documents herein only for the purpose of developing products or services in accordance with such documents, and educational use. Except as granted by CableLabs® in a separate written license agreement, no license is granted to modify the documents herein (except via the Engineering Change process), or to use, copy, modify or distribute the documents for any other purpose. This document may contain references to other documents not owned or controlled by CableLabs. Use and understanding of this document may require access to such other documents. Designing, manufacturing, distributing, using, selling, or servicing products, or providing services, based on this document may require intellectual property licenses from third parties for technology referenced in this document. To the extent this document contains or refers to documents of third parties, you agree to abide by the terms of any licenses associated with such third-party documents, including open source licenses, if any. Cable Television Laboratories, Inc. 2018–2021 CM-SP-SYNC-I02-210407 Data-Over-Cable Service Interface Specifications DISCLAIMER This document is furnished on an "AS IS" basis and neither CableLabs nor its members provides any representation or warranty, express or implied, regarding the accuracy, completeness, noninfringement, or fitness for a particular purpose of this document, or any document referenced herein.
    [Show full text]
  • Lecture 8: More Pipelining
    Overview n Getting Started with Lab 2 Lecture 8: n Just get a single pixel calculating at one time n Then look into filling your pipeline n Multipliers More Pipelining n Different options for pipelining: what do you need? n 3 Multipliers or put x*x, y*y, and x*y through sequentially? David Black-Schaffer n Pipelining [email protected] n If it won’t fit in one clock cycle you have to divide it EE183 Spring 2003 up so each stage will fit n The control logic must be designed with this in mind n Make sure you need it EE183 Lecture 8 - Slide 2 Public Service Announcement Logistics n n Xilinx Programmable World Lab 2 Prelab due Friday by 5pm n Tuesday, May 6th n http://www.xilinx.com/events/pw2003/index.htm n Guest lecture next Monday n Guest Lectures Synchronization and Metastability n Monday, April 28th These are critical for high-speed systems and Ryan Donohue on Metastability and anything where you’ll be connecting across Synchronization clock domains. n Wednesday, May 7th Gary Spivey on ASIC & FPGA Design for Speed n The content of these lectures will be on the Quiz SHOW UP! (please) EE183 Lecture 8 - Slide 3 EE183 Lecture 8 - Slide 4 1 Easier FSMs Data Path always @(button or current_state) Do this if nothing else is begin Xn Yn write_en <= 0; specified. Mandel X Julia X Mandel X Julia Y output <= 1; next_state <= `START_STATE; Mux * * * Mux case(current_state) Note that the else is not `START_STATE: specified. begin write_en <= 1; - <<1 + if (button) next_state <= `WAIT_STATE; What is the next state? end What do we+ do if the+ wholeIf>4
    [Show full text]
  • Performance Analysis of Audio and Video Synchronization Using Spreaded Code Delay Measurement Technique
    ISSN: 0976-9102 (ONLINE) ICTACT JOURNAL ON IMAGE AND VIDEO PROCESSING, AUGUST 2018, VOLUME: 09, ISSUE: 01 DOI: 10.21917/ijivp.2018.0254 PERFORMANCE ANALYSIS OF AUDIO AND VIDEO SYNCHRONIZATION USING SPREADED CODE DELAY MEASUREMENT TECHNIQUE A. Thenmozhi and P. Kannan Department of Electronics and Communication Engineering, Anna University-Chennai, India Abstract video streams for necessarily maintaining synchronization The audio and video synchronization plays an important role in speech between the audio and video signals. During transmission, the recognition and multimedia communication. The audio-video sync is a audio and video streams are recorded by combining audio and quite significant problem in live video conferencing. It is due to use of video signatures into a synchronization signature. At reception, various hardware components which introduces variable delay and the equivalent signatures are extracted and compared with the software environments. The synchronization loss between audio and reference signature using a hamming distance correlation to video causes viewers not to enjoy the program and decreases the estimate the relative misalignment between the audio and video effectiveness of the programs. The objective of the synchronization is used to preserve the temporal alignment between the audio and video streams. Finally, the calculated delays are recognized to correct signals. This paper proposes the audio-video synchronization using the relative temporal misalignment between the audio and video spreading codes delay measurement technique. The performance of the streams. The synchronization efficiency is high for both audio and proposed method made on home database and achieves 99% video streams. It is applicable for multimedia and networking synchronization efficiency. The audio-visual signature technique technology.
    [Show full text]
  • Timecoder Pro Is Indata's Popular Video and Transcript
    TimeCoder Pro is inData’s popular video and transcript synchronization software. Widely used by legal videographers, court reporters, and law firms, the software automatically synchronizes transcripts and video depositions using advanced speech and pattern recognition technologies. Imagine... in just an hour, you can synchronize up to 20 hours of deposition testimony! Not only is TimeCoder Pro faster than ever before, but it also gives you full control over your synchronization projects. TIMECODER PRO PUTS YOU IN COMPLETE CONTROL OF THE SYNCING PROCESS Control – process transcripts in-house. No data goes out of your office or offshore and you’ll always know the status of a sync job Complete Job History – available online for all jobs processed, including time and accuracy statistics Marketing Tools – create client loyalty and reinforce your branding by distributing videos on a DepoView DVD. You can even personalize the main menu of DepoView DVD with your company logo and contact information. Also, take advantage of inData’s customizable brochures and mailers available exclusively to TimeCoder Pro clients. “Having spent the past 2 months “The RapidSync feature in TimeCoder running hundreds of hours of vid- Pro is amazing!!! I synchronized a 9 eo through TimeCoder Pro 5, I can hour deposition with minimal QC effort say without question that you have in 45 minutes.” a true WINNER on your hands.” Richard E. Katz, Esq. Mark Fowler President/CEO Litigation Support & Multimedia Specialist Katz Consulting Group, LLC Whetstone Myers Perkins & Young 1 www.indatacorp.com | 800.828.8292 Multiple Sync Options With TimeCoder Pro, you have multiple synchronization options.
    [Show full text]
  • The Use of Music in the Cinematic Experience
    Western Kentucky University TopSCHOLAR® Honors College Capstone Experience/Thesis Honors College at WKU Projects Spring 2019 The seU of Music in the Cinematic Experience Sarah Schulte Western Kentucky University, [email protected] Follow this and additional works at: https://digitalcommons.wku.edu/stu_hon_theses Part of the Film and Media Studies Commons, Music Commons, and the Psychology Commons Recommended Citation Schulte, Sarah, "The sU e of Music in the Cinematic Experience" (2019). Honors College Capstone Experience/Thesis Projects. Paper 780. https://digitalcommons.wku.edu/stu_hon_theses/780 This Thesis is brought to you for free and open access by TopSCHOLAR®. It has been accepted for inclusion in Honors College Capstone Experience/ Thesis Projects by an authorized administrator of TopSCHOLAR®. For more information, please contact [email protected]. SOUND AND EMOTION: THE USE OF MUSIC IN THE CINEMATIC EXPERIENCE A Capstone Project Presented in Partial Fulfillment of the Requirements for the Degree Bachelor of Arts with Honors College Graduate Distinction at Western Kentucky Univeristy By Sarah M. Schulte May 2019 ***** CE/T Committee: Professor Matthew Herman, Advisor Professor Ted Hovet Ms. Siera Bramschreiber Copyright by Sarah M. Schulte 2019 Dedicated to my family and friends ACKNOWLEDGEMENTS This project would not have been possible without the help and support of so many people. I am incredibly grateful to my faculty advisor, Dr. Matthew Herman. Without your wisdom on the intricacies of composition and your constant encouragement, this project would not have been possible. To Dr. Ted Hovet, thank you for believing in this project from the start. I could not have done it without your reassurance and guidance.
    [Show full text]
  • Perception of Cuts in Different Editing Styles Celia Andreu-Sánchez; Miguel-Ángel Martín-Pascual
    Perception of cuts in different editing styles Celia Andreu-Sánchez; Miguel-Ángel Martín-Pascual Nota: Este artículo se puede leer en español en: http://www.profesionaldelainformacion.com/contenidos/2021/mar/andreu-martin_es.pdf How to cite this article: Andreu-Sánchez, Celia; Martín-Pascual, Miguel-Ángel (2021). “Perception of cuts in different editing styles”. Profesional de la información, v. 30, n. 2, e300206. https://doi.org/10.3145/epi.2021.mar.06 Manuscript received on 18th May 2020 Accepted on 12th July 2020 Celia Andreu-Sánchez * Miguel-Ángel Martín-Pascual https://orcid.org/0000-0001-9845-8957 https://orcid.org/0000-0002-5610-5691 Serra Húnter Fellow Technological Innovation IRTVE Universitat Autònoma de Barcelona Instituto RTVE (Barcelona) Dep. de Com. Audiovisual i Publicitat Corporación Radio Televisión Española Neuro-Com Research Group Universitat Autònoma de Barcelona Edifici I. Campus Bellaterra. Dep. de Com. Audiovisual i Publicitat 08193 Cerdanyola del Vallès (Barcelona), Spain Neuro-Com Research Group [email protected] [email protected] Abstract The goal of this work is to explain how the cuts and their insertion in different editing styles influence the attention of viewers. The starting hypothesis is that viewers’ response to cuts varies depending on whether they watch a movie with a classical versus a messy or chaotic editing style. To undertake this investigation, we created three videos with the same narrative content and duration but different editing styles. One video was a fixed one-shot movie. Another video followed a classical editing style, based on the rules of classic Hollywood movies, according to David Bordwell’s studies.
    [Show full text]
  • Motion-Based Video Synchronization
    ActionSnapping: Motion-based Video Synchronization Jean-Charles Bazin and Alexander Sorkine-Hornung Disney Research Abstract. Video synchronization is a fundamental step for many appli- cations in computer vision, ranging from video morphing to motion anal- ysis. We present a novel method for synchronizing action videos where a similar action is performed by different people at different times and different locations with different local speed changes, e.g., as in sports like weightlifting, baseball pitch, or dance. Our approach extends the popular \snapping" tool of video editing software and allows users to automatically snap action videos together in a timeline based on their content. Since the action can take place at different locations, exist- ing appearance-based methods are not appropriate. Our approach lever- ages motion information, and computes a nonlinear synchronization of the input videos to establish frame-to-frame temporal correspondences. We demonstrate our approach can be applied for video synchronization, video annotation, and action snapshots. Our approach has been success- fully evaluated with ground truth data and a user study. 1 Introduction Video synchronization aims to temporally align a set of input videos. It is at the core of a wide range of applications such as 3D reconstruction from multi- ple cameras [20], video morphing [27], facial performance manipulation [6, 10], and spatial compositing [44]. When several cameras are simultaneously used to acquire multiple viewpoint shots of a scene, synchronization can be trivially achieved using timecode information or camera triggers. However this approach is usually only available in professional settings. Alternatively, videos can be synchronized by computing a (fixed) time offset from the recorded audio sig- nals [20].
    [Show full text]
  • Virtual Video Editing in Interactive Multimedia Applications
    SPECIAL SECTION Edward A. Fox Guest Editor Virtual Video Editing in Interactive Multimedia Applications Drawing examples from four interrelated sets of multimedia tools and applications under development at MIT, the authors examine the role of digitized video in the areas of entertainment, learning, research, and communication. Wendy E. Mackay and Glorianna Davenport Early experiments in interactive video included surro- video data format might affect these kinds of informa- gate travel, trainin);, electronic books, point-of-purchase tion environments in the future. sales, and arcade g;tme scenarios. Granularity, inter- ruptability, and lixrited look ahead were quickly identi- ANALOG VIDEO EDITING fied as generic attributes of the medium [l]. Most early One of the most salient aspects of interactive video applications restric:ed the user’s interaction with the applications is the ability of the programmer or the video to traveling along paths predetermined by the viewer to reconfigure [lo] video playback, preferably author of the program. Recent work has favored a more in real time. The user must be able to order video constructivist approach, increasing the level of interac- sequences and the system must be able to remember tivity ‘by allowing L.sers to build, annotate, and modify and display them, even if they are not physically adja- their own environnlents. cent to each other. It is useful to briefly review the Tod.ay’s multitasl:ing workstations can digitize and process of traditional analog video editing in order to display video in reel-time in one or more windows on understand both its influence on computer-based video the screen.
    [Show full text]
  • CHAPTER 3. Film Sound Preservation: Early Sound Systems
    CHAPTER 3. Film Sound Preservation: Early Sound Systems 3.1 Film Sound Preservation In the introduction I argued that the nature of film sound consists of different dimensions: the textual and material dimensions, the human and technological dimensions, the institutional, experiential and memorial dimensions. Each of these should be taken into account in preservation and presentation practices. Some of these dimensions were investigated in the first two chapters, where I outlined a set of key concepts related to recorded sound that I derived from social and artistic sound practices as well as media theories: the noise of the material carriers and technological devices, cleaned and cracked sounds, the notion of soundscape and high fidelity, and the concepts of media memory and audiovisual trace. In the following chapters I will further analyze the nature of film sound and its core dimensions beginning with the analysis of film sound preservation and presentation case studies. In this chapter, I examine preservation and restoration projects of films where the issue of sound is particularly relevant, while chapter four analyzes the work of film heritage institutions with respect to film sound presentation. The case studies discussed here are prompted by the following questions: how can we preserve and restore film sound materials? What are the different approaches to film sound preservation and restoration? What are the problems and defects of different film sound carriers and apparatuses? Which kind of actions can be taken to solve those problems? How can the actions undertaken to preserve film sound be recorded and documented? How is it possible to exhibit and display film sound in present-day theatres? The answers to these questions as provided by the case studies will contribute to the definition of the nature of film sound, which will be elaborated in chapter five.
    [Show full text]
  • Modeling Crosscutting Services with UML Sequence Diagrams
    Modeling Crosscutting Services with UML Sequence Diagrams Martin Deubler, Michael Meisinger, Sabine Rittmann Ingolf Krüger Technische Universität München Department of Computer Science Boltzmannstr. 3 University of California, San Diego 85748 München, Germany La Jolla, CA 92093-0114, USA {deubler, meisinge, [email protected] rittmann}@in.tum.de Abstract. Current software systems increasingly consist of distributed interact- ing components. The use of web services and similar middleware technologies strongly fosters such architectures. The complexity resulting from a high de- gree of interaction between distributed components – that we face with web service orchestration for example – poses severe problems. A promising ap- proach to handle this intricacy is service-oriented development; in particular with a domain-unspecific service notion based on interaction patterns. Here, a service is defined by the interplay of distributed system entities, which can be modeled using UML Sequence Diagrams. However, we often face functionality that affects or is spanned across the behavior of other services; a similar con- cept to aspects in Aspect-Oriented Programming. In the service-oriented world, such aspects form crosscutting services. In this paper we show how to model those; we introduce aspect-oriented modeling techniques for UML Sequence Diagrams and show their usefulness by means of a running example. 1 Introduction Today’s software systems get increasingly complex. Complexity is observed in all software application domains: In business information systems, technical and admin- istrative systems, as well as in embedded systems such as in avionics, automotive and telecommunications. Often, major sources of the complexity are interactions between system components. Current software architectures increasingly use distributed com- ponents as for instance seen when using web services [11] and service-oriented archi- tectures [7].
    [Show full text]
  • Cross-Cutting Themes from Tasks 1, 2 and 3: Principles and Guidelines for an Overarching Governance Framework
    Ref. Ares(2020)4052081 - 31/07/2020 D4.4 Cross-cutting themes from tasks 1, 2 and 3: principles and guidelines for an overarching governance framework WP4 Governance and technologies: interrelations and opportunities Grant Agreement n° 822735, Research and Innovation Action This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement nº 822735. This document reflects only the author’s view and the Commission is not responsible for any use that may be made of the information it contains. TRIGGER TRends in Global Governance and Europe's Role Deliverable number: Deliverable name: D4.4 Cross-cutting themes from tasks 1, 2 and 3: principles and guidelines for an overarching governance framework WP4 Governance and technologies : interrelations and WP / WP number: opportunities 31.07.20 Delivery due date: 31.07.20 Actual date of submission: Public Dissemination level: CEPS Lead beneficiary: Andrea Renda Contributor(s): D4.4 Cross-cutting themes from tasks 1, 2 and 3: principles and guidelines for an overarching governance framework Changes with respect to the DoA - Dissemination and uptake Public Evidence of accomplishment Report 1 Table of Contents 1. Anatomy of the digital transformation ....................................................................................... 5 1.1. The ICT ecosystem: foundational elements .................................................................. 6 1.2. The evolving ICT ecosystem: main trends ...................................................................
    [Show full text]
  • Random Talk: Random Walk and Synchronizability in a Moving Neighborhood Network$
    Physica D 224 (2006) 102–113 www.elsevier.com/locate/physd Random talk: Random walk and synchronizability in a moving neighborhood network$ Maurizio Porfiria, Daniel J. Stilwellb,∗, Erik M. Bolltc, Joseph D. Skufcac a Department of Mechanical, Aerospace and Manufacturing Engineering, Polytechnic University, Brooklyn, NY 11201, USA b The Bradley Department of Electrical and Computer Engineering, Virginia Polytechnic Institute and State University, Blacksburg, VA 24061, USA c Department of Mathematics and Computer Science, Clarkson University, Postdam, NY 13699-5815, USA Available online 7 November 2006 Abstract We examine the synchronization problem for a group of dynamic agents that communicate via a moving neighborhood network. Each agent is modeled as a random walker in a finite lattice and is equipped with an oscillator. The communication network topology changes randomly and is dictated by the agents’ locations in the lattice. Information sharing (talking) is possible only for geographically neighboring agents. This complex system is a time-varying jump nonlinear system. We introduce the concept of ’long-time expected communication network’, defined as the ergodic limit of a stochastic time-varying network. We show that if the long-time expected network supports synchronization, then so does the stochastic network when the agents diffuse sufficiently quickly in the lattice. c 2006 Elsevier B.V. All rights reserved. Keywords: Synchronization; Random walk; Stochastic stability; Graph; Fast switching 1. Introduction for the analysis of [11–18]. However, in many real-world complex networks, such as biological, epidemiological, and Over the past few years, synchronization in complex social networks, it is reasonable to assume that the coupling networks has attracted a massive research attention, see strengths and even the network topologies can evolve over time.
    [Show full text]