Knowledge

Object (computer science)

Source đź“ť

1206: 1196: 313:
accessed via an Interface Definition Language. Such an approach would not be appropriate for the Internet because the Internet is constantly evolving and standardization on one set of interfaces is difficult to achieve. OWL objects tend to be similar to the kinds of objects used to define application
282:, are more non-standard, in that they abandon the usual case that an object resides in a single location at a time, and apply the concept to groups of entities (replicas) that might span across multiple locations, might have only weakly consistent state, and whose membership might dynamically change. 325:
However, there are important distinctions between OWL objects and traditional object-oriented programming objects. Traditional objects get compiled into static hierarchies usually with single inheritance, but OWL objects are dynamic. An OWL object can change its structure at run time and can become
128:
An important distinction in programming languages is the difference between an object-oriented language and an object-based language. A language is usually considered object-based if it includes the basic capabilities for an object: identity, properties, and attributes. A language is considered
194:, and other platform-specific issues. The IDL is also usually part of a distributed environment that provides services such as transactions and persistence to all objects in a uniform manner. Two of the most popular standards for distributed objects are the 302:(RDF). RDF provides the capability to define basic objects—names, properties, attributes, relations—that are accessible via the Internet. OWL adds a richer object model, based on set theory, that provides additional modeling capabilities such as 185:
A standard method to package distributed objects is via an Interface Definition Language (IDL). An IDL shields the client of all of the details of the distributed server object. Details such as which computer the object resides on, what
232:) that run a distributed multi-party protocol to achieve high consistency between their internal states, and that respond to requests in a coordinated way. Examples include fault-tolerant 337:, a statement is only considered false if there is actual relevant information that it is false, otherwise it is assumed to be unknown, neither true nor false. 329:
Another critical difference is the way the model treats information that is currently not in the system. Programming objects and most database systems use the "
254:
concept to groups of replicas that might internally use any distributed protocol, perhaps resulting in only a weak consistency between their local states.
209:
In addition to distributed objects, a number of other extensions to the basic concept of an object have been proposed to enable distributed computing:
682: 351:
The following table contrasts traditional objects from Object-Oriented programming languages such as Java or C++ with Semantic Web Objects:
1363: 575: 134: 74: 1734: 1368: 1358: 1353: 1199: 1065: 994: 1790: 1341: 1242: 888: 791: 576:"The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities" 138: 1785: 675: 1519: 868: 735: 720: 537: 506: 58: 1492: 130: 70: 1609: 1414: 1346: 1308: 1024: 951: 941: 786: 715: 481: 299: 224: 175: 1800: 1209: 1075: 1004: 946: 668: 1509: 1439: 1287: 1014: 873: 740: 413:
Closed world: If there is not enough information to prove a statement true, then it is assumed to be false.
148:
Not all object-based (or object-oriented) languages are class-based. One prominent alternative paradigm is
472:
Grady Booch; Robert Maksimchuk; Michael Engle; Bobbi Young; Jim Conallen; Kelli Houston (April 30, 2007).
405:
Instances are anonymous insofar that they cannot easily be addressed from outside of an executing program.
1764: 1399: 936: 931: 745: 315: 149: 82: 66: 17: 552:
Ostrowski, K., Birman, K., Dolev, D., and Ahnn, J. (2008). "Programming with Live Distributed Objects",
416:
Open world: If there is not enough information to prove a statement true, then it may be true or false.
1387: 1131: 979: 974: 926: 903: 883: 333:". If a fact is not known to the system that fact is assumed to be false. Semantic Web objects use the 266:, are domain-specific terms for special types of "ordinary" objects used in a certain context (such as 157: 1697: 1649: 1561: 1534: 1462: 1328: 1282: 1136: 1126: 182:
model tend to be larger grained, longer lasting, and more service-oriented than programming objects.
649: 400:
Classes make their meaning explicit in terms of OWL statements. No imperative code can be attached.
1571: 1235: 1039: 838: 821: 730: 431: â€“ Time period between the creation and destruction of an object-oriented programming instance 267: 86: 50: 1724: 1639: 989: 833: 330: 294:
is essentially a distributed-objects framework. Two key technologies in the Semantic Web are the
246: 240: 195: 78: 174:
The object-oriented approach is not just a programming model. It can be used equally well as an
1467: 1323: 1277: 1044: 801: 796: 123: 529: 523: 1457: 1432: 863: 816: 334: 295: 179: 62: 392:
Reasoners can be used for classification and consistency checking at runtime or build-time.
1259: 1161: 999: 858: 848: 760: 705: 691: 397:
Classes encode much of their meaning and behavior through imperative functions and methods.
303: 187: 77:. An object-oriented system integrates code (behavior) and data (state) into objects. In a 46: 595: 8: 1795: 1729: 1707: 1634: 1487: 1479: 1228: 1181: 1166: 1034: 898: 806: 750: 310: 111: 561: 1712: 1692: 1644: 1619: 1404: 1373: 1171: 811: 169: 142: 591: 408:
All named RDF and OWL resources have a unique URI under which they can be referenced.
1599: 1529: 1504: 1318: 1313: 1085: 843: 533: 502: 477: 105: 471: 1744: 1629: 1427: 1156: 1100: 878: 770: 765: 634: 610: 587: 191: 101: 93: 31: 1749: 1614: 1566: 1499: 1176: 1029: 1009: 893: 755: 440: 428: 381:
The list of classes is fully known at compile-time and cannot change after that.
1702: 1524: 1514: 1422: 1080: 984: 725: 434: 341: 271: 217: 1779: 1624: 1060: 828: 609:
Knublauch, Holger; Oberle, Daniel; Tetlow, Phil; Wallace, Evan (2006-03-09).
1581: 1556: 1095: 1090: 1019: 291: 554:
Proceedings of the 22nd European Conference on Object-Oriented Programming
114:
can be modeled with objects representing their components and interfaces.
1759: 1754: 1604: 1551: 1378: 446: 389:
Compilers are used at build-time. Compile-time errors indicate problems.
1664: 1659: 1576: 1544: 1449: 1392: 1105: 1070: 660: 437: â€“ Techniques for copying an object in object-oriented programming 220:
that enclose network communication within an object-oriented interface.
153: 340:
OWL objects are actually most like objects in artificial intelligence
1739: 1717: 1674: 1669: 1336: 1292: 1251: 203: 129:
object-oriented if it is object-based and also has the capability of
54: 1654: 853: 573: 97: 710: 611:"A Semantic Web Primer for Object-Oriented Software Developers" 345: 39: 1220: 910: 574:
Berners-Lee, Tim; James Hendler; Ora Lassila (May 17, 2001).
319: 233: 199: 608: 1272: 1121: 560:, vol. 5142, Springer-Verlag, Berlin, Heidelberg, 463-489, 1267: 614: 443: â€“ Entity within a multi-tiered software application 562:
http://portal.acm.org/citation.cfm?id=1428508.1428536
474:
Object-Oriented Analysis and Design with Applications
556:, Paphos, Cyprus, July 07–11, 2008, J. Vitek, Ed., 1777: 635:http://www.w3.org/2001/sw/BestPractices/SE/ODSD/ 528:. New York: Wiley Computer Publishing. pp.  309:OWL objects are not like standard large-grained 384:Classes can be created and changed at runtime. 373:Instances can not change their type at runtime. 314:domain models in programming languages such as 1236: 676: 368:Classes are regarded as sets of individuals. 365:Classes are regarded as types for instances. 476:(3 ed.). Addison-Wesley Professional. 69:(OOP) is object-based with the addition of 1243: 1229: 683: 669: 525:The Essential Client/Server Survival Guide 228:are groups of distributed objects (called 178:for distributed systems. The objects in a 326:an instance of new or different classes. 117: 874:Software development process/methodology 690: 376:Class membership may change at runtime. 449: â€“ Model of concurrent computation 27:Abstraction with well-defined behaviour 14: 1778: 521: 163: 1224: 664: 496: 467: 465: 463: 1195: 889:Software verification and validation 792:Component-based software engineering 490: 53:, behavior (modified via associated 285: 24: 460: 258:Some of these extensions, such as 25: 1812: 869:Software configuration management 736:Search-based software engineering 721:Experimental software engineering 643: 592:10.1038/scientificamerican0501-34 558:Lecture Notes in Computer Science 1205: 1204: 1194: 633:Table excerpted from tables in: 49:that supports a construct with 1250: 716:Empirical software engineering 627: 602: 567: 546: 515: 300:Resource Description Framework 13: 1: 1309:Arbitrary-precision or bignum 453: 176:interface definition language 741:Site reliability engineering 100:management, aspects such as 42:with well-defined behavior. 7: 1791:Object-oriented programming 746:Social software engineering 422: 150:prototype-based programming 67:Object-oriented programming 10: 1817: 884:Software quality assurance 501:. McGraw Hill. p. 7. 167: 121: 81:language, an object is an 1786:Object (computer science) 1683: 1650:Strongly typed identifier 1592: 1478: 1448: 1413: 1301: 1258: 1190: 1149: 1114: 1053: 967: 960: 919: 779: 698: 1040:Model-driven engineering 839:Functional specification 822:Software incompatibility 731:Requirements engineering 280:live distributed objects 268:remote method invocation 241:Live distributed objects 1725:Parametric polymorphism 834:Enterprise architecture 522:Orfali, Robert (1996). 331:closed-world assumption 196:Object Management Group 1045:Round-trip engineering 802:Backward compatibility 797:Software compatibility 124:Object-based languages 118:Object-based languages 864:Software architecture 817:Forward compatibility 360:Semantic Web Objects 335:open-world assumption 296:Web Ontology Language 180:distributed computing 1801:Composite data types 1162:Computer engineering 859:Software archaeology 849:Programming paradigm 761:Software maintenance 706:Computer programming 692:Software engineering 497:Oppel, Andy (2005). 304:multiple inheritance 272:protocol composition 216:are components of a 188:programming language 108:may act as objects. 1730:Primitive data type 1635:Recursive data type 1488:Algebraic data type 1364:Quadruple precision 1182:Systems engineering 1167:Information science 947:Service orientation 899:Structured analysis 807:Compatibility layer 751:Software deployment 580:Scientific American 311:distributed objects 274:). Others, such as 260:distributed objects 164:Distributed objects 112:Information systems 1693:Abstract data type 1374:Extended precision 1333:Reduced precision 1172:Project management 937:Object orientation 904:Essential analysis 812:Compatibility mode 656:The Java Tutorials 651:What Is an Object? 598:on April 24, 2013. 276:replicated objects 225:Replicated objects 170:Distributed object 1773: 1772: 1505:Associative array 1369:Octuple precision 1218: 1217: 1145: 1144: 1086:Information model 990:Incremental model 844:Modeling language 420: 419: 252:replicated object 250:) generalize the 141:, and, possibly, 61:is classified as 16:(Redirected from 1808: 1745:Type constructor 1630:Opaque data type 1562:Record or Struct 1359:Double precision 1354:Single precision 1245: 1238: 1231: 1222: 1221: 1208: 1207: 1198: 1197: 1157:Computer science 965: 964: 879:Software quality 771:Systems analysis 766:Software testing 685: 678: 671: 662: 661: 637: 631: 625: 624: 622: 621: 606: 600: 599: 594:. Archived from 571: 565: 550: 544: 543: 519: 513: 512: 494: 488: 487: 469: 354: 353: 286:The Semantic Web 264:protocol objects 214:Protocol objects 192:operating system 160:, among others. 94:relational model 32:computer science 21: 1816: 1815: 1811: 1810: 1809: 1807: 1806: 1805: 1776: 1775: 1774: 1769: 1750:Type conversion 1685: 1679: 1615:Enumerated type 1588: 1474: 1468:null-terminated 1444: 1409: 1297: 1254: 1249: 1219: 1214: 1186: 1177:Risk management 1141: 1110: 1049: 1030:Waterfall model 1000:Prototype model 995:Iterative model 956: 932:Aspect-oriented 915: 894:Software system 775: 756:Software design 694: 689: 646: 641: 640: 632: 628: 619: 617: 607: 603: 572: 568: 551: 547: 540: 520: 516: 509: 499:SQL Demystified 495: 491: 484: 470: 461: 456: 441:Business object 429:Object lifetime 425: 342:frame languages 288: 172: 166: 126: 120: 28: 23: 22: 15: 12: 11: 5: 1814: 1804: 1803: 1798: 1793: 1788: 1771: 1770: 1768: 1767: 1762: 1757: 1752: 1747: 1742: 1737: 1732: 1727: 1722: 1721: 1720: 1710: 1705: 1703:Data structure 1700: 1695: 1689: 1687: 1681: 1680: 1678: 1677: 1672: 1667: 1662: 1657: 1652: 1647: 1642: 1637: 1632: 1627: 1622: 1617: 1612: 1607: 1602: 1596: 1594: 1590: 1589: 1587: 1586: 1585: 1584: 1574: 1569: 1564: 1559: 1554: 1549: 1548: 1547: 1537: 1532: 1527: 1522: 1517: 1512: 1507: 1502: 1497: 1496: 1495: 1484: 1482: 1476: 1475: 1473: 1472: 1471: 1470: 1460: 1454: 1452: 1446: 1445: 1443: 1442: 1437: 1436: 1435: 1430: 1419: 1417: 1411: 1410: 1408: 1407: 1402: 1397: 1396: 1395: 1385: 1384: 1383: 1382: 1381: 1371: 1366: 1361: 1356: 1351: 1350: 1349: 1344: 1342:Half precision 1339: 1329:Floating point 1326: 1321: 1316: 1311: 1305: 1303: 1299: 1298: 1296: 1295: 1290: 1285: 1280: 1275: 1270: 1264: 1262: 1256: 1255: 1248: 1247: 1240: 1233: 1225: 1216: 1215: 1213: 1212: 1202: 1191: 1188: 1187: 1185: 1184: 1179: 1174: 1169: 1164: 1159: 1153: 1151: 1150:Related fields 1147: 1146: 1143: 1142: 1140: 1139: 1134: 1129: 1124: 1118: 1116: 1112: 1111: 1109: 1108: 1103: 1098: 1093: 1088: 1083: 1081:Function model 1078: 1073: 1068: 1063: 1057: 1055: 1051: 1050: 1048: 1047: 1042: 1037: 1032: 1027: 1022: 1017: 1012: 1007: 1002: 997: 992: 987: 985:Executable UML 982: 977: 971: 969: 962: 958: 957: 955: 954: 949: 944: 939: 934: 929: 923: 921: 917: 916: 914: 913: 908: 907: 906: 896: 891: 886: 881: 876: 871: 866: 861: 856: 851: 846: 841: 836: 831: 826: 825: 824: 819: 814: 809: 804: 794: 789: 783: 781: 777: 776: 774: 773: 768: 763: 758: 753: 748: 743: 738: 733: 728: 726:Formal methods 723: 718: 713: 708: 702: 700: 696: 695: 688: 687: 680: 673: 665: 659: 658: 645: 644:External links 642: 639: 638: 626: 601: 566: 545: 538: 514: 507: 489: 482: 458: 457: 455: 452: 451: 450: 444: 438: 435:Object copying 432: 424: 421: 418: 417: 414: 410: 409: 406: 402: 401: 398: 394: 393: 390: 386: 385: 382: 378: 377: 374: 370: 369: 366: 362: 361: 358: 298:(OWL) and the 287: 284: 256: 255: 237: 221: 218:protocol stack 190:it uses, what 168:Main article: 165: 162: 122:Main article: 119: 116: 26: 9: 6: 4: 3: 2: 1813: 1802: 1799: 1797: 1794: 1792: 1789: 1787: 1784: 1783: 1781: 1766: 1763: 1761: 1758: 1756: 1753: 1751: 1748: 1746: 1743: 1741: 1738: 1736: 1733: 1731: 1728: 1726: 1723: 1719: 1716: 1715: 1714: 1711: 1709: 1706: 1704: 1701: 1699: 1696: 1694: 1691: 1690: 1688: 1682: 1676: 1673: 1671: 1668: 1666: 1663: 1661: 1658: 1656: 1653: 1651: 1648: 1646: 1643: 1641: 1638: 1636: 1633: 1631: 1628: 1626: 1625:Function type 1623: 1621: 1618: 1616: 1613: 1611: 1608: 1606: 1603: 1601: 1598: 1597: 1595: 1591: 1583: 1580: 1579: 1578: 1575: 1573: 1570: 1568: 1565: 1563: 1560: 1558: 1555: 1553: 1550: 1546: 1543: 1542: 1541: 1538: 1536: 1533: 1531: 1528: 1526: 1523: 1521: 1518: 1516: 1513: 1511: 1508: 1506: 1503: 1501: 1498: 1494: 1491: 1490: 1489: 1486: 1485: 1483: 1481: 1477: 1469: 1466: 1465: 1464: 1461: 1459: 1456: 1455: 1453: 1451: 1447: 1441: 1438: 1434: 1431: 1429: 1426: 1425: 1424: 1421: 1420: 1418: 1416: 1412: 1406: 1403: 1401: 1398: 1394: 1391: 1390: 1389: 1386: 1380: 1377: 1376: 1375: 1372: 1370: 1367: 1365: 1362: 1360: 1357: 1355: 1352: 1348: 1345: 1343: 1340: 1338: 1335: 1334: 1332: 1331: 1330: 1327: 1325: 1322: 1320: 1317: 1315: 1312: 1310: 1307: 1306: 1304: 1300: 1294: 1291: 1289: 1286: 1284: 1281: 1279: 1276: 1274: 1271: 1269: 1266: 1265: 1263: 1261: 1260:Uninterpreted 1257: 1253: 1246: 1241: 1239: 1234: 1232: 1227: 1226: 1223: 1211: 1203: 1201: 1193: 1192: 1189: 1183: 1180: 1178: 1175: 1173: 1170: 1168: 1165: 1163: 1160: 1158: 1155: 1154: 1152: 1148: 1138: 1135: 1133: 1130: 1128: 1125: 1123: 1120: 1119: 1117: 1113: 1107: 1104: 1102: 1101:Systems model 1099: 1097: 1094: 1092: 1089: 1087: 1084: 1082: 1079: 1077: 1074: 1072: 1069: 1067: 1064: 1062: 1059: 1058: 1056: 1052: 1046: 1043: 1041: 1038: 1036: 1033: 1031: 1028: 1026: 1023: 1021: 1018: 1016: 1013: 1011: 1008: 1006: 1003: 1001: 998: 996: 993: 991: 988: 986: 983: 981: 978: 976: 973: 972: 970: 968:Developmental 966: 963: 959: 953: 950: 948: 945: 943: 940: 938: 935: 933: 930: 928: 925: 924: 922: 918: 912: 909: 905: 902: 901: 900: 897: 895: 892: 890: 887: 885: 882: 880: 877: 875: 872: 870: 867: 865: 862: 860: 857: 855: 852: 850: 847: 845: 842: 840: 837: 835: 832: 830: 829:Data modeling 827: 823: 820: 818: 815: 813: 810: 808: 805: 803: 800: 799: 798: 795: 793: 790: 788: 785: 784: 782: 778: 772: 769: 767: 764: 762: 759: 757: 754: 752: 749: 747: 744: 742: 739: 737: 734: 732: 729: 727: 724: 722: 719: 717: 714: 712: 709: 707: 704: 703: 701: 697: 693: 686: 681: 679: 674: 672: 667: 666: 663: 657: 653: 652: 648: 647: 636: 630: 616: 612: 605: 597: 593: 589: 585: 581: 577: 570: 563: 559: 555: 549: 541: 539:0-471-15325-7 535: 531: 527: 526: 518: 510: 508:0-07-226224-9 504: 500: 493: 485: 479: 475: 468: 466: 464: 459: 448: 445: 442: 439: 436: 433: 430: 427: 426: 415: 412: 411: 407: 404: 403: 399: 396: 395: 391: 388: 387: 383: 380: 379: 375: 372: 371: 367: 364: 363: 359: 356: 355: 352: 349: 347: 343: 338: 336: 332: 327: 323: 321: 317: 312: 307: 305: 301: 297: 293: 283: 281: 277: 273: 269: 265: 261: 253: 249: 248: 243: 242: 238: 235: 231: 227: 226: 222: 219: 215: 212: 211: 210: 207: 205: 202:standard and 201: 197: 193: 189: 183: 181: 177: 171: 161: 159: 155: 151: 146: 144: 140: 139:encapsulation 136: 132: 125: 115: 113: 109: 107: 103: 99: 95: 90: 88: 84: 80: 76: 72: 68: 64: 60: 56: 52: 48: 43: 41: 37: 33: 19: 1539: 1530:Intersection 1096:Object model 1091:Metamodeling 1020:Spiral model 920:Orientations 655: 650: 629: 618:. Retrieved 604: 596:the original 583: 579: 569: 557: 553: 548: 524: 517: 498: 492: 473: 350: 339: 328: 324: 308: 292:Semantic Web 289: 279: 275: 263: 259: 257: 251: 247:live objects 245: 239: 229: 223: 213: 208: 184: 173: 147: 131:polymorphism 127: 110: 91: 71:polymorphism 63:object-based 44: 35: 29: 1760:Type theory 1755:Type system 1605:Bottom type 1552:Option type 1493:generalized 1379:Long double 1324:Fixed point 787:Abstraction 447:Actor model 357:OOP Objects 244:(or simply 143:composition 135:inheritance 79:class-based 75:inheritance 18:Data object 1796:Data types 1780:Categories 1665:Empty type 1660:Type class 1610:Collection 1567:Refinement 1545:metaobject 1393:signedness 1252:Data types 1106:View model 1071:Data model 620:2008-07-30 483:020189551X 454:References 348:and Loom. 154:JavaScript 152:, used by 55:procedures 1740:Subtyping 1735:Interface 1718:metaclass 1670:Unit type 1640:Semaphore 1620:Exception 1525:Inductive 1515:Dependent 1480:Composite 1458:Character 1440:Reference 1337:Minifloat 1293:Bit array 1115:Languages 586:: 34–43. 206:'s DCOM. 204:Microsoft 1765:Variable 1655:Top type 1520:Equality 1428:physical 1405:Rational 1400:Interval 1347:bfloat16 1210:Category 1076:ER model 942:Ontology 854:Software 780:Concepts 423:See also 344:such as 236:objects. 230:replicas 98:database 83:instance 59:identity 47:language 1708:Generic 1684:Related 1600:Boolean 1557:Product 1433:virtual 1423:Address 1415:Pointer 1388:Integer 1319:Decimal 1314:Complex 1302:Numeric 1200:Commons 1025:V-model 530:399–403 92:In the 57:), and 1698:Boxing 1686:topics 1645:Stream 1582:tagged 1540:Object 1463:String 961:Models 711:DevOps 699:Fields 536:  505:  480:  346:KL-ONE 106:column 40:entity 38:is an 36:object 1593:Other 1577:Union 1510:Class 1500:Array 1283:Tryte 1137:SysML 1061:SPICE 1054:Other 1015:Scrum 975:Agile 927:Agile 911:CI/CD 654:from 234:CORBA 200:CORBA 102:table 87:class 85:of a 51:state 34:, an 1713:Kind 1675:Void 1535:List 1450:Text 1288:Word 1278:Trit 1273:Byte 1122:IDEF 1066:CMMI 952:SDLC 534:ISBN 503:ISBN 478:ISBN 318:and 316:Java 290:The 278:and 262:and 156:and 104:and 73:and 45:Any 1572:Set 1268:Bit 1132:USL 1127:UML 1005:RAD 980:EUP 615:W3C 588:doi 584:284 320:C++ 270:or 198:'s 158:Lua 96:of 30:In 1782:: 1035:XP 1010:UP 613:. 582:. 578:. 532:. 462:^ 322:. 306:. 145:. 137:, 133:, 89:. 65:. 1244:e 1237:t 1230:v 684:e 677:t 670:v 623:. 590:: 564:. 542:. 511:. 486:. 20:)

Index

Data object
computer science
entity
language
state
procedures
identity
object-based
Object-oriented programming
polymorphism
inheritance
class-based
instance
class
relational model
database
table
column
Information systems
Object-based languages
polymorphism
inheritance
encapsulation
composition
prototype-based programming
JavaScript
Lua
Distributed object
interface definition language
distributed computing

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