سؤال

لقد تم القيام ببعض القراءة على البرمجة القائمة على التدفق خلال الأيام القليلة الماضية.هناك ويكي التي توفر مزيد من التفاصيل.ويكيبيديا لديها عامة جيدة على ذلك أيضا.كانت فكرتي الأولى "عظيم آخر من دعاة ليغو لاند التظاهر البرمجة" - وهو مفهوم ترجع إلى أواخر 80.ولكن كما قرأت أكثر من ذلك ، يجب أن أعترف أنني أصبحت مفتون.

  1. هل تستخدم FBP حقيقي المشروع ؟
  2. ما هو رأيك في FBP?
  3. لا FBP لها مستقبل ؟

في بعض الحواس ، يبدو أن الكأس المقدسة من إعادة استخدام هذا وقد انتهجت منذ ظهور الإجرائية اللغات.

هل كانت مفيدة؟

المحلول

مناقشة مثيرة للاهتمام!حدث لي أمس أن جزءا من الارتباك قد يكون راجعا إلى حقيقة أن العديد من مختلف الرموز استخدام توجه أقواس ، ولكن استخدامها أن تعني أشياء مختلفة.في FBP الخطوط تمثل يحدها المخازن المؤقتة ، التي عبر السفر تيارات من حزم البيانات.منذ مكونات عادة ما تكون طويلة-تشغيل العمليات تيارات قد تشمل أعداد هائلة من الحزم ، FBP التطبيقات التي يمكن تشغيلها لفترات طويلة جدا - وربما حتى "الدوام" (انظر a 2007 ورقة في مشروع يسمى دهر ، في الغالب من قبل الناس في UMass أمهرست).لأن ترسل إلى يحدها العازلة يوقف عند المخزن المؤقت (مؤقتا) الكامل (أو مؤقتا فارغة) ، كميات غير محدودة من البيانات التي يمكن معالجتها باستخدام الموارد المحدودة.

من خلال المقارنة, E في Grafcet يأتي من Etapes ، ومعنى "خطوات", بدلا من مفهوم مختلف.في هذا النوع من نموذج (وهناك عدد من هذه بالخارج) ، البيانات التي تتدفق بين الخطوات إما أن يقتصر على ما يمكن أن تعقد في الذاكرة عالية السرعة في وقت واحد ، أو يجب أن يكون عقد على القرص.FBP كما يدعم الحلقات في الشبكة ، التي من الصعب القيام به في الخطوة الأنظمة المستندة - انظر على سبيل المثال http://www.jpaulmorrison.com/cgi-bin/wiki.pl?BrokerageApplication - لاحظ أن هذا التطبيق يستخدم كل MQSeries و كوربا بطريقة طبيعية.وعلاوة على ذلك ، FBP هو أصلا موازية ، لذلك يفسح المجال برمجة شبكة الشبكات, آلات متعددة النواة وعدد من الاتجاهات الحديثة في الحوسبة.ملاحظة أخيرة:في الأدب لقد وجدت العديد من المشاريع ذات الصلة ، ولكن القليل منهم يملك كل خصائص FBP.القائمة التي جمعت على مدى سنوات (عدد منهم أقرب من Grafcet) يمكن العثور عليها في http://www.jpaulmorrison.com/cgi-bin/wiki.pl?FlowLikeProjects .

نصائح أخرى

1.هل تستخدم FBP حقيقي المشروع ؟

لقد قمنا بتصميم وتنفيذ DF الخادم لدينا مشروع ميكنة (المرسل العنصر iterface مجموعة من المكونات, DF اللغة, DF مترجم, UI).هو مكتوب في العارية C++, و يعمل على عدة أنظمة يونكس مثل (لينكس x86 و MIPS avr32 الخ ، Mac OSX).أنها تفتقر إلى العديد من الميزات مثلمتطورة التحكم في التدفق, مجمع موضوع التحكم (هناك فقط لا متقدمة جدا مكون من أجل ذلك) ، لذلك هو مجرد نموذج أولي ، حتى يعمل.نحن نعمل الآن على كامل المواصفات الخادم.لقد تعلمت الكثير خلال تنفيذ واستخدام النموذج.

أيضا سوف تجعل محرر البصرية في يوم من الأيام.

2.ما هو رأيك في FBP?

2.1.أولا وقبل كل شيء ، امتحان البرمجة في نهاية المطاف متعة

