از فرآیندکاوی به عنوان حلقهی گمشدهی علم فرآیند و علم داده یاد میکنند. علم داده مبتنی بر داده و مستقل از قالب داده به تحلیل آنها میپردازد. از طرفی علم فرآیند مبتنی بر مدل است و روی فرآیندها تمرکز کرده است. در فرآیندکاوی از هر دو استفاده میکنیم. در فرآیندکاوی از دادههایی با قالب خاصی تحت عنوان نگارهی رویداد (Event Log) استفاده میشود. نگارههای رویداد سه ویژگی اصلی و اجباری caseId، activityId و timestamp را دارند. ویژگیهای اختیاری دیگری مانند cost، source و غیره را هم میتوانند داشته باشند.
در فرآیندکاوی سه تکنیک وجود دارد: کشف و بهبود فرآیند، انطباق فرآیند و مدل. در تکنیک کشف فرآیند به کشف فرآیند با استفاده از نگارهی رویداد (که مجموعه دادگان خاص حوزهی فرآیندکاوی میباشد) پرداخته میشود. در تکنیک انطباق فرآیند و مدل به بررسی تطبیق فرآیندهای موجود و مدلی که دارند، پرداخته میشود. در تکنیک بهبود فرآیند به بهبود فرآیندها از لحاظ مالی، سرعت و غیره پرداخته میشود. میتوان این تکنیکها را در قالب یک سرویس تحت وب یا یک برنامه، به یک سازمان یا سازمانهای مختلف در صورت امکان، ارائه داد. این سرویس ارائه شده، یک معماری خواهد داشت که در این نوشتار با استفاده از اصولی که برای طراحی معماری در درس معماری نرمافزار آموختیم، به بررسی معماری آن خواهیم پرداخت. به این حوزه Process Mining as a Service یا به اختصار کمتر دیده شده PROMaaS میگویند.
مطالبی که در قسمتهای بعدی خواهید خواند، حاصل این چندین گام هستند:
طبق [4] ۶۱٪ از کسبوکارها اعلام کردهاند که فرآیندکاوی بسیار سودمند است. از این جهت که استفاده از فرآیندکاوی به کشف گلوگاه و بهینهسازی فرآیندهایشان کمک میکند. از طرفی هم به علت وجود عواملی مانند محدودیت در ابزارهای موجود، کمبود نیروی متخصص و نیاز به پیشزمینهی پیچیدهی IT چالش برانگیز است.
این حوزه جدید است و تعریف دقیقی از آن ارائه نشده است. بنابراین از تعریف ارائه شده در [4] استفاده میکنیم. [4] فرآیندکاوی به عنوان سرویس را "برونسپاری فرآیندکاوی با به کارگیری مهیا کنندگان سرویس برای کشف و پایش فرآیندهای کسبوکارهایشان" تعریف میکند.
فرآیندکاوی به عنوان سرویس امکان استفاده از فرآیندکاوی بدون نیاز به هزینهی اضافی برای به کارگیری نیروی متخصص را فراهم میکند. عبارت فرآیندکاوی به عنوان سرویس جدید است و غالبا توسط شرکتهای مشاور مانند PwC و Coberg و برخی سرمایهگذاران فرآیندکاوی مانند IBM استفاده میشود.[4] که در ادامه به معرفی PwC و Coberg و فعالیتهایشان در این زمینه در قسمت صنعت خواهیم پرداخت.
یکی از نکات جالب این حوزه، حضور آن در هر دو حوزهی آکادمی و صنعت است. چندین شرکت وجود دارند که فرآیندکاوی را به عنوان سرویس ارائه میدهند. در ادامه هر یک را به صورت مختصر بررسی خواهیم کرد.
نقطهی مشترک تمام این سرویسها، ارائهی خدمات فرآیندکاوی مانند تشخیص گلوگاه، بررسی انطباق و موارد دیگر به منظور کشف و بهبود مشکلات موجود به صورت سرویس به صورت همیشه در دسترس، بدون نیاز به نیروی متخصص است.
از جستوجو در میان مقالهها، ۸ مقالهی مرتبط در این حوزه یافت شد که دو مورد از آنها کاملا مرتبط (ردیفهای سبز رنگ) به فرآیندکاوی به عنوان سرویس هستند. با توجه به جستوجوهای انجام شده میتوان یکی از این دو نتیجهگیری را انجام داد که یا این حوزه بسیار جدید است و نیاز دارد تا کارهای دیگری در این زمینه انجام شود یا اینکه کار زیادی نمیتوان در این زمینه انجام داد. با بررسی بیشتر مقالهها در نهایت میتوان یکی از این نتیجهگیریها را انتخاب کرد.
مقالهها را میتوان به سه دسته تقسیم کرد:
با مقالهی [11] شروع میکنیم. در این مقاله یک وب اپلیکیشن به نام Nirdizati ساخته شده است. این وب اپلیکیشن فرآیندکاوی را به عنوان سرویس ارائه میدهد. البته که تمام تکنیکهای فرآیندکاوی را ارائه نمیدهد و فقط بخشی از آن و بخش پیشبینی را ارائه میدهد. این پیشبینی میتواند پیشبینی زمان باقیمانده، فعالیت بعدی و موارد قابل پیشبینی دیگر باشد.
در قسمت فرانت که در تصویر زیر مشاهده میکنید از کاربر نگارههای رویداد، نوع پیشبینی و روش آن دریافت میشود.
قسمت بکاند به دو قسمت تقسیم میشود: ۱. Nirdizati Training و ۲. Nirdizati Runtime. در قسمت Training نگارهی رویداد دریافت شده و مدل(های) پیشبینی ایجاد میشوند. سپس این مدل(ها) به قسمت دوم Runtime داده میشوند تا استریمی از نگارههای رویداد را دریافت کرده و پیشبینی را انجام دهد. در نهایت نتایج را در یک داشبورد به صورت جدول نمایش دهد.
نماهای منطقی (سطح بالای) دو قسمت بکاند را میتوان در تصاویر زیر مشاهده کرد.
که شرح اجزای این نماها در این نوشتار نمیگنجد.
مورد بعدی [7] است که یک پایاننامه است. در این پایاننامه به ترتیب به شرح فرآیندکاوی، چالشهای بازار و نیاز آن به فرآیندکاوی و راهحلهای رفع این چالشها و در نهایت ایدهی اصلی پایاننامه، روش بهبود این راهحل ها برای تبدیل شدن به یک سرویس پرداخته میشود. یکی از راهحلهای رفع چالشهای بازار به کمک فرآیندکاوی ابزارهای فرآیندکاوی مانند دیسکو میباشد. که نویسنده در این پایاننامه دیسکو را انتخاب کرده است و بهبودهایی برای ارائهی دیسکو به عنوان سرویس ارائه میدهد. به بررسی مواردی مانند میزان راحتی دیسکو برای استفادهی افرادی که زیاد با تکنولوژی کار نکردهاند و موارد دیگر میپردازد.
در این دسته با [5] شروع میکنیم. با استفاده از فرآیندکاوی میتوان به تحلیل رفتار کاربران یک نرمافزار پرداخت. کافیست رفتار کاربران را به صورت نگارههای رویداد جمعآوری کنیم و به یک ابزار تحلیل فرآیندکاوی بدهیم. این موضوع مقالهی [5] است. که در نهایت در یک بخش کوچک به این مورد اشاره میکند که چون نرمافزارهای مختلف، تعداد دادههای مختلف و سرعتهای موردنیاز متفاوت وجود دارد در نتیجه میتوان این تحلیلهای فرآیندکاوی را به صورت یک سرویس ابری ارائه داد.
در [8] در مورد Big Data و قابلیت ترکیب آن با فرآیندکاوی صحبت میشود. Map-Reduce از مفاهیمی است که در حوزهی Big Data استفاده میشود. میتوان با استفاده از عملیات key-value-mapping در Map-Reduce نگارههای رویداد را هم به صورت key و value به یکدیگر مپ کرد. البته در این زمینه چالشهایی مانند افزایش پیچیدگی برای دادههای پیچیده، عدم وجود راهحل بدیهی و مشخص برای Anonymization و موارد دیگر وجود دارد. نویسنده معتقد است لازم است در این زمینه تحقیقات بیشتری انجام شود. در نهایت هم به استفاده از فرآیندکاوی به صورت سرویس ابری اشاره میکند. از این جهت که داده را با استفاده از Big Data و تحلیلهایش را با فرآیندکاوی داریم.
در [13] هم به ارائهی سرویسی که کتابخانهی PM4PY را قابل فراخوانی میکند، میپردازد. در آخرین مقالهی این بخش [14] هم که میتوان زیربخشی از این حوزه دانست، به ارائهی سرویسی جهت حفظ محرمیت نگارههای رویداد میپردازد که به آن Event Log Privacy as a Service یا به اختصار ELPaaS میگویند.
در این بخش هم با استفاده از [6] و [10] میتوان به ترتیب ایدههایی مانند عیبیابی فرآیندها و تحلیل رفتار کاربران و روشهایی برای بهبود فرآیندها در این راستا، برای ارائهی فرآیندکاوی به عنوان سرویس ارائه داد.
ما در این نوشتار به بررسی مفهوم فرآیندکاوی به عنوان سرویس و جایگاه آن در صنعت و آکادمی پرداختیم. دیدیم که این حوزه هم در صنعت و هم در آکادمی نقشهای زیادی دارد. در صنعت این سرویس توسط چندین شرکت ارائه شده است و به نظر میرسد آیندهی خوبی در انتظار این حوزه در صنعت است. اما در آکادمی به نظر کار زیادی در این حوزه انجام نشده است و باید تحقیقات بیشتری از ترکیب این حوزه با سایر موضوعات مانند Big Data که قبلا در مورد آن صحبت کردیم، صورت گیرد.
این مطلب، بخشی از تمرینهای درس معماری نرمافزار در دانشگاه شهیدبهشتی است.
[1] https://store.pwc.de/en/products/process-mining-as-a-service
[2] https://coberg.net/promaas/
[4] https://research.aimultiple.com/process-mining-as-a-service/
[5] https://dl.acm.org/doi/abs/10.1145/2652524.2652583
[6] https://ieeexplore.ieee.org/abstract/document/4782560
[7] https://dspace.vutbr.cz/bitstream/handle/11012/67038/final-thesis.pdf?sequence=8
[8] https://ieeexplore.ieee.org/abstract/document/7302592
[9] https://dspace.library.uu.nl/handle/1874/351710
[10] http://essay.utwente.nl/81027/
[11] https://eprints.qut.edu.au/109686/
[12] https://www.sciendo.com/article/10.2478/fman-2020-0010
[13] http://ceur-ws.org/Vol-2420/papeDT12.pdf
[14] http://ceur-ws.org/Vol-2420/paperDT9.pdf
[16] https://docs.microsoft.com/en-us/power-automate/process-mining-overview