مروری بر روش خودکار شناسایی سرویس های نرم افزاری
چرائی سرویس گرائی؟
برای توسعه راه حل های نرم افزاری پارادایم های مختلفی وجود دارد.
برای توسعه راه حل های سازمانی سطح انتزاع می بایست در محدوده فرایندهای کسب و کار ارتقا پیدا کند.
پارادایم های سنتی مبتنی بر مولفه و شیء برای پاسخگویی به چالشهای پیش رو کافی نیستند.
نیاز به تغییر پارادایم توسعه راه حل به سمت سرویس گرایی با توجه به خدمت محور شدن سازمانها بوجود آمده است.
2
چرا مدلسازی مبتنی بر سرویس؟
هسته اصلی فرآورده های مبتنی بر سرویس، مدل سرویس است.
مدل سرویس به عنوان یک فرآورده ورودی ضروری برای مراحل پیاده سازی و آزمایش مطرح است.
مدل سرویس قابلیت خودکارسازی را با توجه به انتزاعی بودن داراست.
پروفایل ارائه شده توسط IBM به صورت استاندارد پذیرفته شده است.
3
خودکارسازی در مقابل فرآیند تجویز شده
فعالیتهای توسعه نرم افزار در حالت عمومی توسط عامل انسانی انجام می شود. (تجویز شده)
خودکارسازی این فعالیتها در موارد ذیل باعث بهبود فرآیند توسعه نرم افزار می گردد:
کاهش پیچیدگی
افزایش بهره وری
افزایش چابکی
افزایش انعطاف پذیری
افزایش استفاده مجدد
4
فرضیات
1- سرویس گرائی، پارادایم مناسبی برای توسعه نرم افزار است.
2- اولین مرحله در فرآیند توسعه سرویس گرا شناسائی سرویسها ست.
3- سرویسها دارای ویژگیهای هستند که در شناسائی و تشخیص سرویسها باید لحاظ شوند.
4- اصول سرویس گرائی ( T.Erl)
اتصال سست (loose coupling)
قرارداد سرویس (Service contract)
خودمختاری (Autonomy)
تجرید (Abstraction)
قابلیت استفاده مجدد (Reusability)
قابلیت ترکیب (Composability)
Statelessness (عدم حفظ حالت)
قابلیت کشف (Discoverability)
4- برای شناسائی سرویسها راه کارهای دستی، نیمه خودکار و خودکار در مقالات متعدد پیشنهاد شده است.
5
صورت مساله
شناسائی سرویسها به صورت خودکار با در نظر گرفتن اصول سرویس گرائی و با حفظ بهینه ویژگیهای سرویس از جمله انسجام، وابستگی، دانه بندی، استفاده مجدد، قابلیت نگهداری و . . . با روشهای مبتنی بر یادگیری ماشین.
6
2PSIM: Two Phase Service Identifying Method
تاکید بر روی اتوماسیون، استفاده از استراتژی میانبردی و ارزیابی کیفیت سرویس
روشهای نیمه خودکار و خودکار بیشتر بر روی راهبردهای بالا به پائین تمرکز دارند
مقاله روشی نیمه خودکار ارائه می دهد که از افراز گراف برای شناسائی سرویسهای مبتنی بر فرایندهای کسب و کار سازمان به عنوان مدلهای ورودی کسب و کار استفاده می کند.
ویژگیهایی که در نظر می گیرد: سرویسهای با قابلیت استفاده مجدد، دانه بندی مناسب و سطح مناسبی از انسجام و وابستگی
7
طبقه بندی روشهای شناسائی از منظر اتوماسیون
روشهای تجویزشده prescriptive
نیمه خودکار semi-automated
تمام خودکار full-automated
روشهای تجویزشده زمان بر و هزینه بر هستند و برای سیستم های با مقیاس بزرگ مناسب نیستند و به تجارب معمار وابستگی شدید دارند
در مقابل روشهای تمام اتوماتیک ارائه شده چون بدون نظارت اشخاص هستند ممکن است دانه بندی نامناسب و سطح کیفیت پائین داشته باشند.
8
طبقه بندی روشهای شناسائی از منظر راهبرد
بالا به پائین براساس تحلیل نیازمندیهای کسب و کار
پائین به بالا براساس دارائیهای موجود سازمان
میانبردی middle-out ترکیبی
بیشتر روشهای نیمه خودکار و تمام خودکار از بالا به پائین هستند و دارائیهای موجود در سازمان مدنظر قرار نمی گیرند.
9
مقایسه روشها از هر دو منظر
10
مراحل الگوریتم
در اولین مرحله، برای شناسائی سرویسها از مدلهای موجودیت کسب و کار سازمانی استفاده می شود تا قابلیت استفاده مجدد افزایش یابد چون این سرویسها دانه بندی ریز دارند برای فاز دوم تلاش می شود که با ادغام آنها با هم در سرویسهای مرکب، انسجام و وابستگی تنظیم گردد.
انتزاع لایه سرویس کسب و کار منجر به ایجاد دو مدل سرویس کسب وکار می شود: مدل وظیفه محور و مدل موجودیت محور
اگرچه مدلهای وظیفه محور بسیار معروف هستند اما سرویسهای موجودیت محور بسیار کاربردیند زیرا که قابلیت استفاده مجدد بالائی دارند و سرویسهای فارغ از فرایند کسب وکار محسوب می شوند.
این مقاله از هر دو روش با بکارگیری در دو مرحله استفاده می کند (استراتژی میانبردی)
11
مراحل الگوریتم (شکل)
12
مرحله اول
این روش مدل فرایند کسب و کار و مدل موجودیت کسب و کار را به عنوان ورودی می پذیرد.
به منظور شناسایی سرویسهای موجودیت محور، مدلی که روابط بین موجودیتهای کسب و کار و فعالیت های کسب و کار را نشان دهد مورد نیاز است.
این روش فرایندهای کسب و کار وظیفه محور و موجودیتهای کسب و کار را به عنوان ورودی می گیرد و مدل فرایند کسب وکار موجودیت محور ایجاد می کند.
بعد از ایجاد مدل، یک گراف دوقسمتی ایجاد می شود که گره های آن موجودیتهای کسب و کار در یکسو و فعالیتهای کسب وکار در سوی دیگر است. هر یال نشانگر رابطه بین یک موجودیت کسب وکار و یک فعالیت کسب وکار است.
13
مرحله اول
بمنظور شناسائی سرویسهای موجودیت محور، هر موجویت کسب و کار به همراه فعالیت کسب و کار مرتبط به آن بایستی در قالب یک سرویس اولیه نمایش داده شود. برای اینکه سروسهای اولیه نباید همپوشانی داشته باشند هر فعالیت کسب و کار بایستی فقط در یک سرویس اولیه قرار گیرد.
از اینرو به هر یک از یالها به عنوان وزن اعداد از یک تا 4 داده شده است که عدد بزرگتر نشانگر شدت ارتباط مابین گره ها در گراف است.
14
15
مرحله اول
3.3 Verification of the Elementary Services
بعد از شناسائی سرویسهای اولیه، تحلیلگر کسب و کار، هر سرویس اولیه و ارزش کسب و کار آن سرویس را بررسی و ارزیابی می کند. بعلاوه معمار نرم افزار نیز هر سرویس اولیه را ارزیابی می کند و نگاشت آن سرویس به دارائیهای موجود در سازمان را مورد بررسی قرار می دهد.
3.4 Storage of Elementary Services
در گام چهارم و آخرین مرحله سرویسهای اولیه به انباره سرویس مرکزی افزوده می شود. انجام این گام معماران نرم افزار را در یافتن و استفاده مجدد از این سرویسها در پروژه های آتی کمک می کند.
16
مرحله دوم
چون سرویسهای اولیه دارای دانه بندی ریز و کوچک هستند توسعه سیستمهای نرم افزاری براساس سرویسهای ریز تاثیر نامناسبی بر روی کارائی و پیچیدگی سیستم نهائی خواهد داشت.
از اینرو به منظور افزایش دانه بندی سرویسها با ترکیب سرویسهای اولیه براساس فرایند کسب و کار سرویسهای همتراز با کسب و کار می سازیم. بمنظور شناسایی سرویسهای همتراز با کسب وکار یک گراف دیگر به نام گراف سرویس اولیه ایجاد می کنیم. گره های آن نشانگر سرویسهای اولیه هستند و یالهای آن نشانگر ارتباط دو سرویس اولیه می باشد.
برای کشف رابطه مابین سرویسهای اولیه و سپس ترکیب آنها قالب جدیدی از مدل فرایند کسب و کار ایجاد می شود در این قالب هر فعالیت کسب و کار با سرویس اولیه همتای خود جایگزین می شود.
17
مرحله دوم
18
مرحله دوم
ارتباط سرویسهای اولیه وزن مساوی ندارد و از فرمول بندی زیر برای محاسبه انسجام سرویسهای اولیه استفاده می شود:
a. If A and B be two consecutive elementary services then the cohesion value between them equals one unit.
b. If A and B are two elementary services that are connected via a condition in the business process model, then the cohesion value between them equals 1/(number of branches) unit.
19
مرحله دوم
با جمع بندی تمام مقادیر انسجام مابین سرویسهای اولیه مقدار انسجام کلی مابین هر زوج سرویس اولیه انتساب داده می شود.
20
مرحله دوم
نهایتا این روش گراف سرویسهای اولیه را افراز می کند و همترازی سرویسها با کسب و کار را موجب می شود. روش 2PSIM تلاش دارد تا مجموع وزنهای درون پارتیشن را افزایش دهد درحالیکه مجموع وزنهای مابین پارتیشن ها را می کاهد.
Business Aligned Service (BAS)
Elementary Service (ES)
21
مرحله دوم
3.6 Verification of the Business Aligned Services
بعد از شناسایی سرویسهای همتراز با کسب و کار در مرحله نهائی 2PSIM معمار نرم افزار آنها را مورد ارزیابی قرار می دهد و نارسایی های معمارانه را از بین می برد. علاوه بر این معمار نرم افزار چگونگی برازش هر سرویس همتراز کسب و کار به برنامه کاربردی موجود در سازمان را تعیین می کند.
22
A Genetic Algorithm Based Approach to Service Identification
روش خودکار
استراتژی بالا به پائین
با معیارهای بالا بردن کارائی، مقیاس پذیری، کاهش پیچیدگی مابین سرویسها
ورودی: مجموعه ای از فرآیندهای کسب وکار سازمان
خروجی: مجموعه ای از سرویسهای کسب و کار
فرآیند: الگوریتم ژنتیک چند هدفه
مراحل: روش ارائه شده شامل سه مرحله:
طراحی تعریف متریک، شناسایی مجموعه سرویسها و انتخاب مناسبترین سرویسها که اهداف حوزه کسب و کار را برآورده می سازد.
23
مقایسه روشها براساس دو منظر
24
تعاریف
Definition 1 (Business process): A business process (BP) is a set of logically related activities which are designed to achieve pre-defined business goals.
Definition 2 (Business Activity): A Business Activity is an atomic task in a business process.
Definition 3 (Data Flow): Defines the interaction between activities, for example the outputs of an activity may be used as inputs of other activity. Each data flow contains one or some business entities which are exchanged as a message between activities.
Definition 4 (Business Entity): A Business Entity (BE) is a dominant data unit. Each BE has a relative complexity so that the designer can estimate it base on his/her experience.
25
تعاریف
Definition 5 (Pareto optimality): A solution x ∈ Ω is said to be Pareto Optimal with respect to Ω if and only if there is no x́ ∈ Ω for which v = F(x́) = (f1(x́), … , fk(x́)) dominates u = F(x) =(f1(x), … , fk(x)). In other words a solution is in Pareto optimal set if there is no solution which dominates it.
Definition 6 (Pareto Dominance): A vector u =(u1, … , uk)) is said to dominate another vector v =(v1, … ,vk ) denoted by u ≼ v if and only if u is partially less than v, i.e, ∀i ∈ {1,…, k}, ui ≤ vi ∧ ∃i ∈ {1,…, k}: ui <vi.
Definition 8 (Pareto-Optimal Set): Pareto optimal set is defined like:
P∗ = {x ∈ Ω|∄x́ ∈ Ω F(x́ ) ≼ F(x)}
This means that a Pareto solution set is a set of solutions which are not dominated by any solution.
26
تعریف مساله
گرافی با گره فعالیتهای کسب و کار و یالهای جریان داده ای بین آنها می سازد سپس مبادرت به افرازبندی گراف می نماید.
برای فرموله کردن افرازبندی گراف با مدلهای بهینه سازی چندهدفه بایستی تشریح شود.
از آنجائیکه فرموله کردن مساله چندهدفه NP-complete است از الگوریتم ژنتیک استفاده می شود.
بردار هدف، ویژگیهای کیفی سرویسها ست که باید اهداف کسب و کار را برآورده کند.
یک راه حل برای این مساله پارتو نامیده می شود اگر هیچ راه حل غالب دیگری برای بردار هدف وجود نداشته باشد.
بردار هدف u غالب بر بردار هدف v است اگر هر ورودی u بهتر از هر ورودی بردار v باشد.
مجموعه ای از راه حلهای پارتو، مجموعه بهینه پارتو نامیده می شود.
27
روش پیشنهادی
فاز اول
1- تعیین اهمیت ویژگیهای کیفی
2- تعریف متریکها برای کمی سازی (QA)
3-ارزیابی و اعتبارسنجی متریکها
فاز دوم
1- ایجاد مدل فرایند خاص
2- مدلسازی مساله شناسائی سرویس با GA
3- ست کردن پارامترهای GA
4- پیاده سازی و اجرای الگوریتم نتیک
5- تولید راه حلهای بهینه پارتو
فاز سوم
1- مجموعه قوانین فازی و تابع عضویت
2- نرمالسازی مقدار متریک
3- رتبه بندی راه حلها براساس منطق فازی
4- انتخاب یک راه حل مناسب
5- بکاربردن SSC بر روی راه حل
6- نمایش راه حل
تعریف متریک
شناسائی مجموعه های سرویس
انتخاب مجموعه سرویس مناسب
ورودی
وظایف
مراحل
اهداف کسب و کار
مدل فرایند کسب و کار
موجودیت کسب و کار وزن دهی شده
اهمیت ویژگیهای کیفیت
مجموعه متریک
مجموعه پارتو
مقدار متریک
28
مرحله اول: تعریف متریکها
در این مرحله، مجموعه ای از اهداف کسب و کار گرفته می شود و مجموعه ای از متریکهای مناسب تعریف شده و یا انتخاب می شوند. بنابراین دستیابی به مجموعه ای از متریکهای مناسب در کسب و کار سازمانی هدف این مرحله است.
به عنوان مثال، برخی از اهداف سازمان را می توان به شرح زیر فهرست کرد:
چابکی؛ برای انطباق سریع با فرصت های جدید و تهدیدات بالقوه رقابتی
اولین بودن در بازار با خدمات نوآورانه برای مشتریان
فراهم کردن فرآیندهای کسب و کار کارآمد در جهت کاهش هزینه های عملیاتی
مثلا اهداف اول و دوم منجر به متریکهای زیر می شود
Adaptability, Interoperability, Scalability, Extensibility
در مرحله بعد، متریکهای مناسب برای تعریف ویژگی کیفی به طوری که بتوان آنها را به طور خودکار اندازه گیری کرد، تعریف می شود.
29
مرحله اول: تعریف متریکها
آخرین مرحله این فاز، ارزیابی و اعتبار سنجی متریکهای تعریف شده است تا مطمئن شویم که این متریکها برای اندازه گیری کیفیت های مختلف به طور کامل موثر هستند. خروجی کلیدی این مرحله مجموعه ای از متریکهایی هستند که در مرحله دوم استفاده می شوند.
30
مرحله دوم: شناسائی مجموعه سرویسها
ورودی: مدل های فرآیند کسب و کار همراه با موجودیت های کسب و کار و همچنین متریکهای تعریف شده در اولین فاز
در این مرحله، مشخصات موردنیاز برای مدل سازی مساله با توجه به تعریف بهینه سازی چند هدفه از فرآیند کسب و کار بدست می آید. این مشخصات خود شامل یک فرایند خاص می شود.
سپس مساله شناسایی سرویسها براساس بهینه سازی چند هدفه ژنتیکی مدل می شود.
با تنظیم پارامترهای GA، پیاده سازی انجام می شود و بر روی مدل خاص اجرا می شود.
در یک روند تکاملی، این الگوریتم مجموعه ای از راه حل های غیر غالب را به عنوان مجموعه پارتو تولید می کند. خروجی کلیدی این مرحله یک مجموعه پارتو از راه حل ها همراه با ارزش متریکها آنهاست.
31
مرحله سوم: انتخاب مجموعه سرویس مناسب
در این مرحله رتبه بندی ویژگیهای کیفی انجام می شود چرا که ویژگیهای مختلف دارای درجات مختلفی از اهمیت هستند.
در این مرحله، ابتدا، با توجه به اهمیت ویژگی های کیفی، مجموعه ای از قوانین فازی همراه با توابع عضویتشان تعریف می شود. سپس مقادیر متریک به مقادیر بین صفر و یک نرمال سازی می شود.
رتبه بندی راه حل های پارتو فعالیت بعدی است که درست بعد از منطق فازی انجام می شود، به طوری که راه حل پارتوئی که بیشتر به اهداف کسب و کار مرتبط است بالاترین رتبه را خواهد داشت.
راه حل پارتو با بالاترین رتبه به یک مجموعه سرویس توسط الگوریتمSSC تبدیل خواهد شد و در نهایت نشان داده خواهد شد.
خروجی کلیدی این فاز یک مجموعه سرویس بهینه شده است که می تواند به منظور توسعه سیستم های سرویس گرا مورد استفاده قرار گیرد.
32
اجرای فاز دوم: مدلسازی مساله شناسائی سرویس با GA
فرآیند کسب و کار باید به یک مدل فرایند مناسب برای روش پیشنهادی تبدیل شود. این مدل فرایندی به عنوان یک تاپل M = (BA,DF) تعریف می شود که در آنBA مجموعه ای از فعالیت های کسب و کار وDF روند داده بین فعالیتها است.
هر کروموزوم به مانند دنباله ای از فعالیت سرویس نشان داده می شود.
هر کروموزوم نماینده یک مجموعه از سرویسهاست که شامل n ژن است.
عموما یک فرایند کسب و کار می تواند حداکثر به n سرویس افراز شود که n تعداد فعالیتهای موجود در فرایند کسب و کار است.
فعالیتها در یک فرایند کسب وکار می تواند با یک سرویس، یا دو سرویس، یا سه سرویس و یا n سرویس مجزا جایگزین شود.
33
اجرای فاز دوم: مدلسازی مساله شناسائی سرویس با GA
34
مراحل الگوریتم
Service Set Creator (SSC)
الگوریتم SSC یک کروموزوم را به مجموعه سرویس طبق گام های زیر تبدیل می کند:
1- برای هر ژن در کروموزوم که به فرمول (Sj,Ak) است گام زیر را انجام می دهد.
1-1- k امین فعالیت را در j امین سرویس مانند یک عملیات قرار می دهد.
Selection
از آنجائیکه ویژگیهای مختلف یک سرویس با دیگر ویژگیها تضاد دارند ممکن است پاسخ منحصربفردی بوجود نیاید.
بنابراین به دنبال راه حل برتر در میان راه حلهای بهینه سازی چند هدفه می گردیم و به این منظور از راه حل های بهینه پارتو استفاده می کنیم.
35
مراحل الگوریتم
Crossover Operator (Service-Crossover)
An offspring C1 is created from two parents, P1 and P2 as follows:
1. Given a business process with n activities, randomly select a number i, (where i = 1, 2… n-1).
2. Randomly select i activities which are the activities to be passed on from parent to offspring per parent.
3. One gene is copied directly from P1 to C1 if it contains one of previously selected i activities.
4. Remained genes are copied from P2 to C1 if it does not contain any of previously selected i activities.
36
مراحل الگوریتم
Mutation
Two services, Si and Sj, are selected randomly. Then two activities, Ai and Aj, which are in Si and Sj services respectively, are selected to exchange.
37
نمونه کاربردی (فاز تعریف متریک) فاز اول
Business Goals:
Agility, Ease of Future Enhancement and High Value to Business
Quality Attributes:
cohesion, coupling, business entity convergence, and granularity
38
نمونه کاربردی (فاز تعریف متریک) فاز اول
دانه بندی سرویس، میانگین فعالیتهای کسب و کار است که سرویس آن را انجام می دهد.
وابستگی سرویس:
اندازه پیام مشخص کننده درجه وابستگی است که مرتبط به تعداد و پیچیدگی موجودیتهای اطلاعاتی در پیام است.
انسجام سرویس برحسب درجه ارتباط بین فعالیتهای درون یک سرویس است.
پس انسجام سرویس اولا وابسته به تعداد فعالیتهای درون آن و ثانیا جریان داده بین فعالیتها است.
همگرائی موجودیتهای کسب وکار
موجودیتهای کسب و کار ملاک خوبی برای تشخیص سرویس ها از طریق افراز فعالیتهای کسب و کار هستند.
از اینرو مجموعه سرویس ها بایستی دو عامل را برآورده کنند:
ابتدا اینکه هر سرویس بر روی تعداد کمینه ای موجودیت های کسب و کار ممکن عمل کند.
فعالیتهائی که بر روی موجودیتهای مشابه عمل می کنند بهتر است در سرویس یکسانی قرار بگیرند.
39
نمونه کاربردی (فاز شناسائی مجموعه سرویسها) فاز دوم
ورودیهای فاز:
متریکهای تعریف شده در فاز اول شامل VCOPL, VGRANU, VCHOS and VCONVE
فرایندهای کسب و کار
وزنهای موجودیتهای کسب و کار
مدلسازی مساله شناسائی سرویس براساس پارامترهای الگوریتم ژنتیک
اندازه جمعیت=500
نرخ crossover=0/95
احتمال جهش=0/05
40
نمونه کاربردی (فاز شناسائی مجموعه سرویسها) فاز دوم
یک کروموزوم فرایند کسب وکار در جمعیت:
(S1, Notify Claim)(S2, Record Claim)(S1, Validate Claim)(S3, Analyze Claim)(S1, Decide on Claim)(S2, Reject claim)(S3, Provide Addition Data)(S4, Review Claim rejection)(S3, Offer Benefit)(S4, Prepare Claim Discharge)(S3, Record Benefit Payment)(S2, Close Claim)(S1, Operate Outgoing Payment)
500 کروموزم ایجاد می شوند و الگوریتم یک فرایند تکاملی دریافت می کند و نهایتا یک راه حل مانند مجموعه راه حل پارتو تولید می کند.
41
نمونه کاربردی (فاز انتخاب مجموعه سرویسهای مناسب) فاز سوم
مهمترین هدف کسب و کار، چابکی است برهمین اساس ویژگیهای کیفی دانه بندی و وابستگی کمینه بالاترین اولویت را دارا خواهند بود و خواهیم داشت:
بر روی راه حل انتخاب شده الگوریتم SCC اعمال می شود. این الگوریتم راه حل را بر روی یک مجموعه سرویس نگاشت می کند.
42
مشخصات سرویسها
مدل فرایند خاص به شکل یک ماتریس در نظر گرفته شده است. سطر و ستون این ماتریس نشان دهنده فعالیت های موجود در فرایند است. هر عنصر واقع در سطرi و ستون j ام این ماتریس مجموعه ای از موجودیتهای کسب و کار است که از فعالیتi ام به فعالیتj ام فرستاده شده است.
43
مشخصات سرویسها
مشخصات سرویسها براساس ورودی و خروجی فعالیت ها به دست می آیند. پس از شناسائی سرویسها موجودیت های کسب و کار واقع در سطرi ام ماتریس، خروجی فعالیتi ام و موجودیت های کسب و کار واقع در ستونi ام ورودی فعالیتi ام را نشان می دهند.
واسط سرویس شماره یک (مشخصات سرویس)
عملیات موجود در سرویس به طور کامل فقط در یک عملکرد کسب و کار تمرکز می کند. به عنوان مثال، سرویس 1 عملیات مربوط به Claim را اجرا می کند.
44
مقالات
2PSIM: Two Phase Service Identifying Method
OTM 2011, Part II, LNCS 7045, pp. 625–634, 2011.
© Springer-Verlag Berlin Heidelberg 2011
A Genetic Algorithm Based Approach to Service Identification
2011 IEEE World Congress on Services
A Method for Service Identification from Business Process Models in a SOA Approach
© Springer-Verlag Berlin Heidelberg 2009
A Model Driven Service Identification Approach For Process Centric Systems
2008 IEEE Congress on Services Part II
مقالات
ABSIM: AN AUTOMATED BUSINESS SERVICE IDENTIFICATION METHOD
International Journal of Software Engineering and Knowledge Engineering
Vol. 23, No. 9 (2013) 1303–1342
© World Scientific Publishing Company
AMSI: An Automatic Model-Driven Service Identification from Business Process Models
4th International Conference on Web and Information Technologies ICWIT 2012, Sidi Bel-Abbes, Algeria, April 29-30 2012 Proceedings
مقالات
Automatic Derivation of Service Candidates from Business Process Model Repositories
15th International Conference, BIS 2012, Vilnius, Lithuania, May 21-23, 2012. Proceedings
Business Information Systems
Lecture Notes in Business Information Processing Volume 117, 2012, pp 84-95
Using Combinatorial Particle Swarm Optimization to Automatic Service Identification
The International Arab Conference on Information Technology (ACIT’2013)