ज्वाइन जावा

जावा से जुड़ें एक प्रोग्रामिंग भाषा है जो सम्मिलित-पैटर्न  पर आधारित है जो जोड़-गणना के जॉइन शब्दार्थ के साथ मानक  जावा  का विस्तार करती है। यह दक्षिण ऑस्ट्रेलिया विश्वविद्यालय में डॉ. वॉन इट्ज़स्टीन द्वारा रीकॉन्फिगरेबल कंप्यूटिंग लैब के भीतर लिखा गया था।

भाषा की विशेषताएं
जावा से जुड़ें विस्तारण तीन नए भाषाओं के निर्माणों का परिचय देता है:
 * जुड़ने के तरीके
 * अतुल्यकालिक तरीके
 * पैटर्न के मिलान के क्रम को निर्धारित करने के लिए वर्ग संशोधक का क्रम निर्धारित करें

सबसे लोकप्रिय प्रोग्रामिंग भाषाओं में संगामिति को संकेत द्वारा समाचार भेजना और मॉनिटर जैसे निर्माणों का उपयोग करके कार्यान्वित किया जाता है। पुस्तकालय उभर रहे हैं (जैसे जावा संगामिति पुस्तकालय जेएसआर-166) जो उच्च-स्तरीय संगामिति शब्दार्थ प्रदान करते हैं। संचार अनुक्रमिक प्रक्रियाओं (सीएसपी), कम्युनिकेटिंग प्रणाली की गणना (सीसीएस) और पीआई में समवर्ती प्रक्रियाओं के इंटरफेस पर घटनाओं की संरचना के माध्यम से स्पष्ट रूप से परिभाषित उच्च-स्तरीय समकालीन व्यवहार होते हैं। इसके विपरीत, ज्वाइन गणना में, कमी नियमों के रूप में परिभाषित घटनाओं के स्थानीय संयोजन के आधार पर स्पष्ट समकालीन है। जोड़ना शब्दार्थ प्रक्रियाओं और चैनलों के गतिशील निर्माण और विनाश सहित मॉड्यूलर के वस्तु-उन्मुख विचार को भंग किए बिना समकालीन की स्पष्ट अभिव्यक्ति प्रदान करने का प्रयास करते हैं।

जावा से जुड़ें भाषा वस्तुतः सभी प्रकाशित समवर्ती पैटर्न को निम्न-स्तरीय मॉनिटर कॉल के लिए स्पष्ट सहारा के बिना व्यक्त कर सकती है। सामान्य तौर पर, जावा प्रोग्राम में शामिल हों उनके जावा समकक्षों की तुलना में अधिक संक्षिप्त हैं। जावा से जुड़ें में शुरू किए गए ओवरहेड को ज्वाइन कैलकुलस से प्राप्त उच्च-स्तरीय अभिव्यक्तियों द्वारा प्रबंधित किया जा सकता है। मॉनिटर (प्रतीक्षा करें और सूचित करें) से जुड़े समकालीन एक्सप्रेशन जो सामान्य रूप से विधियों के निकाय में स्थित होते हैं, उन्हें जॉइन जावा अभिव्यक्ति (जॉइन मेथड्स) से बदला जा सकता है जो विधि हस्ताक्षर का हिस्सा बनते हैं।

जुड़ने के तरीके
ज्वाइन विधि को दो या अधिक जॉइन खंड द्वारा परिभाषित किया जाता है। जॉइन विधि के सभी अंशों को बुलाए जाने के बाद जॉइन विधि निष्पादित होगी। यदि रिटर्न प्रकार एक मानक जावा प्रकार है तो अग्रलेख खंड कॉल करने वाले को तब तक ब्लॉक करें जब तक कि जॉइन विधि पूरा न हो जाए और विधि न हो जाए निष्पादित। यदि रिटर्न टाइप सिग्नल टाइप का है तो अग्रणी खंड तुरंत वापस आ जाएगा। सभी अनुगामी खंड हैं अतुल्यकालिक इसलिए कॉल करने वाले को ब्लॉक नहीं करेगा।

उदाहरण:

आदेश संशोधक
ज्वाइन टुकड़े को मल्टीपल जॉइन पैटर्न में दोहराया जा सकता है इसलिए ऐसा मामला हो सकता है जब टुकड़े को बुलाए जाने पर कई जुड़ने वाले पैटर्न पूरा हो जाए। ऐसा मामला नीचे दिए गए उदाहरण में हो सकता है यदि बी, सी और डी  तो ए  कहा जाता हैं बुलाया। अंतिम ए  खंड तीन पैटर्न को पूरा करता है इसलिए तीन संभावित तरीके जिन्हें कहा जा सकता है। आदेशित वर्ग संशोधक का उपयोग यह निर्धारित करने के लिए किया जाता है कि कौन सी जॉइन विधि कहलाएगी। अक्रमित और अनियंत्रित वर्ग संशोधक का उपयोग करते समय अनियमित रूप से विधियों में से एक को चुनना है। आदेशित संशोधक के साथ विधियों को घोषित किए गए क्रम के अनुसार प्राथमिकता दी जाती है।

उदाहरण:

अतुल्यकालिक विधियों
अतुल्यकालिक विधियों को सिग्नल रिटर्न प्रकार का उपयोग करके परिभाषित किया जाता है। इसमें शून्य प्रकार के समान विशेषताएं हैं सिवाय इसके कि विधि तुरंत वापस आ जाएगी। जब अतुल्यकालिक विधि को विधि के शरीर को निष्पादित करने के लिए नया धागा बनाया जाता है।

उदाहरण:

संबंधित भाषाएँ
पॉलीफोनिक सी शार्प निकटतम संबंधित भाषा है। सीω पॉलीफोनिक सी शार्प का उत्तराधिकारी है।

हार्डवेयर जावा में शामिल हों लैंग्वेज को आगे बढ़ाया हार्डवेयर शब्दार्थ को लागू करने के लिए जावा से जुड़ें। इस भाषा ने जॉइन जावा के शब्दार्थ को एफपीजीए अनुप्रयोगों तक विस्तारित किया।

संदर्भ

 * von Itzstein, G, Stewart. and Jasiunas, M (2003). On Implementing High Level Concurrency in Java. Advances in Computer Systems Architecture 2003, Aizu Japan, Springer Verlag.
 * von Itzstein, G, Stewart. and D. Kearney (2002). Applications of Join Java. Proceedings of the Seventh Asia Pacific Computer Systems Architecture Conference ACSAC'2002. Melbourne, Australia, Australian Computer Society: 1-20.
 * von Itzstein, G, Stewart. and D. Kearney (2004). The Expression of Common Concurrency Patterns in Join Java. International Conference on Parallel and Distributed Processing Techniques and Applications, Las Vegas.
 * Hopf, J., von Itzstein, G, Stewart, et al. (2002). Hardware Join Java: A High Level Language For Reconfigurable Hardware Development. International Conference on Field Programmable Technology, Hong Kong.

बाहरी संबंध

 * Website