معصومه کوهستانی
معصومه کوهستانی
خواندن ۸ دقیقه·۳ سال پیش

Process Mining as a Service

مقدمه

فرآیندکاوی: حلقه‌ی گمشده
فرآیندکاوی: حلقه‌ی گمشده

از فرآیندکاوی به عنوان حلقه‌ی گمشده‌ی علم فرآیند و علم داده یاد می‌کنند. علم داده مبتنی بر داده و مستقل از قالب داده به تحلیل آن‌ها می‌پردازد. از طرفی علم فرآیند مبتنی بر مدل است و روی فرآیندها تمرکز کرده است. در فرآیندکاوی از هر دو استفاده می‌کنیم. در فرآیندکاوی از داده‌هایی با قالب خاصی تحت عنوان نگاره‌ی رویداد (Event Log) استفاده می‌شود. نگاره‌های رویداد سه ویژگی اصلی و اجباری caseId، activityId‌ و timestamp را دارند. ویژگی‌های اختیاری دیگری مانند cost، source و غیره را هم می‌توانند داشته باشند.

نمونه‌ی نگاره‌ی رویداد
نمونه‌ی نگاره‌ی رویداد

در فرآیندکاوی سه تکنیک‌ وجود دارد: کشف و بهبود فرآیند، انطباق فرآیند و مدل. در تکنیک کشف فرآیند به کشف فرآیند با استفاده از نگاره‌ی رویداد (که مجموعه دادگان خاص حوزه‌ی فرآیندکاوی می‌باشد) پرداخته می‌شود. در تکنیک انطباق فرآیند و مدل به بررسی تطبیق فرآیندهای موجود و مدلی که دارند، پرداخته می‌شود. در تکنیک بهبود فرآیند به بهبود فرآیندها از لحاظ مالی، سرعت و غیره پرداخته می‌شود. می‌توان این تکنیک‌ها را در قالب یک سرویس تحت وب یا یک برنامه، به یک سازمان یا سازمان‌های مختلف در صورت امکان، ارائه داد. این سرویس ارائه شده، یک معماری خواهد داشت که در این نوشتار با استفاده از اصولی که برای طراحی معماری در درس معماری نرم‌افزار آموختیم، به بررسی معماری آن خواهیم پرداخت. به این حوزه Process Mining as a Service یا به اختصار کمتر دیده شده PROMaaS می‌گویند.

مطالبی که در قسمت‌های بعدی خواهید خواند، حاصل این چندین گام هستند:

  • مطالعه در مورد فرآیندکاوی و فرآیندکاوی به عنوان سرویس
  • جست‌وجو در میان مقاله‌ها، محتوای سایت‌ها، ویدیوها و صنعت
  • مطالعه‌ی مقاله‌ها، محتوای سایت‌ها و ویدیوها، بررسی صنعت
  • جمع‌بندی مطالب مطالعه‌شده

فرآیندکاوی به عنوان سرویس

طبق [4] ۶۱٪ از کسب‌وکارها اعلام کرده‌اند که فرآیندکاوی بسیار سودمند است. از این جهت که استفاده از فرآیندکاوی به کشف گلوگاه و بهینه‌سازی فرآیندهایشان کمک می‌کند. از طرفی هم به علت وجود عواملی مانند محدودیت در ابزارهای موجود، کمبود نیروی متخصص و نیاز به پیش‌زمینه‌ی پیچیده‌ی IT چالش برانگیز است.

این حوزه جدید است و تعریف دقیقی از آن ارائه نشده است. بنابراین از تعریف ارائه شده در [4] استفاده می‌کنیم. [4] فرآیندکاوی به عنوان سرویس را "برون‌سپاری فرآیندکاوی با به کارگیری مهیا کنندگان سرویس برای کشف و پایش فرآیندهای کسب‌وکارهایشان" تعریف می‌کند.

فرآیندکاوی به عنوان سرویس امکان استفاده از فرآیندکاوی بدون نیاز به هزینه‌ی اضافی برای به کارگیری نیروی متخصص را فراهم می‌کند. عبارت فرآیندکاوی به عنوان سرویس جدید است و غالبا توسط شرکت‌های مشاور مانند PwC و Coberg و برخی سرمایه‌گذاران فرآیندکاوی مانند IBM استفاده می‌شود.[4] که در ادامه به معرفی PwC و Coberg‌ و فعالیت‌هایشان در این زمینه در قسمت صنعت خواهیم پرداخت.

