Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Ресми әдістер терминологиясы
Formal methods terminology
Рефикация – компьютерлік бағдарлама туралы абстракт идеяны бағдарламалау тілінде жасалған нақты деректер моделіне немесе басқа объектіге айналдыру процесі. Есептеуге болатын/адрестеуге болатын объект – ресурс – жүйеде есептелмейтін/адрестеуге болатын объектінің өкілі ретінде құрылады. Рефикация арқылы бұрын жасырын, айтылмаған және мүмкін айтуға келмейтін нәрсе нақты түрде тұжырымдалып, тұжырымдамалық (логикалық немесе есептеу) манипуляцияға қолжетімді болады. Бұлжымайтын түрде, рефикация көбінесе белгілі бір жүйе шеңберінде "бір нәрсені бірінші дәрежелі элемент ету" деп аталады. Жүйенің кейбір аспектілері тілдік жобалау кезінде реификациялануы мүмкін, бұл бағдарламалау тілдеріндегі рефлексиямен байланысты. Оны жүйелік жобалау кезінде кезең-кезеңмен жетілдіру ретінде қолдануға болады. Рефикация – тұжырымдамалық талдау және білімді ұсынудың ең көп қолданылатын әдістерінің бірі.
Reification is the process by which an abstract idea about a computer program is turned into an explicit data model or other object created in a programming language. A computable/addressable object—a resource—is created in a system as a proxy for a non computable/addressable object. By means of reification, something that was previously implicit, unexpressed, and possibly inexpressible is explicitly formulated and made available to conceptual (logical or computational) manipulation. Informally, reification is often referred to as "making something a first class citizen" within the scope of a particular system. Some aspect of a system can be reified at language design time, which is related to reflection in programming languages. It can be applied as a stepwise refinement at system design time. Reification is one of the most frequently used techniques of conceptual analysis and knowledge representation.
Деректерді нақтылау мен жетілдіру
Деректерді реефикациялау (кезең-кезеңмен жетілдіру) – формальды сипаттамада қолданылатын абстрактілі дерек типтерінің нақтырақ бейнеленуі. Деректерді реефикациялау – Вена әзірлеу әдісінің (ВДМ) терминологиясы, ал көптеген адамдар оны деректерді жетілдіру деп атайды. Мысал ретінде, жоспарланған іске асыру тілінде баламасы жоқ деректерді (мысалы, жиынтықтар) баламасы бар деректермен алмастыруды қарастыруға болады (мысалы, массивтермен іске асырылатын белгілі домендері бар карталар) немесе кем дегенде баламасы бар болуға жақын нәрсемен алмастыруға болады (мысалы, тізбектер). VDM қауымдастығы «жетілдіру» сөзінен гөрі «реефикация» сөзін артық көреді, себебі бұл процесс идеяны жетілдіруден гөрі нақтылаумен байланысты. Осыған ұқсас қолданыс үшін «Reification (тіл білімі)» бетіне қараңыз.
Data reification (stepwise refinement) involves finding a more concrete representation of the abstract data types used in a formal specification. Data reification is the terminology of the Vienna Development Method (VDM) that most other people would call data refinement. An example is taking a step towards an implementation by replacing a data representation without a counterpart in the intended implementation language, such as sets, by one that does have a counterpart (such as maps with fixed domains that can be implemented by arrays), or at least one that is closer to having a counterpart, such as sequences. The VDM community prefers the word "reification" over "refinement", as the process has more to do with concretising an idea than with refining it. For similar usages, see Reification (linguistics).
Тұжырымдамалық модельдеуде
Реефикация тұжырымдамалық модельдеуде кеңінен қолданылады. Қарым-қатынасты реефикациялау дегеніміз, оны бір нысан ретінде қарастыру. Қарым-қатынасты реефикациялаудың мақсаты, қосымша ақпарат қосу қажет болғанда оны айқын ету болып табылады. Мысалы, IsMemberOf (мүше:Адам, Комитет) қарым-қатынасын қарастырайық. IsMemberOf-тың бір мысалы – адамның комитет мүшесі екенін көрсететін қарым-қатынас. Төмендегі суретте IsMemberOf қарым-қатынасының кестелік нысандағы мысалмен толтырылуы көрсетілген. Адам P1, C1 және C2 комитеттерінің мүшесі. Адам P2 тек C1 комитетінің мүшесі. Дегенмен, осы фактіні де нысан ретінде қарастыруға болады. Қарым-қатынасты нысан ретінде қарастыра отырып, бұл нысан қарым-қатынасты реефикациялайды деуге болады. Бұл қарым-қатынастың реефикациялануы деп аталады. Кез келген нысан сияқты, ол да нысан түрінің бір мысалы болуы керек. Осы мысалда нысан түрі "Мүшелік" деп аталды. IsMemberOf-тың әр мысалы үшін, Мүшеліктің бір және бір ғана мысалы бар, және керісінше. Енді бастапқы қарым-қатынасқа қосымша ақпарат қосу мүмкін болады. Мысал ретінде, "адам p1-ді комитет c1-дің мүшесі ретінде адам p2 ұсынды" деген фактіні білдіре аламыз. Реефикацияланған қарым-қатынас Мүшелік, жаңа қарым-қатынас IsNominatedBy (Мүшелік, Адам) үшін бастапқы дерек ретінде пайдаланылуы мүмкін. Қосымша қолданыс үшін Reification (білімді ұсыну) бетіне қараңыз.
Reification is widely used in conceptual modeling. Reifying a relationship means viewing it as an entity. The purpose of reifying a relationship is to make it explicit, when additional information needs to be added to it. Consider the relationship type IsMemberOf(member:Person, Committee). An instance of IsMemberOf is a relationship that represents the fact that a person is a member of a committee. The figure below shows an example population of IsMemberOf relationship in tabular form. Person P1 is a member of committees C1 and C2. Person P2 is a member of committee C1 only. The same fact, however, could also be viewed as an entity. Viewing a relationship as an entity, one can say that the entity reifies the relationship. This is called reification of a relationship. Like any other entity, it must be an instance of an entity type. In the present example, the entity type has been named Membership. For each instance of IsMemberOf, there is one and only one instance of Membership, and vice versa. Now, it becomes possible to add more information to the original relationship. As an example, we can express the fact that "person p1 was nominated to be the member of committee c1 by person p2". Reified relationship Membership can be used as the source of a new relationship IsNominatedBy(Membership, Person). For related usages see Reification (knowledge representation).
Бірыңғай модельдеу тілінде (UML)
UML қайтадан бейнеленген қатынас түрлерін анықтау үшін ассоциациялық кластың құрылымдық элементін ұсынады. Ассоциациялық класс – қатынастың және кластың бір түрі болатын жалғыз модель элементі. Қатынас және қайтадан бейнеленген нысан түрі – бірдей модель элементі болып табылады. Атрибуттарды қайтадан бейнелеуге болмайтынын ескеріңіз.
UML provides an association class construct for defining reified relationship types. The association class is a single model element that is both a kind of association and a kind of a class. The association and the entity type that reifies are both the same model element. Note that attributes cannot be reified.
Санаға салыстыру
Сонымен қатар, бұл жерде сипатталған реификация басқа тілдерде кездесетін "цитатадан" өзгеше екенін атап өту маңызды. Керісінше, реификация нақты үштіктің мысалы мен сол үштік көрсеткен ресурстар арасындағы қатынасты сипаттайды. Реификацияны интуитивті түрде "осы RDF үштігі осы нәрселер туралы айтады" деп түсінуге болады, "осы RDF үштігінің осы формасы бар" деудің орнына (цитатадағыдай). Мысалы, осы бөлімде қолданылған реификация мысалында, бастапқы мәлімдеменің rdf:subject-ісін сипаттайтын үштік: committee:membership12345 rdf:subject person:p1 мәлімдеменің тақырыбы person:p1 URIref арқылы белгіленген ресурс (адам) екенін көрсетеді. Бұл мәлімдеменің тақырыбының өзі URIref (яғни, белгілі бір таңбалармен басталатын жол) екенін білдірмейді, цитата болғандағыдай.
It is also important to note that the reification described here is not the same as "quotation" found in other languages. Instead, the reification describes the relationship between a particular instance of a triple and the resources the triple refers to. The reification can be read intuitively as saying "this RDF triple talks about these things", rather than (as in quotation) "this RDF triple has this form." For instance, in the reification example used in this section, the triple:
committee:membership12345 rdf:subject person:p1 describing the rdf:subject of the original statement says that the subject of the statement is the resource (the person) identified by the URIref person:p1. It does not state that the subject of the statement is the URIref itself (i. e., a string beginning with certain characters), as quotation would.