عندما التقيت امتحان البرمجة ، كنت أشعر قبل 20 عاما عندما التقيت البرمجة الأولى.ألطاف, DF البرمجة يختلف الإجرائية/OOP البرمجة هي فقط نوع من البرمجة.هناك الكثير من الأشياء لاكتشاف حتى سوو بسيط منها!انه مضحك جدا, عندما, مبرمج من ذوي الخبرة ، التقى مدافع المشكلة جدا جدا الشيء الأساسي ، ولكنه كان غير معروف تماما بالنسبة لك من قبل.لذا ، إذا كنت القفز الى مدافع البرمجة, سوف يشعر وكأنه الصاعد مبرمج ، الذي اجتمع لأول مرة "دائرة" أو "حالة".

2.2.يمكن استخدامه فقط لمدة محددة أبنية

انها مجرد المطرقة ، والتي هي يدق المسامير.DF ليست مناسبة معهد اليونسكو للإحصاء ، خادم الويب وهلم جرا.

2.3.امتحان العمارة هو الأمثل لبعض المشاكل

وهو امتحان الإطار يمكن أن تجعل السحر الأشياء.يمكن أن paralellize الإجراءات التي ليست مصممة أصلا paralellization.المكونات هي واحدة مترابطة ، ولكن عندما كنت تنظيمها في DF الرسم البياني أصبحت متعددة الخيوط.

على سبيل المثال:هل تعلم أن جعل هو مدافع النظام ؟ محاولة جعل -j (انظر يا رجل ما -ي يستخدم).إذا كان لديك متعددة النوى آلة تجميع المشروع الخاص بك مع أو بدون -ي ، ومقارنة مرات.

2.4.الأمثل تقسيم المشكلة

إذا كنت تكتب برنامج, كنت في كثير من الأحيان تقسيم المشكلة أصغر المشاكل الفرعية.هناك المعتاد تقسيم النقاط المعروفة المشاكل الفرعية التي لا تحتاج إلى تنفيذ ، فقط استخدام الحلول القائمة ، مثل SQL DB أو برنامج OpenGL الرسومات/الرسوم المتحركة ، إلخ.

DF العمارة انشقاقات مشكلتك طريقة مثيرة جدا للاهتمام:

  • تدفق البيانات الإطار الذي يوفر العمارة (مجرد استخدام القائمة) ،
  • المكونات:مبرمج يخلق المكونات ؛ مكونات بسيطة ، وكذلك الوحدات المنفصلة - فإنه من السهل لجعل المكونات ؛
  • التكوين:أ.ك.أ.امتحان البرمجة:مكون يضع امتحان الرسم البياني (برنامج) معا باستخدام مكونات المقدمة من قبل المبرمج.

إذا كان لديك عنصر مجموعة مصممة تصميما جيدا ، مكون يمكن بناء مثل هذا النظام ، الذي مبرمج لم يحلم.مكون من تنفيذ الجديدة الميزات من دون إزعاج مبرمج.الزبائن سعداء ، لأن لديهم شخصية الحل.برنامج المصنعة أيضا سعيدة لأنه/أنها لا تحتاج إلى الحفاظ على العديد من العملاء في فروع معينة من البرنامج, فقط العملاء-تكوينات معينة.

2.5.السرعة

إذا كان النظام هو مبني على المكونات الأصلية ، DF برنامج سريع.المرة الوحيدة الخسارة هي الرسالة إيفاد بين مكونات مقارنة بسيطة OOP البرنامج ، كما أنها الحد الأدنى.

3.لا FBP لها مستقبل ؟

نعم ، بالطبع.

والسبب الرئيسي هو أنه يمكن حل ضخمة المعالجة المتعددة القضايا دون إدخال العلامة التجارية الجديدة من برنامج غريب أبنية غريبة اللغات.امتحان برمجة سهلة و أعني كل من:مكون برمجة امتحان التكوين المبنى.(حتى امتحان إطار الكتابة ليست علم الصواريخ.)

كما أنه اقتصادي جدا.إذا كان لديك مجموعة جيدة من العناصر ، ما عليك سوى وضع الطوب ليغو معا.وهو مدافع البرنامج سهلة للحفاظ على.DF التكوين بناء لا يتطلب أي خبرة مبرمج فقط نظام متكامل.

سأكون سعيدا إذا الأصلية نظم انتشار ، مع فتح الأبواب المخصصة مكون خلق.أيضا يجب أن يكون هناك معيار DF اللغة ، مما يعني أنه يمكن استخدامها مع منصة مستقلة البصرية المحررين عدة مدافع الخوادم.