مزایا [4]

کاهش هزینه‌ها

  • با پیاده‌سازی فرآیندکاوی به عنوان سرویس بر روی ابر، هزینه‌ای برای زیرساخت صرف نمی‌شود.
  • هزینه‌ای برای گرفتن لایسنس هم صرف نمی‌شود.
  • هزینه‌ای برای به کارگیری نیروی متخصص هم صرف نخواهد شد.

دیپلوی سریع

  • از آنجایی که نیاز به به کارگیری نیروی متخصص و نصب ابزارها نیست در نتیجه سرعت دیپلوی بیشتر خواهد بود.

چالش‌ها [4]

  • محرمیت داده: از آنجایی که قرار است فرآیندکاوی در قالب سرویس ارائه شود، لازم است شرکت‌هایی که از این سرویس استفاده می‌کنند، اطلاعات خود را در اختیار طرف ارائه‌ دهنده‌ی سرویس قرار دهند که این محرمیت داده‌ها را خطر می‌اندازد. با اینکه شرکت‌ها این مشکل را با تنظیم یک سری مجوزها حل کرده‌اند ولی باز هم ریسک لو رفتن اطلاعات وجود دارد.
  • مهاجرت ابری:‌ شرکت‌ها برای استفاده از این سرویس لازم است اطلاعات و تنظیمات خود را بر روی ابر انتقال دهند که نیاز به تخصص دارد و می‌تواند هزینه‌بر و پیچیده شود. البته این چالش هم با ارائه‌ی پکیج‌هایی جهت مهاجرت به ابر در حال رفع شدن است.

تفاوت فرآیندکاوی معمولی و فرآیندکاوی به عنوان سرویس [4]

فرآیندکاوی به عنوان سرویس در صنعت

یکی از نکات جالب این حوزه، حضور آن در هر دو حوزه‌ی آکادمی و صنعت است. چندین شرکت وجود دارند که فرآیندکاوی را به عنوان سرویس ارائه می‌دهند. در ادامه هر یک را به صورت مختصر بررسی خواهیم کرد.

  • شرکت PwC: این شرکت نرم‌افزارها و سرویس‌های بسیاری برای ارائه‌ی خدمات به شرکت‌ها و سازمان‌ها تولید کرده است. یکی از این سرویس‌ها، فرآیندکاوی به عنوان سرویس می‌باشد. این سرویس تمام تحلیل‌های فرآیندکاوی را بدون نیاز به لایسنس و به صورت مداوم اما با دریافت هزینه، به مشتریانش ارائه می‌دهد. فواید این سرویس را پایش پیوسته‌ی فرآیندها، انطباق، میزان استفاده از سیستم و اثربخشی می‌دانند. برای مشاهده‌ی دمو و دریافت اطلاعات بیشتر باید با شرکت تماس گرفته شود.[1]
  • شرکت Coberg: شرکت کوبرگ هم خدمات و مشاوره به خصوص در حوزه‌ی فرآیندکاوی به شرکت‌ها و سازمان‌ها ارائه می‌دهد. یکی از محصولاتش فرآیندکاوی به عنوان سرویس است. مزایای این سرویس را اثربخشی، انطباق و اعتبارسنجی می‌دانند. این سرویس همان‌طور که قبلا در مورد مزایایش صحبت کردیم باعث کاهش هزینه‌ها و عدم نیاز به افراد متخصص می‌شود. در مورد دمو و اطلاعات بیشتر و هزینه این شرکت هم مانند PwC است. [2]
  • شرکت Software AG: این شرکت هم به ارائه‌ی خدمات به شرکت‌ها و سازمان‌ها می‌پردازد. یکی از این خدمات ارائه‌ی فرآیندکاوی به عنوان سرویس بر پایه‌ی ابری است. شامل سه قسمت ARIS Process Mining Basic، ARIS Process Mining Advanced و ARIS Process Mining Enterprise می‌باشد. این سرویس هم به ارائه‌ی تحلیل‌ها و تکنیک‌های فرآیندکاوی بدون نیاز به نیروی متخصص می‌پردازد. [3]
  • پلتفرمِ Microsoft Power: این پلتفرم خدمات تحلیل داده‌ها، ایجاد برنامه‌های کاستوم، اتوماسیون ورک‌فلو‌ها و ایجاد بات‌های هوشمند بدون کد را ارائه می‌دهد. یکی از سرویس‌های این پلتفرم ارائه‌ی فرآیندکاوی به عنوان سرویس است. (البته فعلا فیچری است که رسما برای استفاده‌ی تجاری ریلیز نشده است و این یک پیش ریلیز است) این سرویس‌ تحلیل‌ها و تکنیک‌های فرآیندکاوی را در اختیار مشتریانش قرار می‌دهد. [16]

