Thursday, July 9, 2015

Analyzing, modelling, designing and developing Islamic knowledge Using Unified Modelling Language, Model Driven Engineering, and Object Oriented Programming

Analyzing, modelling, designing and developing Islamic knowledge  Using Unified Modelling Language, Model Driven Engineering, and Object Oriented Programming


 As far as we are concerned in this paper, we propose to classify Islamic Knowledge into three categories:
1.       Holy Quran,
2.       Hadith,
3.       Saying of renowned Muslims.

In this paper, we will focus, only on the prophet Muhammad (pbuh) sayings (hadiths), as they provide us with important source of information, regarding our methodology.

In the following section, we present a new methodology for modeling hadiths, using what is called UML activity diagram.

A.  Activity Modelling for an activity hadith


In our methodology, we present several basic rules:

1.                     We decompose an activity (such as Salat), to many different sub-activities (such as rakâa). For example :

2.                     We decompose a sub-activity (such as rakâa), to many different actions (such as takbir, reading, rokôo, soujoud, joulouss, etc...). For example :

3.                     We decompose an action, or activity, or sub-activity into three components :

a.       Condition (IF)
b.       Result of the condition (Then),
c.        Alternative Result (Else).

First, we consider that a hadith that explains actions and activities of the prophet Muhammad (pbuh). The following hadith is the perfect illustration of the principle:

أنَّ فَهْدًا حَدَّثَنَا ، قَالَ : حَدَّثَنَا أَبُو غَسَّانَ ، قَالَ : حَدَّثَنَا زُهَيْرٌ ، قَالَ : حَدَّثَنَا أَبُو إِسْحَاقَ ، قَالَ : أَتَيْتُ الأَسْوَدَ بْنَ يَزِيدَ ، وَكَانَ لِي أَخًا وَصَدِيقًا ، فَقُلْتُ يَا أَبَا عَمْرٍو ، حَدِّثْنِي مَا حَدَّثَتْكَ عَائِشَةُ رَضِيَ اللَّهُ عَنْهَا أُمُّ الْمُؤْمِنِينَ ، عَنْ صَلاةِ رَسُولِ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ ، فَقَالَ : قَالَتْ : " كَانَ رَسُولُ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ يَنَامُ أَوَّلَ اللَّيْلِ وَيُحْيِي آخِرَهُ ، ثُمَّ إِنْ كَانَتْ لَهُ حَاجَةٌ قَضَى حَاجَتَهُ ، ثُمَّ يَنَامُ قَبْلَ أَنْ يَمَسَّ مَاءً ، فَإِذَا كَانَ عِنْدَ النِّدَاءِ الأَوَّلِ ، وَثَبَ وَمَا قَالَتْ قَامَ فَأَفَاضَ عَلَيْهِ الْمَاءَ ، وَمَا قَالَتْ : اغْتَسَلَ وَأَنَا أَعْلَمُ مَا تُرِيدُ وَإِنْ كَانَ جُنُبًا تَوَضَّأَ وُضُوءَ الرَّجُلِ لِلصَّلاةِ "

From:

شرح معاني الآثار للطحاوي » بَابُ الْجُنُبِ يُرِيدُ النَّوْمَ أَوِ الأَكْلَ

First, we have to separate the activity statements from the rest of the Islamic text:

كَانَ رَسُولُ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ يَنَامُ أَوَّلَ اللَّيْلِ وَيُحْيِي آخِرَهُ ، ثُمَّ إِنْ كَانَتْ لَهُ حَاجَةٌ قَضَى حَاجَتَهُ ، ثُمَّ يَنَامُ قَبْلَ أَنْ يَمَسَّ مَاءً ، فَإِذَا كَانَ عِنْدَ النِّدَاءِ الأَوَّلِ ، وَثَبَ وَمَا قَالَتْ قَامَ فَأَفَاضَ عَلَيْهِ الْمَاءَ ، وَمَا قَالَتْ : اغْتَسَلَ وَأَنَا أَعْلَمُ مَا تُرِيدُ وَإِنْ كَانَ جُنُبًا تَوَضَّأَ وُضُوءَ الرَّجُلِ لِلصَّلاةِ "

The highlighted text represents a judgment of the narrator, and could help understand the structure of the activities.

وَمَا قَالَتْ قَامَ فَأَفَاضَ عَلَيْهِ الْمَاءَ، وَمَا قَالَتْ: اغْتَسَلَ وَأَنَا أَعْلَمُ مَا تُرِيدُ

In this step, we try to differentiate between activity, sub-activities, and actions. For ease of comprehension, we give the letter (A) for activities, the acronym (Sub) for sub-activities, and the letter (a) for actions.

يَنَامُ أَوَّلَ اللَّيْلِ
Action
وَيُحْيِي آخِرَهُ
Activity
ثُمَّ إِنْ كَانَتْ لَهُ حَاجَةٌ
If condition
قَضَى حَاجَتَهُ
Then action
ثُمَّ يَنَام
Action
قَبْلَ أَنْ يَمَسَّ مَاءً
Condition (and action)
فَإِذَا كَانَ عِنْدَ النِّدَاءِ الأَوَّلِ
If condition
وَثَبَ
Then action
وَإِنْ كَانَ جُنُبًا
If condition
تَوَضَّأَ وُضُوءَ الرَّجُلِ لِلصَّلاةِ
Then Activity

For computer scientist, this structure is very likely an algorithm, which could be encoded in computer understandable language, please refer to discussions at the end of the paper.

B.  UML Activity Modelling for an activity hadith


Since the previous hadith focused on actions and activities, we choose to call it “activity hadith”. In consequence it should be modelled by a tool providing such possibilities; we present hereafter an example of hadith’s modelling using UML activity diagram.




No comments:

Post a Comment

Popular Posts