أنا لا يجب أن نختلف مع تعليق حول FBP كونها مجرد وسيلة لتنفيذ FSMs:أعتقد FSMs أنيق ، وأعتقد أنها لها دور محدد في بناء التطبيقات ، ولكن جوهر مفهوم FBP هو من مكونات متعددة عمليات التشغيل بشكل غير متزامن, التواصل عن طريق تيارات من قطع البيانات التي تعمل عبر ما يسمى الآن يحدها المخازن المؤقتة.نعم, بالتأكيد FSMs هي طريقة واحدة من عنصر بناء العمليات و في الواقع هناك فصل كامل في كتابي على FBP تكريس هذه الفكرة ، وما يتصل بها من أحد أجهزة المساعد الرقمي الشخصي (1) - http://www.jpaulmorrison.com/fbp/compil.htm - ولكن في رأيي إحدى ولايات ميكرونيزيا الموحدة تنفيذ غير تافهة FBP الشبكة سيكون مستحيل المعقدة.على سبيل مثال هو مبين في الرسم البياني http://www.jpaulmorrison.com/fbp/image010.jpg حوالي 1/3 من واحد دفعة الوظيفة قيد التشغيل على أجهزة الكمبيوتر المركزية.كل واحدة من تلك الكتل تشغيل بشكل متزامن مع كل الآخرين.بالمناسبة, أود أن تكون مهتمة جدا في سماع المزيد من الإجابات على الأسئلة في المشاركة الأولى!

1: http://en.wikipedia.org/wiki/Pushdown_automaton دفع إلى أسفل الباردون

كلما أسمع مصطلح البرمجة القائمة على التدفق أعتقد من ابفيف ، من الناحية النظرية.أي المكون من جدولة مدفوعة في المقام الأول عن طريق تغيير إلى إدخال البيانات.هذا هو حقا ليغو البرمجة بمعنى أن ابفيف منصة تستخدم أحدث المحاصيل من mindstorm المنتجات.ومع ذلك لا أوافق أن هذا يجعلها أقل فائدة نموذج البرمجة.

بالنسبة النظم الصناعية والتي عادة ما تنطوي على جمع البيانات والتحكم والأتمتة ، تناسبها بشكل جيد للغاية.ما هو أي نظام التحكم إن لم يكن البيانات في تحويل البيانات ؟ أي ما عنصر في مخطط السيطرة كنت لا تفضل أن تمثل الصندوق الأسود في صورة أكبر ، إذا كنت يمكن أن تفعل ذلك.لتحقيق هذا المستوى من المعمارية الوضوح باستخدام المنهجيات الأخرى قد يكون لديك لرسم البيانات المجال فئة الرسم البياني ، ثم مجال مشكلة وقت التشغيل الدرجة العلاقة ، ثم فوق ذلك حالة استخدام الرسم البياني ، والوجه ذهابا وإيابا بينهما.مع تدفق أنظمة مدفوعة لديك متسع من أن تكون قادرة على انهيار الكثير من هذه المعلومات معا بدقة بما فيه الكفاية التي يمكنك واقعيا تصميم نظام بصريا مرة واحدة مكونات بناء المعرفة.

سؤال واحد لم تسأل عند النظر في طلب كتب في ابفيف هو "أي قطعة من التعليمات البرمجية تعيين هذه القيمة؟", كما كان الكامنة وسهلة التتبع إلى الوراء من البيانات ، و أيضا أخطاء متعددة مثل untintended الكتاب كان من المستحيل إنشاء طريق الخطأ.

إلا إذا كان ذلك صحيحا من قانون مكتوب في أكثر عادة الإجرائية الأزياء!

1) بناء صغير FBP إطار الشذوذ الكشف عن المشروع ، اتضح أن كانت فكرة عظيمة.

هل يمكن أن يكون أيضا نظرة على بعض من KNIME الفيديو, التي تعطي فكرة جيدة عن ما تدفق على أساس إطار الشعور عندما الإطار وضعت معا من قبل فريق عظيم.من المسلم به دفعة على إنشاء عملية مستمرة.

حتى الآن أفضل مثال على البرمجة القائمة على التدفق ، ومع ذلك ، UNIX الأنابيب التي هي واحدة من أقدم والأكثر يغفل FBP الإطار.أنا لا أعتقد أنني يجب أن تضع على قوة نيكس الأنابيب...

2) FBP هو أداة قوية جدا مجموعة كبيرة من المشاكل.الجوهرية التوازي هو ميزة كبيرة ، أي FBP الإطار يمكن أن تكون مصنوعة بالكامل شبكة شفافة باستخدام محول وحدات.الذكية الأطر أيضا بعبثية المتسامحة ، قادرة على بشكل حيوي تحديث تحطمت وحدات عند الضرورة.المفاهيمي البساطة كما يسمح نظافة التواصل مع الجميع المشاركة في المشروع ، و أنظف بكثير رمز.

