האתר הישראלי להנדסת תכנה

דף ראשי | מפת האתר | רשימת מושגים | מקורות נוספים | אודות
מודלים כווני עצמים ארכיטקטורות מיוחדות לתחומן

מודלים כווני זרימת מידע

במודל הזה, פונקציות מעבדות את הקלט וממירות אותו לפלט, ולכן הן מכונות "התמרות פונקציונליות".
הנתונים זורמים מפונקציה לפונקציה ומותמרות לאורך הרצף. כל שלב בעיבוד ממומש כהתמרה. נתוני הקלט זורמים לאורך שרשרת ההתמרות האלו עד שהם הופכים לפלט. סדרת ההתמרות האלו יכולה להתבצע סדרתית או במקביל. כל התמרה יכולה לעבד פריט-פריט או את מכלול הקלט שלה כקבוצה.

כאשר ההתמרות ממומשות כתהליכים נפרדים, המודל הזה מכונה לעתים מודל צינור-מסנן על שם הטרמינולוגיה של מערכות UNIX.
כל מי שעבד מעט עם מערכת UNIX כלשהי מכיר את מודל הטיפול בפקודות ממסוף המשתמש: בין הפקודות מקשרת צנרת ההופכת את הפלט של כל פקודה בסדרה לקלט של הבאה בתור. הפקודות עצמן מכונות מסננים מכיון שכל פקודה ממקדת יותר את הפלט של קודמתה בסדרה (כלומר משאירה רק את החלק הרלוונטי להמשך).
יעילותו של המודל של UNIX נובעת מיכולתו לאפשר כל צירוף של פקודות העונות על הקריטריון הפשוט של קבלת קלט והוצאת פלט טקסטואלי. במילים אחרות, הממשק האחיד מאפשר להרכיב מספר אינסופי של תהליכי עיבוד מורכבים ממספר קטן יחסית של אבני בניין פשוטות וסטנדרטיות.

למודל זה מספר יתרונות ברורים: הוא תומך במחזור של התמרות, הוא איטואיטיבי (היות ואנשים רבים תופסים את עבודתם במונחים של עיבוד קלט/פלט), בדרך כלל קל יחסית להמשיך לפתח אותו על ידי הוספת התמרות חדשות והוא קל למימוש הן סדרתית והן במקביל.

החיסרון העיקרי במודל נובע מהצורך שהוא מעלה לגבי תבנית אחידה להעברת מידע בין כל ההתמרות.
כל התמרה נדרשת להסכים על מודל אחיד עם כל התמרה איתה היא מתקשרת על תבנית כזו, או להכפיף עצמה לתבנית אחידה לכל המערכת (רק האפשרות האחרונה מעשית אם ההתמרות אמורות להיות בלתי תלויות וניתנות למחזור).
כפי שכבר ציינו, UNIX כופה תבנית כזו (רצף של תווים), וכל התמרה חייבת לבצע תרגום של המידע הבסיסי הזה לתבנית הקלט שהיא מצפה לה, ואח"כ לתרגם את הפלט שלה בחזרה לתבנית פשוטה כזו. הצורך הזה מוסיף תקורה ומונע מהתמרות הפועלות עם תבניות קלט אחרות להשתתף כחלק מסדרת פעולות.

חיסרון נוסף של המודל הזה הוא שהוא פשוט אינו מתאים למערכות שאינן באופיין מערכות המזרימות מידע דרך סדרת התמרות. מערכות הידודיות, למשל, קשות מאוד להתאמה למודל הזה כי הקלט שלהן רחוק מלהיות קבוע בתבניתו או בסדרת הפעולות הנדרשת לצורך עיבודו. גם הממשק שלהן למשתמש - שהוא כיום כמעט תמיד גרפי - אינו קל למידול בתבנית אחידה והוא מבוסס על אירועים נקודתיים (כמו לחיצות עכבר) ולא על קלט רציף.

מודלים כווני עצמים לתחילת הדף ארכיטקטורות מיוחדות לתחומן
©איתן 2003. כל הזכויות שמורות למערכת המידע איתן