نقطه‌ی مشترک تمام این سرویس‌ها، ارائه‌ی خدمات فرآیندکاوی مانند تشخیص گلوگاه، بررسی انطباق و موارد دیگر به منظور کشف و بهبود مشکلات موجود به صورت سرویس به صورت همیشه در دسترس، بدون نیاز به نیروی متخصص است.

فرآیندکاوی به عنوان سرویس در آکادمی

از جست‌وجو در میان مقاله‌ها، ۸ مقاله‌ی مرتبط در این حوزه یافت شد که دو مورد از آن‌ها کاملا مرتبط (ردیف‌های سبز رنگ) به فرآیندکاوی به عنوان سرویس هستند. با توجه به جست‌وجوهای انجام شده می‌توان یکی از این دو نتیجه‌گیری را انجام داد که یا این حوزه بسیار جدید است و نیاز دارد تا کارهای دیگری در این زمینه انجام شود یا اینکه کار زیادی نمی‌توان در این زمینه انجام داد. با بررسی بیشتر مقاله‌ها در نهایت می‌توان یکی از این نتیجه‌گیری‌ها را انتخاب کرد.

مقاله‌ها را می‌توان به سه دسته تقسیم کرد:

  • دسته‌ی اول: مقاله‌هایی که مستقیما با فرآیندکاوی به عنوان سرویس مرتبط هستند.
  • دسته‌ی دوم: مقاله‌هایی که بخش کوچکی از محتوای خود را به فرآیندکاوی به عنوان سرویس اختصاص داده‌اند. به عبارتی می‌توانند بخش یا زیربخشی از فرآیندکاوی به عنوان سرویس باشند.
  • دسته‌ی سوم: مقاله‌هایی که می‌توانند ایده‌هایی برای ارائه‌ی فرآیندکاوی به عنوان سرویس فراهم کنند.

دسته‌ی اول

با مقاله‌ی [11]‌ شروع می‌کنیم. در این مقاله یک وب اپلیکیشن به نام Nirdizati ساخته شده است. این وب اپلیکیشن فرآیندکاوی را به عنوان سرویس ارائه می‌دهد. البته که تمام تکنیک‌های فرآیندکاوی را ارائه نمی‌دهد و فقط بخشی از آن و بخش پیش‌بینی را ارائه می‌دهد. این پیش‌بینی می‌تواند پیش‌بینی زمان باقی‌مانده، فعالیت بعدی و موارد قابل پیش‌بینی دیگر باشد.

در قسمت فرانت که در تصویر زیر مشاهده می‌کنید از کاربر نگاره‌های رویداد، نوع پیش‌بینی و روش آن دریافت می‌شود.

قسمت بک‌اند به دو قسمت تقسیم می‌شود:‌ ۱. Nirdizati Training و ۲. Nirdizati Runtime. در قسمت Training نگاره‌‌ی رویداد دریافت شده و مدل(های) پیش‌بینی ایجاد می‌شوند. سپس این مدل(ها) به قسمت دوم Runtime داده می‌شوند تا استریمی از نگاره‌های رویداد را دریافت کرده و پیش‌بینی را انجام دهد. در نهایت نتایج را در یک داشبورد به صورت جدول نمایش دهد.

نماهای منطقی (سطح بالای) دو قسمت بک‌اند را می‌توان در تصاویر زیر مشاهده کرد.

نمای منطقی قسمت Training
نمای منطقی قسمت Training
نمای منطقی قسمت Runtime
نمای منطقی قسمت 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/

[3]https://newscenter.softwareag.com/en/news-stories/press-releases/2020/0807_launch_process_mining_as_a_service.html

[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

[15]https://pdfs.semanticscholar.org/6cf2/7e3fa051ef192421e6d2e77294f69a2c37e0.pdf?_ga=2.160958845.1742477562.1640942856-1176142062.1640460519

[16] https://docs.microsoft.com/en-us/power-automate/process-mining-overview


معماری_نرم_افزار_بهشتی
شاید از این پست‌ها خوشتان بیاید