3) على الاطلاق!أنابيب البقاء هنا, و هي واحدة من أقوى سمات unix.القوة الكامنة في FBP إطار مقارنة ثابتة البرنامج و يهون التغيير ، لدرجة أن بعض الأطر يمكن تشكيلها أثناء تشغيل مع عدم وجود تدابير خاصة.

FBP FTW!;-)

في السيارات التنمية لديهم لغة الملحد الرسائل البروتوكول الذي هو جزء من أهم مواصفات (وسائل الإعلام الموجهة أنظمة النقل) هذه كانت تهدف إلى التواصل بين مكونات عبر الشبكة أو داخل نفس الجهاز.النظم عادة ما يكون حقيقي وتصور رسالة حافلة لذلك لديك فعالية نموذج البرمجة القائمة على التدفق.

هذا ما جعل المصباح الكهربائي على لي قبل عدة سنوات و جلبت لي هنا.هو حقا وسيلة رائعة للعمل و متعة أكثر من ذلك بكثير من البرمجة التقليدية.الرسالة كتالوج شكل المركزي مواصفات و نقطة مرجعية.أنه يعمل بشكل جيد لكل من المطورين و الإدارة.أيإدارة قادرة على تصفح رسالة مصورة بدلا من النظر إلى المصدر.

مع المتكاملة تسجيل أيضا الرجوع إلى كتالوج لإنتاج واضح تحليل الأمور يمكن أن تحصل حقا الإنتاجية.لدي تجربة العالم الحقيقي من تطوير المنتجات التجارية في هذا السبيل.أنا مهتم في أخذ الأمور ، وخاصة فيما يتعلق أدوات ايديس.للأسف أعتقد أن الكثير من الناس في قطاع السيارات قد غاب عن نقطة عن كم هذا رائع و فشلت بناء على ذلك.وهم الآن يصرف من البدع الأخرى و لم يدرك أن هناك أكثر بكثير معظم التنمية من المادية الحافلة.

لقد استعملت الربيع ويب تدفق على نطاق واسع في جافا تطبيقات الويب إلى نموذج (عادة) تطبيق العمليات ، والتي تميل إلى أن تكون معقدة مثل المعالج الشؤون مع الكثير من المنطق الشرطي الذي الصفحات لعرض.قوية بشكل لا يصدق.منتج جديد تم إضافة تمكنت من recut القطع الموجودة في جديد تماما عملية التطبيق في ساعة أو ساعتين (مع إضافة بضع من الآراء الجديدة/الدول).

أنا أيضا بحثت في استخدام نظام تشغيل سير العمل إلى نموذج العمليات التجارية ولكن هذا المشروع تم فصلها لأسباب مختلفة.

في Microsoft العالم عليك Windows Workflow Foundation ("الصندوق") ، والتي أصبحت أكثر شعبية ، لا سيما بالتزامن مع Sharepoint.

FBP هو مجرد وسيلة من تنفيذ آلة الدولة المحدودة.لا شيء جديد.

وأنا أدرك أنه ليس بالضبط نفس الشيء ولكن هذا النموذج قد استخدمت لسنوات في برمجة PLC.ISO يسميها متتابعة تدفق الرسم البياني ، ولكن كثير من الناس يطلق عليه Grafcet بعد شعبية التنفيذ.ويوفر المعالجة المتوازية يحدد الانتقال بين الدول.

انها تستخدم في أعمال المخابرات في العالم هذه الأيام إلى المزج ومعالجة البيانات.معالجة البيانات الخطوات مثل ETL, الاستعلام, الانضمام , وإنتاج التقارير يمكن القيام به من قبل المستخدم النهائي.أنا مطور على نظام مفتوح - ComposableAnalytics.com في كاليفورنيا ، تدفق المستندة إلى تطبيقات يمكن أن تكون مشتركة و يتم تنفيذها عبر المتصفح.

هذا ما MQ سلسلة MSMQ و الدائرة هي.

هذا هو حجر الزاوية في خدمات الويب و المؤسسة خدمة الحافلة تطبيقات.

المنتجات مثل تيبكو و الشمس JCAPS أساسا على التدفق دون استخدام هذا الخصوص باز-كلمة.

معظم العمل يتم التطبيق مع وحدات صغيرة أن تمرير الرسائل من خلال شبكة معالجة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top