Durable Workflow
2026 – now · Design lead
Demos · Docs · Workflows that wait for people (Medium) · Video: human tasks · Video: an agent that follows the policy · module-ballerina-workflow
Long-running business processes in WSO2 Integrator, on durable execution with Temporal.
ballerina/workflow: workflows are Ballerina functions. State is persisted, so a workflow can wait for events and people, retry steps and resume after a restart.- Human tasks: role-based assignment, a task inbox, and decisions recorded in the workflow history.
- Durable agents: AI agents on the same runtime; see Durable Agents.
- Low-code: workflow, task and agent nodes, their forms, and a workflow overview in the WSO2 Integrator designer, all editing the same source.
- Operations: the Workflow Management API to inspect, retry and recover instances; traces, metrics and a task-decision audit trail in the Integration Control Plane.
I designed the module API and its runtime model, implemented the core, and review the designer and Control Plane designs.
Durable Agents
2026 – now · Design lead · part of Durable Workflow
Demo: an agent that follows the policy · Video · Docs
AI agents that run on the workflow runtime, so an agent's work is as durable as a workflow's.
- Durable runs: the conversation and tool results are persisted; after a restart the agent resumes instead of starting over.
- Human in the loop: the agent can ask a person and wait, as a human task, for as long as the answer takes.
- Approval gates: actions with side effects wait for a person to approve them.
- Durable agentic workflows: a workflow uses agents as steps, next to events, human tasks and other steps.
- Low-code: agent nodes and forms in the WSO2 Integrator designer.
Agent-Flavored Markdown (AFM)
2025 – now · Originator
Specification · wso2/agent-flavored-markdown · Original prototype (hasithaa/afm) · Paper (PDF)
AFM is an open specification for defining AI agents in Markdown. YAML front matter holds the configuration: model, tools, interfaces and limits. The Markdown body holds the agent's role and instructions in natural language. Keeping the two apart makes an agent readable by domain experts and portable across frameworks.
I started AFM in 2025 as a prototype. My colleague Maryam Ziyad Mohamed took it forward, and it is now developed at WSO2 with a reference implementation. We described it in a paper at the AgentCraft workshop at ACM IUI 2026:
Maryam Ziyad Mohamed, Hasitha Aravinda, Rania Khalaf. Agent-Flavored Markdown: Natural Language Specifications for Framework-Agnostic Agent Development. AgentCraft 2026: Workshop on Agentic AI Systems Development, ACM IUI 2026, Paphos, Cyprus. CEUR-WS Vol-4266.
@inproceedings{mohamed2026afm,
title={Agent-Flavored Markdown: Natural Language Specifications for Framework-Agnostic Agent Development},
author={{Ziyad Mohamed}, Maryam and Aravinda, Hasitha and Khalaf, Rania},
booktitle={Joint Proceedings of the ACM IUI 2026 Workshops co-located with the 31st Annual ACM Conference on Intelligent User Interfaces (IUI 2026)},
editor={Tommasel, Antonela and Kahr, Patricia and Dinakar, Karthik and others},
series={CEUR Workshop Proceedings},
volume={4266},
publisher={CEUR-WS.org},
issn={1613-0073},
year={2026},
url={https://ceur-ws.org/Vol-4266/paper03.pdf}
}
WSO2 Integrator (formerly Ballerina Integrator)
2024 Q3 – 2025 Q3 · Design and architecture lead
WSO2 Integrator · Talk at WSO2Con Barcelona 2025
A developer tool for building integrations, including APIs, file processing, event-driven flows and automation. It gives one experience for low-code and pro-code work, with visual views of the architecture, message flow, control flow, data mapping and entity relationships. It builds on open standards such as OpenAPI, GraphQL, gRPC and WebSocket, and on the open-source Ballerina language.
I led the design and architecture of Ballerina Integrator, the successor to an earlier low-code tool for Ballerina. It grew out of my proof of concept Ballerina-Diagram-Gen, which introduced flow-based diagrams for Ballerina. I designed and built the core of the new platform. It was renamed WSO2 Integrator : BI in 2025 and WSO2 Integrator in 2026.
Ballerina Language & Compiler
2016 – now
ballerina-lang · ballerina.io · Language specification · Talk: Programming Languages and Compilers · Ballerina identifiers · The setup-ballerina GitHub Action
Compiler and runtime work since the early, DSL-like versions of Ballerina, and the language specification through its iterations, re-implementations and design verifications. I still work on the language and its tooling.
Publications & Talks
- Agent-Flavored Markdown: Natural Language Specifications for Framework-Agnostic Agent Development. AgentCraft workshop, ACM IUI 2026. PDF
- From Visual Flows to Power Programming: The Ballerina Integrator Journey. WSO2Con Barcelona 2025. Video
- Programming Languages and Compilers. WSO2 Technology Conference 2025. Video
- Introduction to Ballerina. CodeSeekers meetup, 2022. Video
Earlier work, 2011 – 2016
WSO2 Business Process Server
2012 – 2016 · Developer and release manager
Carbon Business Process · Product BPS (archived) · Apache ODE fork
An open-source business process server that ran processes written in BPMN, WS-BPEL and WS-HumanTask, using a WSO2-maintained fork of Apache ODE as its BPEL engine. I added features including HumanTask coordination, a caching layer and several UX improvements. The product is retired.
WSO2 Business Rules Server
2012 – 2014 · Maintainer and release manager
An open-source server that exposed business rules as secure web services. I maintained and released it. It is now retired.
Java4BPEL Extension
2013 – 2015 · Side project
An Apache ODE and WSO2 BPS extension that added a BPEL extension activity for calling Java libraries from BPEL workflows.
MetCat
2011 – 2012 · University project
MetCat (Apache Extras archive)
A metadata catalog for Apache Airavata that captured workflow metadata and supported scalable metadata management and user-defined queries.