[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-seo-657546-105":3,"detail-sidebar-cat-0-en-105":80,"doc-detail-657546-en":130},{"code":4,"msg":5,"data":6},0,"ok",{"site_id":7,"language":8,"slug":9,"title":10,"keywords":11,"description":12,"schema_data":13,"social_meta":73,"head_meta":75,"extra_data":77,"updated_unix":79},105,"en","a-metamodel-for-concurrent-systems-design","A Metamodel for Concurrent Systems Design","","Concurrent systems are difficult to design and analyze because behavior emerges from interactions among multiple processes and shared resources. In many implementations, synchronization rules and structural relationships remain hidden in code, complicating visualization and reasoning about properties such as deadlock freedom. This work proposes a domain-specific language that makes process-resource structure explicit and integrates modelling into a single language pipeline supporting AST creation, visual diagrams, and formal PlusCal/TLA+ models for automated checking. Validation uses a producer-consumer case study to demonstrate end-to-end generation and deadlock analysis for representative scenarios.",{"@graph":14,"@context":72},[15,34,55],{"@type":16,"itemListElement":17},"BreadcrumbList",[18,23,27,31],{"item":19,"name":20,"@type":21,"position":22},"https://docshare.wps.com","Home","ListItem",1,{"item":24,"name":25,"@type":21,"position":26},"https://docshare.wps.com/document/","Document",2,{"item":28,"name":29,"@type":21,"position":30},"https://docshare.wps.com/document/research-report/","Research & Report",3,{"item":32,"name":10,"@type":21,"position":33},"https://docshare.wps.com/document/a-metamodel-for-concurrent-systems-design/657546/",4,{"url":32,"name":10,"@type":35,"image":36,"author":41,"headline":10,"publisher":44,"fileFormat":47,"inLanguage":8,"description":12,"dateModified":48,"datePublished":49,"encodingFormat":47,"isAccessibleForFree":50,"interactionStatistic":51},"DigitalDocument",{"url":37,"@type":38,"width":39,"height":40},"https://docshare.wps.com/thumbnails/a-metamodel-for-concurrent-systems-design/657546.png","ImageObject",300,407,{"name":42,"@type":43},"นรินทร์","Person",{"url":19,"name":45,"@type":46},"DocShare","Organization","application/pdf","2026-10-27","2026-10-26",true,{"@type":52,"interactionType":53,"userInteractionCount":22},"InteractionCounter",{"@type":54},"ViewAction",{"@type":56,"mainEntity":57},"FAQPage",[58,64,68],{"name":59,"@type":60,"acceptedAnswer":61},"What core problem does the thesis address in concurrent systems design?","Question",{"text":62,"@type":63},"Concurrent systems are hard to design and analyze because their behavior depends on interactions among processes and shared resources, while synchronization structure is often hidden in implementation code.","Answer",{"name":65,"@type":60,"acceptedAnswer":66},"What does the proposed domain-specific language make explicit?",{"text":67,"@type":63},"It makes the process-resource structure explicit, including process/resource types, resource operations, synchronization conditions, typed associations, and concrete scenarios in one textual specification.",{"name":69,"@type":60,"acceptedAnswer":70},"How is the DSL processed to produce both diagrams and formal models?",{"text":71,"@type":63},"Input files are parsed with ANTLR4 into a typed AST, then handled by independent backends: a Graphviz-based diagram backend and a formal backend generating a PlusCal/TLA+ model analyzed with TLC.","https://schema.org",{"og:url":32,"og:type":74,"og:title":10,"og:site_name":45,"og:description":12},"article",{"robots":76,"canonical":32},"index,follow",{"doc_id":78,"site_id":7},657546,1793115429,{"code":4,"msg":81,"data":82},"success",[83,87,91,95,100,105,110,114,119,122,126],{"id":22,"doc_module":4,"doc_module_name":25,"category_name":84,"show_sort_weight":85,"slug":86},"Story & Novel",90,"story-novel",{"id":26,"doc_module":4,"doc_module_name":25,"category_name":88,"show_sort_weight":89,"slug":90},"Literature",80,"literature",{"id":33,"doc_module":4,"doc_module_name":25,"category_name":92,"show_sort_weight":93,"slug":94},"Exam",70,"exam",{"id":96,"doc_module":4,"doc_module_name":25,"category_name":97,"show_sort_weight":98,"slug":99},5,"Comic",60,"comic",{"id":101,"doc_module":4,"doc_module_name":25,"category_name":102,"show_sort_weight":103,"slug":104},6,"Technology",50,"technology",{"id":106,"doc_module":4,"doc_module_name":25,"category_name":107,"show_sort_weight":108,"slug":109},7,"Healthcare",40,"healthcare",{"id":111,"doc_module":4,"doc_module_name":25,"category_name":29,"show_sort_weight":112,"slug":113},8,30,"research-report",{"id":115,"doc_module":4,"doc_module_name":25,"category_name":116,"show_sort_weight":117,"slug":118},9,"Religion & Spirituality",20,"religion-spirituality",{"id":117,"doc_module":4,"doc_module_name":25,"category_name":120,"show_sort_weight":117,"slug":121},"World Cup","world-cup",{"id":123,"doc_module":4,"doc_module_name":25,"category_name":124,"show_sort_weight":123,"slug":125},10,"Lifestyle","lifestyle",{"id":127,"doc_module":4,"doc_module_name":25,"category_name":128,"show_sort_weight":96,"slug":129},19,"General","general",{"code":4,"msg":81,"data":131},{"doc_id":78,"user_id":132,"nickname":42,"user_avatar":133,"doc_module":4,"category_id":111,"category_name":29,"doc_title":10,"doc_description":12,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":22,"is_deleted":4,"is_public":22,"is_downloadable":22,"audit_status":22,"page_count":139,"language":140,"language_code":8,"site_id":7,"html_lang":8,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":12,"update_tm":144,"read_time":145},2336475104957,"https://ap-avatar.wpscdn.com/avatar/22000c4c6bd8a5076e1?x-image-process=image/resize,m_fixed,w_180,h_180&k=1787554080175789136","Universidad Politécnica de Madrid  \nEscuela Técnica Superior de Ingenieros Informáticos  \nEuropean Master in Software Engineering  \nMaster Thesis  \nA Metamodel for Concurrent Systems  \nDesign  \nAuthor: María Esther Colmenar Lamas  \nMadrid, June 2026  \nThis Master Thesis has been deposited in ETSI Informáticos of the Universidad Politécnica de Madrid.  \nMaster Thesis  \nEuropean Master in Software Engineering  \nTitle: A Metamodel for Concurrent Systems Design  \nJune 2026  \nAuthor: María Esther Colmenar Lamas  \nSupervisor:  \nÁngel Herranz Nieva  \nEscuela Técnica Superior de Ingenieros Informáticos  \nDepartment of Languages and Computer Systems and Software Engineering  \nPolytechnic University of Madrid  \nCo-supervisor:  \nJulio Mariño Carballo  \nEscuela Técnica Superior de Ingenieros Informáticos  \nDepartment of Languages and Computer Systems and Software Engineering  \nPolytechnic University of Madrid  \nAbstract  \nConcurrent systems are difficult to design and analyze because their behavior depends on the interaction between multiple processes and shared resources. In many cases, the structure of the system and its synchronization rules are hidden inside implementation code, which makes it harder to visualize the design and reason about properties such as deadlock freedom.  \nThis work proposes a domain-specific language that makes the process-resource structure of concurrent systems explicit. The language allows developers to define process types, shared resource types, resource operations, synchronization conditions, typed associations, and concrete scenarios in a single textual specification. The main contribution is the integration of these modelling concepts into one language pipeline, where the same specification is used as the source for an internal Abstract Syntax Tree (AST), visual representations, and a formal model.  \nInput source files are parsed using ANTLR4, transformed into a typed AST, and then processed by independent backends for diagram generation and formal specification generation. The diagram backend generates Graphviz-based structural and scenario views, while the formal backend generates a PlusCal/TLA+ model that can be analyzed with the TLC model checker. A Visual Studio Code extension providing syntax highlighting is also included.  \nThe approach is validated through a producer-consumer case study, showing that the same DSL specification can be used to generate visual artifacts and a formal model suitable for deadlock analysis. Validation focuses on the end-toend generation workflow, structural representation, and deadlock analysis for representative scenarios; it does not constitute a proof of full semantic equivalence between every valid DSL specification and the generated TLA+ model.  \nResumen  \nLos sistemas concurrentes son difíciles de diseñar y analizar porque su comportamiento depende de la interacción entre múltiples procesos y recursos compartidos. En muchos casos, la estructura del sistema y sus reglas de sincronizaciónquedan ocultas dentro del código de implementación, lo que dificulta visualizar el diseño y razonar sobre propiedades como la ausencia de interbloqueos.  \nEste trabajo propone un lenguaje específico de dominio que hace explícita laestructura proceso-recurso de los sistemas concurrentes. El lenguaje permitedefinir tipos de procesos, tipos de recursos compartidos, operaciones sobre recursos, condiciones de sincronización, asociaciones tipadas y escenarios concretos en una única especificación textual. La principal contribución es la integración de estos conceptos de modelado en un único pipeline de lenguaje, donde la misma especificación se utiliza como fuente para un Árbol de Sintaxis Abstracta interno (AST), representaciones visuales y un modelo formal.  \nLos archivos fuente de entrada se analizan mediante ANTLR4, se transforman en un AST tipado y posteriormente son procesados por backends independientes para la generación de diagramas y la generación de especificaciones formales. ","cbCaiuRx5ZTmLQx2","https://ap.wps.com/l/cbCaiuRx5ZTmLQx2","pdf",2172363,137,"English","# Introduction\n## Contribution and Scope\n## Document Structure\n# Motivation\n## Objectives\n# State of the Art\n## Language Engineering and Parser Generation\n## Process Specification Languages\n### CSP\n### Pi-Calculus\n### Petri Nets\n### TLA+\n## Architecture Description Languages\n### Wright\n### Darwin\n### AADL\n## Formal Specification Languages\n### Alloy\n## Diagram Notations\n### UML\n# Comparative Analysis of Languages\n## The Concurrent Programming Model\n## Comparison Criteria","[{\"question\":\"What core problem does the thesis address in concurrent systems design?\",\"answer\":\"Concurrent systems are hard to design and analyze because their behavior depends on interactions among processes and shared resources, while synchronization structure is often hidden in implementation code.\"},{\"question\":\"What does the proposed domain-specific language make explicit?\",\"answer\":\"It makes the process-resource structure explicit, including process/resource types, resource operations, synchronization conditions, typed associations, and concrete scenarios in one textual specification.\"},{\"question\":\"How is the DSL processed to produce both diagrams and formal models?\",\"answer\":\"Input files are parsed with ANTLR4 into a typed AST, then handled by independent backends: a Graphviz-based diagram backend and a formal backend generating a PlusCal/TLA+ model analyzed with TLC.\"}]","A Metamodel for Concurrent Systems Design | PDF",1792982570,345]