Metamodeling for Method Engineering

Edited by Manfred A. Jeusfeld, Matthias Jarke, John Mylopoulos

The MIT Press Cambridge, Massachusetts London, England 6 2009 Massachusetts Institute of Technology

All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher.

MIT Press books may be purchased at special quantity discounts for business or sales promotional use. For information, please email [email protected] or write to Special Sales Department, The MIT Press, 5 Cambridge Center, Cambridge, MA 02142.

This book was set in Times New Roman and Syntax on 3B2 by Asco Typesetters, Hong Kong. Printed and bound in the United States of America.

Library of Congress Cataloging-in-Publication Data

Metamodeling for method engineering / edited by Manfred A. Jeusfeld, Matthias Jarke, John Mylopoulos. p. cm. — (Cooperative information systems) Includes bibliographical references and index. ISBN 978-0-262-10108-0 (hc : alk. paper) 1. Programming (Mathematics) 2. Engineering models. I. Jeusfeld, Manfred. II. Jarke, Matthias. III. Mylopoulos, John. IV. Series.

T57.7.M48 2009 003 0.3—dc22 2008047203

10987654321 Index

Note: The letter t following a page number denotes a table, the letter f denotes a figure, and the letter n denotes an endnote.

Abiteboul, S., 49 ARIS House and Toolkit, 50, 51, 63–65, 66f Abrial, J.-R., 6, 7, 9 Aristotle, 3 Abstract classes, 300, 301–302, 303, 305, 310, 311, Armenise, P., 58 322 Artifact focus of method engineering, 89–90, 154 Abstractionism, 4 Artificial intelligence, 10, 12, 26, 28, 170–171 Abstraction levels. See Data level; IRDS; Model Artz, J., 3 level; Notation definition level; Notation level Assertions, 17–18 Abstraction mechanisms, xv, 3, 295–296. See also Associations, 1, 4 Aggregation; Classification; Generalization; Atkinson, N., 9 Generic relationships; Instantiation; Attribute propagation, 296, 300–302, 304, 305– Materialization 309, 310 Abstractness, 299, 300, 309, 310, 327n1 Attributes, 7, 15–16 Abstract objects, 296, 305, 307, 316, 324–325 of relationships, 16 Access-oriented metamodeling, 75–80 Authority, modeling, 34 Actions, 11, 20, 24, 25, 26 Awareness metamodels, 46 Activities, 3, 8, 11, 20, 23, 24–25. See also Dynamic aspects Backx, T., 365 Actors, 20, 21–22, 23, 34, 36 Balzer, R., 11 Adaptability Bandinelli, S., 60 goal-based, 60 Basili, V. R., 61, 343 metamodel-based, 43, 50, 51 Bayer, B., 358 of modeling environments, 52–53 Beckett, D., 233 in modeling languages, 44–45 Begeman, M., 27 of ontologies, 55 Bellamy, J., 169, 216 Adaptation, goal-driven method, 61, 62 Bergsten, P., 55, 58 AD/Cycle, 55 Berliner sehen, 79 Agent responsibility, modeling, 11 Berners-Lee, T., 50, 76, 236 Agents, 26 Bernstein, P. A., 43, 51, 65 Agents, modeling, 3, 11, 34, 36, 60 Bertino, E., 296 Aggregation, 9, 17, 33, 295. See also Relationships, Beßling, B., 357 part-whole Blair, R., 365 Alford, M., 50, 283 Bloor, M. S., 358 Al-Jadir, L., 311 Bobrow, D., 11 Alternatives, modeling, 11 Boehm, B. W., 170, 284 Anderson, J., 20, 24, 34 Boloix, G., 54 Andono¤, E. G., 296 Boman, M., 12 AND/OR trees, 28–29, 30 Booch, G., 47, 54, 57, 61, 359 Anto´n, A. I., 261 Borgida, A., 10, 11, 12 Argumentation framework, 27–28 Bosgra, O., 365 388 Index

Bouma, L. G., 169 process steps, 367, 372, 373, 374, 377, 378 Boundary objects, 46 systems, 359–361 Bower, G., 3 technical system functions, 361, 362, 363–365, Brachman, R., 10 374–375 Brickley, D., 233, 235 technical system properties, 362–364, 369, 371 Brinkkemper, S., 44, 55 technical systems, 361–365 Brodie, M. L., 12, 47, 53 unit operations, 367–368, 374, 375 Bruns, G., 27 workflow modeling, 368–372 Bubenko, J., 9 Clustering of information, 3 Buneman, P., 49 Coad, P., 311 Bunge, M., 359, 360 Codd, E., 2, 6, 9 Business process engineering, 44, 74 Coleman, D., 61 Collaboration history, 46 Cþþ, in, 44 Collins, A., 3 Calvanese, D., 19, 43, 339 Common Lisp Object System (CLOS), 44 Carnot, 50 Common (COM), 51, 65 CASE, 54, 58, 261 Commonsense knowledge, 10 Castro, J., 60 Communities of practice, 46, 78, 79 Catarci, T., 43 Complex activities, 24–25 Cauvet, C., 12 Complex models, 374–376, 378–379 CDIF (Case Data Interchange Format), 54 ConceptBase, 51, 55, 58, 72–75, 73f, 89–167. See Ceri, S., 105, 271 also Telos Chawathe, S., 334 active rules, 134–138, 319 Checkland, P. B., 56 CLiP, use in, 372–373, 375–377, 379 Chemical engineering, xvi, 44, 356–357. See also data flow diagrams, modeling, 139, 143–148, 150– CLiP 151, 152, 155, 159 Chemical process modeling, 372–379. See also data warehouse design, use in, 337–338, 340, CLiP 345 Chemical process system modeling, 365–368, 380 DealScribe, use in, 271–283 Chen, M., 57, 260, 261 entity-relationship approach, modeling, 139, 140– Chen, P., 6, 7 143, 149–150, 155, 156, 159 Chen, W., 105 event types, modeling, 145–146, 148 Chikofsky, E. J., 259 internotational constraints, modeling, 139, 151– Chilton, C. H., 367 155 Chung, L., 30, 34, 229 intranotational constraints, modeling, 148–151, CIM (Conceptual ), 9 155 Classes, 5–6, 13–15 introduction, 89–91 abstractness/concreteness, 299, 300, 309, 310, materialization in, 296, 311–325, 326–327 327n1 metalevel formulas, 130–134 dynamic and intrinsic properties, 15 multilevel statements, 155–159 reified, 18–19 process models, modeling, 140, 160–165, 166, Class facets, 299, 303–305, 310, 316–322 167 CLASSIC, 10 as prototyping environment for method Classification, 34, 78–79, 348, 373–375. See also application, 90 Instantiation queries, 102, 105, 118–127, 134, 135 in materialization, 295, 296, 303, 310 RATS, use in, 171–172, 178, 187, 189 Classification, multiple, 94 RDF metadata in, 240 Class instances. See Objects stratification, 130 Class-metaclass correspondence, 296 strengths and weaknesses, 326–327, 374–376, Clausing, D., 74 378–379 CLiP Telos, relationship to, 89, 90, 91, 98, 101f, 117 activities, 369, 370–372 ~this, 119, 150, 292n6 chemical process system functions, 365–367, 367– UML, modeling, 158 368 views, 127–130 chemical process systems, 359, 360f, 365–368, Concepts, 1, 4, 13 380 , chemical process system, 359– metalevels, 359, 360f 368 partial model structure, 369 Conceptual model, workflow, 367–372 Index 389

Conceptual modeling, 1, 3, 12, 13, 38n4, 47, 92. See semantic data models, 9 also Information modeling transactions, 136–137 abstraction mechanisms, role of, 295–296 violations, 104 for end-user training, 172 Data dictionaries, 48 history, 4–12 Data flow diagrams, 11–12, 90 for integrating information, 57, 198–199, 247, 357 ConceptBase model of, 139, 143–148, 150–151, in KBS Hyperbook, 245, 247–254 152, 155, 159 in RATS, 172, 174, 178, 181, 185–187 Data integration, 43, 49 in RDF and RDF Schema, 233 Data level, 110, 156–159, 160, 161f. See also IRDS Conceptual models. See also Domain models Datalog, 72, 75, 102–105, 107, 116, 130, 134, 156, consistency and correctness of, 339, 340 167, 253 Conceptual perspective on data warehouses, 334, Data marts, 330, 331f, 335 336–341 Data models, 9, 44 Concrete classes, 300, 301–302, 303, 305, 311, 322 object-oriented, 7, 9–10 Concreteness, 299, 300, 309, 310, 327n1 Data quality, 329–330, 333 Concrete objects, 296, 300, 316, 317–318, 324–325 Data quality factors, 338, 343, 346–348, 354 Congolog, 25, 26 Data quality goals, 343–347, 348–352 Conklin, J., 27 Data quality management, 343–348 Conradi, R., 60 Data quality models, 343, 344, 345, 347–348 Constantopoulos, P., 43 Data Transformation Elements package, 67, 68f, Constraints, 17. See also ConceptBase; Databases; 333 Materialization; RATS; Telos; UML; Yourdan Data warehouse design, xvi method business aspects, 330, 333, 336, 338, 339 on relationships, 15–16 client level, 336, 340, 341, 343 rigid, 190–192 conceptual perspective, 334, 336–341 soft, 187–190 implementation, 339–341 Constructivism, 79 data warehouse level, 336 Context adaptation, 46 enterprise model, 336, 338, 340 Context Interchange Project, 50 logical perspective, 334, 336–338, 341, 348, 349f Context metamodels, 46 metadata framework, 336–338 Context models, 56 physical perspective, 334, 336–338, 341–343, 348, Contextualism, 4 349f Cooperative information systems, distributed, 45 quality data, 344, 345–346 Copeland, G., 9 quality factors, 338, 343, 346–348, 354 Corcho, O., 54 quality goals, 343–347, 348–352 CPCE, 60 quality management, 343–348 Cs3, 260, 284 quality metamodel, 345–348 Curtis, B., 58, 259, 260 quality models, 343, 344, 345, 347–348 CWM (Common Warehouse Metamodel), 331– queries, 335, 341, 343–344, 346, 347, 348, 351, 333 353f Cybulski, J. L., 60 repository model, 336–338 CYC, 50 source level, 336, 341, 343 views, 330, 334, 336, 338, 344, 345 Dahchour, M., 295, 296, 310 Data warehouses, 45, 50 Dahl, O.-J., 5 architecture, 330–342 DAML-OIL, 50, 51 metamodel, 337–338 Dardenne, A., 11, 26, 61 repository, 330, 336–338, 340, 344–345 Darimont, R., 29 data quality, 329–330, 333 Data Abstraction, Databases, and Conceptual metadata-based management of, 330, 334, 335, Modeling, Workshop on, 12 348–352 Databases, 1, 3, 12, 47 metadata standards, 331–333 deductive, 90, 102–105, 275 metamodels, 333, 339 integrity constraints, 103, 104 metrics for quality measurement, 343, 344, 345, introspection in, 44 346, 347, 348 key constraints, 16 strengths and limitations, 329, 353 , 7 Davis, G.-B., 61 object-oriented, 9, 274–275 Davy, C., 260 relational model, 2 Dayal, U., 43 390 Index

DB-Prism, 332f, 334 ontology for, 53 DealScribe, 271–282. See also Requirements reified relationships in, 17 development relationship to Telos, 90 application to Roots Requirements Management, translation into description logic, 19, 50 287–290 Entity-Relationship Approach, International components, 271–272 Conference on the, 12 ConceptBase, use of, 271–283 Entity-relationship diagrams, 265 dialog forum, 281, 282f EPROS, 60 dialog goals, 278–280 ERAE, 11 dialog statements, 272–274, 277f ETL (Extract-Transform-Load), 342 goal checking, 278–280, 281, 282 ETSI (European Telecommunication Standards goal monitoring, 280–281, 282f Index), 216 queries, 274–280 Events, 9 related systems, 282–284 Excelerator, 55, 58 strengths, 290–291 Expert systems, 44 Decker, S., 252 Extensible systems, 11, 51, 91, 102, 250, 336, 358 DeGiacomo, G., 25 Extension of concepts, 311 De Jonge, W., 296 DeMarco, T., 11 Facets. See Class facets; Object facets De Man, J., 170 Falkenberg, E. D., 54, 55 Dependencies, strategic, 34–36 Falquet, G., 311 de Pennington, A., 358 Farquhar, A., 50 Description logic, 10–11, 45 Farrow, D. L., 250 mapping from entity-relationship approach, 50 Feather, M. S., 26, 260 translation into, 19 Fendt, K., 79 Descriptive metamodeling, 72–80 Fenton, N. E., 165 Descriptive method engineering, 72–80 Fickas, S., 11, 26, 29, 260 Design rationale, 27, 62, 170 Fikes, R., 50 Development situations, modeling, 46 Findler, N., 10 Dhar, V., 62, 262, 285 Finkelstein, A., 28, 58, 262 Dhraief, H., 240, 241, 242 Fixpoint semantics for deductive databases, 102– Dialog goals, 258, 262, 265, 266f, 267–269, 273, 103, 105 278–280, 287–288 Flores, F., 51 Dialog planning, dynamic, 291 Formal semantics, xv–xvi, 17 Diamond model, 43, 51–62 Fowler, M., 12, 311 Distributed application development, 48, 49 Frame representations, 10 Domain models. See also RATS Franz, C. R., 260 chemical processes, 372–378 Fro¨hlich, P., 245 data warehouse, 334 Fuggetta, A., 60 in KBS Hyperbook, 247 Fuxman, A., 51 DOORS, 174 Dorfman, M., 12 Galbraith, J., 34 Dublin Core, 46, 76, 240, 245 Gans, G., 51 Dubois, E., 11, 170 Gebhardt, M., 341 DWQ Project, 330 Geller, J., 296 Dynamic aspects, 9, 15, 20–26, 167 Gemstone, 9 Generalization, 4, 9, 11, 33, 54, 70 Eggersmann, M., 371 in materialization, 295, 303 Egyed, A., 284 in Telos, 94 Elam, J. J., 259 Generalization hierarchies Embodiment, 310, 311 metadata level, 50 Emmerich, W., 260, 283, 284 Generic relationships, 295–296. See also Enterprise modeling, 12, 27, 336, 338, 340. See also Abstraction mechanisms Organizations, modeling Ghezzi, C., 49, 60 Entities, 3, 7, 9, 11, 17 Gillies, A. C., 229 Entity-relationship approach, 6–7, 7f, 9, 11–12, 265 GIST, 11 modeled by ConceptBase, 139, 140–143, 147, Glastra, M., 60 149–150, 152, 155, 156, 159 Goal analysis, 28–29, 31. See also Goal checking Index 391

Goal aspect of metamodeling, 43, 52, 60–62 Heterogeneous systems, 45, 170 Goal checking, 265, 268–270, 272–274, 275f, 278– Heterogeneous viewpoints, 49, 74 280, 281, 282, 290 Hirschheim, R., 53, 260 Goal classification, 29 Hong, S., 44 Goal dependencies, 34, 35 Horrocks, I., 50 Goal-driven method adaptation, 61, 62 Huhns, M. N., 50 Goal failure, 267–270, 278–280, 282, 283, 288 Hull, R., 9, 334 remedying, 284, 285 Hume, David, 3 visualizing, 291 Huyts, S., 170 Goal monitoring, 258, 261–262, 270–271, 280–281, Hyperbooks, 245 282f, 284–292 HyperCASE, 60 Goals, xv, 3, 11. See also Dialog goals; Goal Hypothetical statements, 270–271, 281, 282f, 284, checking; Goal failure; Goal monitoring 292n4 in MECCA, 79 in RATS, 173 i* formalism, 34–37, 61–62 notations, relation to, 60, 62 IEC (International Electrotechnical Commission), ontologies, relation to, 60, 62 247 process models, relation to, 59, 60, 62 IEEE Transactions on Engineering, 45 Goals, modeling, 26–34, 61 Iivari, J., 60 Goals, reasoning with, 29 IN (Intelligent Network), 180, 219 Go¨del, Kurt, 43 In, H., 284 Go¨del programming language, 44 Indexing, resource, 45–46 Goh, C. H., 50 Individuals, 1, 13, 14 Goldman, N., 190 Information bases, 1, 2. See also Information Goldstein, R. C., 310 modeling Gomez-Peres, A., 54 Information brokering, 49 GOPPR, 51, 54, 68, 70–71, 71f Information modeling, 3. See also Conceptual Gotel, O., 28, 262 modeling; Knowledge representation Gottlob, G., 105, 271, 296 history, 4–14 GQM (goal-quality-metric) approach, 61, 343, 345, introduction, 1–4 347 relationships, 15–17 Graf, D. K., 259 static aspects, 13–19 Graham, I., 229 Information Resource Dictionary System. See Graph-based method engineering, 68–71 IRDS Green, P., 53 Information systems, 43, 47, 49 Greenspan, S., 11, 72, 91 ontologies, 52, 53 Grouping, modeling, 9, 296 reference models, 52 Gruber, T. R., 53 Information systems development Gruninger, M., 358 adaptability, 44–45, 61 Guarini, N., 54 notations, 57 Guha, R. V., 233, 235 ontological heterogeneity, 57 Inheritance, 4, 6, 297 Halper, M., 296 InstanceOf relationship. See Instantiation Hameri, A.-P., 357 Instantiation, 14, 15, 44, 91–92. See also Hammer, J., 334 Classification Hammer, M., 3, 9 in ConceptBase, 112–115, 130 Harmsen, F., 44, 54, 55, 61 limitations for modeling, 296–297 Harvest, 45–46 multiple, 93 Hauser, J. R., 74 in Telos, 51, 95–96, 106, 191 Hay, D., 311 Instantiation levels, 47, 91–92 Heineman, G. T., 58 Integration Hendler, J., 50, 76 conceptual model-based, 57, 198–199, 247, 357 Henke, N., 245 of information, 10, 43, 45, 49, 330, 338 Herbrand semantics, 102, 158 of metamodels, 72–75 Hernandez, J., 55 of notations, 57 Hershey, E. A. III, 55, 58 of processes, 60 Heterogeneous information sources, 10, 45, 80, of schemas, 12, 43, 45 330, 357 Intension of concepts, 311 392 Index

Intentions, modeling, 26–34 KBS Hyperbook, 245–254 International Conference on the Entity- Kegel, D., 216 Relationship Approach, 12 Kellner, M. I., 58 Internet Anonymous FTP Archive (IAFA) Kelly, S., 44, 49, 50, 51, 54, 55, 56, 58, 68 template, 45 Kerloa, M., 44 Interoperability Kerola, P., 60 of databases, 45 Kessler, G. C., 216 goal-based, 60 Kethers, S., 74 of information systems, 49 KIF (Knowledge Interchange Format), 50 metamodel-based, 43, 50, 51 Kilov, H., 311 of modeling environments, 52–53 King, R., 9 of software tools, 66, 67 Kirk, T., 334 Introspection, 44. See also Self-description Klamma, R., 78, 79 IRDS (Information Resource Dictionary System), Klas, W., 10, 43, 296 xv, 43, 47–51, 89, 91, 247. See also Data level; Kleene, S., 56 Model level; Notation definition level; Notation Klein, H., 53 level Klein, M., 269 in Telos, 96–98, 143–144, 145, 146, 155, 156, Klir, G. J., 363 160–162 KL-ONE, 10 isA hierarchy. See Generalization Knowledge representation, 10, 11, 12, 47 Iscoe, N., 259, 260 Koller, R., 364, 365 ISDN (Integrated Services Digital Network), 172, Kolp, M., 60, 310 215–218, 217f, 218f Konsynski, B., 47, 61 ISDOS (Information System Design and Koskinen, M., 60 Optimization System), 54 Kotteman, J., 47, 61 ISO (International Organization for Koubarakis, M., 44 Standardization), 247, 367 Kowalski, R. A., 51 is-of. See Instantiation KQML, 50 Issues, modeling, 26, 27–28 Kramer, B., 11 Issue-tracking tools, 260 Kramer, J., 58 ITU-T (International Telecommunication Union), Krasner, H., 259, 260 170, 180, 216, 217, 218, 219 Kremer, R., 49 Ivari, J., 44 KRL, 10 Krobb, C., 371 Jaccheri, M. L., 60 KSIMapper, 49 Jackson, M., 9 Kumar, K., 44, 61 Jacobs, S., 341 Jacobson, I., 12, 47, 54, 57, 359 Lassila, O., 50, 76, 234 Jarke, M., 49, 50, 51, 54, 55, 58, 59, 60, 61, 62, 65, Lee, J., 27 72, 73, 74, 78, 110, 165, 176, 189, 228, 235, 271, Lefering, M., 49 275, 330, 337, 341, 343, 348, 359, 376, 379 Lehman, M., 57 Jeusfeld, M. A., 49, 51, 72, 73, 74, 110, 111, 165, Lempp, P., 259 176, 189, 228, 233, 235, 242, 337, 347, 358, 376, Lenzerini, M., 19, 43, 348 379 Le´onard, M., 311 Johnen, U., 49, 74 Lespe´rance, Y., 25, 26, 34 Johnson, R., 310 Levesque, H., 11, 25 Levy, A. Y., 334 KAOS, 1, 11, 17–19, 38n5 Lieberman, H., 320 activities, 23–24, 25 Liou, Y. I., 260 assertions, 17–18, 23–24 Locality principle, 2, 3 dynamics, 23–24 Locke, John, 3 entities, 17 Logic, predicate, 17–18, 19 formal semantics, 17 Logical information models, 3, 6 goals, 29, 61 Logical perspective on data warehouses, 334, 336– ontology for classifying goals, 28 338, 341, 348, 349f reified classes and relationships, 17–19 Lonchamp, J., 59, 60 state transitions, 25–26, 27f Lott, C. M., 58 temporal operators, 23–24, 25–26, 27f Loucopoulos, P., 12 Index 393

Lubbers, I., 61 Metadata Lyytinen, K., 44, 49, 50, 51, 53, 54, 55, 56, 58, 61, applications, 45, 46, 76, 77f, 233, 236, 329–354 62, 68, 260 formal analysis, 43 generalization hierarchies, 50 MacLean, A., 27 in IRDS, 47 Madhavji, M., 12 management of, 72 Maestro II, 55, 60 materialization, relation to, 310 Maida, A., 26 need for, 43 Maier, D., 9 Metadatabases, 43, 48, 330, 338, 343, 345. See also Manjunath, B. S., 76 Metadata repository Manola, F., 233 Metadata Coalition, 66 Marquardt, W., 44, 358, 365, 371 Metadata Engine, 65 Martin, J., 310 Metadata framework, 336–338 Marttiin, P., 5, 58 Metadata management of data warehouses, 330, Maryanski, F., 9 334, 335 Massonet, P., 29 Metadata repository, 330, 336–338, 340, 344–345 Materialization, xv, 295–296, 299, 310 MetaEdit, 58 attribute propagation, 296, 302, 304, 305–309, 310 MetaEditþ, 49, 51, 56, 58, 68–71, 69f of compositions, 308–309 MetaEngine, 68, 69f constraints, 314–316 Metaknowledge and metalogic, 43 implementation, 312–315, 318–322 Meta-metaclasses, 44, 91 T1 propagation, 300, 301f, 305–307, 312–315, in Telos, 96, 97f, 100 318, 319–320 Meta-metamodels, 50, 51 T2 propagation, 300–301, 307–308, 312–315, in IRDS, 47, 48 319, 320–321 Metamodel, chemical process design, 358. See also T3 propagation, 301, 308, 312–315, 319, 322 CLiP behavioral semantics, 296, 311–325 Metamodel, data quality, 345–348 class-level semantics, 311–316 Metamodel, data warehouse architecture, 337–338 class-metaclass correspondence, 296 Metamodel, UML class diagram, 66, 67f composition, 301–302, 304–305 Metamodeling, 10, 92 formal semantics, 296, 303–309, 316 access-oriented, 75–80 implementation, 304, 311–325 applications, 11, 54, 56, 57 instance-level semantics, 316–318 goal aspect, 43, 52, 60–62 intuitive definition, 300–305 introduction, 43–46 materializes meta-attribute, 311–315, 317, 318 notational aspect, 43, 50, 51, 56–58, 65–67 multiple, 303, 322–323 ontological aspect, 43, 50, 51, 53–56, 63–65 need for, 296–299, 309 process aspect, 43, 50, 51, 58–60 querying, 324–325 services, 44–46 real-world examples, 299, 301–303, 309–310 types, 68–80 related work, 310–311 Metamodels. See also Ontologies structural semantics, 296, 311–325 domain-specific, 46, 50, 71, 75–80, 333 two-faceted constructs, 305, 306f, 310 evolution of, 55 Mayfield, M., 311 integration of, 72–75 Mazza, C., 261, 265, 284 in IRDS, 47, 48 McAllister, A. J., 55 reuse of, 56, 68, 71 McChesney, I. R., 59 Metaprogramming, 44 McKay, A., 358 MetaView, 55 McLeod, D., 3, 9 Method Engineering MECCA (Movie Classification and Categorization common artifact focus, 89–90 Application), 78–80, 78f declarative, 68–71 Mechanical engineering, 44 definition, xi Mediation between representations, 49. See also descriptive, 72–75 Integration examples, role in teaching, 166 Meeting-scheduling example, 13–37 graph-based, 68–71 Mellor, S., 11 importance of metamodeling to, 44 Merbeth, G., 55, 60 integrative, 72–75 Mercurio, V. J., 55 modeling life cycle, 90 Meta-CASE environments, 58 notation, 57, 65–67 394 Index

Method engineering environments, 48, 49 Nonfunctional requirements (NFR) framework, Method evolution, 62 30–34. See also Softgoals Method generation, 70 goal analysis, 32–34 Method-related knowledge, 61 Norman, R. J., 57, 259 Methods, definition, xi North, D., 311 Meyer, B., 260 Notational aspect of metamodeling, 43, 50, 51, 56– Mi, P., 261 58 Microsoft Repository (MSR), 51, 65–67 Notation-centric metamodeling, 65–67 MicroStrategy, 342 Notation definition level, 139, 140, 143–144, 171 Miller, E., 233 Notation level, 140, 144–146, 154, 155f, 156–159, Miller, J., 261 161–162 Minker, J., 271, 277, 284 Notations Minsky, M. L., 10, 361 formality, 56 Mintzberg, H., 34 goals, relation to, 60, 62 Misic, M. M., 259 information models, relation to, 2–3 Model analysis, xvi, 219–221 ontologies, relation to, 56, 57, 58, 59 Model checking, 51, 260 process models, relation to, 58, 59 Modeling relationships among as query language conflicts, 45 constraints, 90 perspectives on, 139 types of, 56, 58, 59 pragmatics, 167 Nunamaker, J. F. Jr., 259, 261 Modeling formalisms, 44–45, 47 Nuseibeh, B., 49, 58 Modeling techniques, knowledge about using, 166– Nygaard, K., 5 167 Model level, 131, 141, 147, 156–159, 160, 161 Oberweis, A., 63 Models Object facets, 299, 303–304, 310 correctness of, 219–221 Object-oriented analysis techniques, 12 definition, xi Object-oriented databases, 9, 274–275 specifying relationships among, 47 Object-oriented data models, 7, 9–10 Modern Structural Analysis. See Yourdan Object-oriented modeling, 14, 49 method translation into description logic, 19 MOLAP (Multidimensional On-Line Analytical Object-oriented programming, 5, 12, 44 Processing), 333 Objects, 5–6, 13, 15 Møller-Pedersen, B., 170 Odell, J., 310 Motschnig-Pitrik, R., 72, 296 Oei, J. L. H., 54, 55 MPEG-7, 46, 75–80, 76f,77f,78f OIM (Open Information Model), 66, 67, 331–333 Multimedia metamodels, 43, 46, 75–80 Oivo, M., 343 Multiple classification, 94 OLAP, 329, 333, 336 Multiple inheritance, pros and cons for modeling OLTP systems, 329, 335–336 using, 374–376, 378–379 OMT (Object Modeling Technique), 310 Mylopoulos, J., 9, 11, 12, 34, 47, 51, 60, 72, 91, Ontolingua, 50 171, 189, 233, 236, 271, 295, 296, 357 Ontological aspects of metamodeling, 43, 50, 51, 53–56 Myrhaug, B., 5 Ontological assumptions in CIM, 9 Nagl, M., 358 in entity-relationship model, 7, 47 Nardi, D., 19, 348 in modeling languages, 47 National Library of Medicine, 55 in object-oriented approaches, 47 NATURE Project, 54, 60 in SADT, 9, 47 n-dim system, 49 Ontologies. See also Metamodels Neches, R., 53, 55 adaptability, 55 Nejdl, W., 240, 241, 242, 245 collaborative, 78 Neumann, P. G., 170 domain-based, 29, 53, 54, 55, 73, 79, 261 Nihtila¨, J., 357 fundamental, 53, 54 Nissen, H. W., 44, 49, 51, 54, 73, 74 goals, relation to, 29, 60, 62 NIST/ECMA model, 58 mapping between, 57 Nixon, B. A., 229 modeling declarative, 68 Nokia, 45 multiple, 70 Nonfunctional requirements, 30 notations, relations to, 56, 57, 58, 59 in RATS, 173, 182t, 184, 189–190, 199 process models, relation to, 58–59 Index 395

Ontology, 10 Process models, 74, 90, 91 characterization, 53 ConceptBase, modeled by, 140, 160–165, 166, 167 construction, principles of, 54 descriptive, 59, 160 hierarchies, 54 design decisions, modeling, 167 upper, 50 goals, relation to, 59, 60, 62 Ontology-centric metamodeling, 63–65 notations, relation to, 58, 59 Oquendo, F., 60 ontologies, relation to, 58–59 Oracle Warehouse Builder, 342 prescriptive, 59, 160 Organizations, modeling, 34. See also Enterprise Process steps, 367, 372, 373, 374, 377, 378 modeling Prolog, 12 Osterweil, L., 261 Prototype approach to modeling, 49 O-Telos, 112–117, 379 PSL/PSA, 55, 59 compared to RDF, 235–236 PSTN (Public Switched Telephone Network), 172, frames, 244–245, 248 216 mapped to by RDF, 240–245: examples, 241–242, PTT Telecom, 216 245, 246f, 249–254 model of RDF, 234–240 Qualities. See Nonfunctional requirements O-Telos-RDF, 240–245, 247, 252 Quality factors in data warehouses, 338 Over, J., 58 Queries, model analysis via, xvi, 219–221. See also ConceptBase; Data warehouse design Papazoglou, M., 49 Quillian, R., 4 Paton, N. W., 168 Quix, C., 110, 165, 343, 348, 376, 379 Patzak, G., 359, 360, 362, 365 Pawlowski, S. D., 257, 285, 286 RAMATIC, 55 pdXi (Process Data Exchange Institute), 367 Ramesh, B., 59, 62, 74, 262, 284 Peckham, J., 9 Rationale, design, 27, 62, 170 Penedo, N., 12 Rationale, requirements development, 265–266 Perl, Y., 296 Rationale, strategic, 36–37 Perry, H., 367 Rational Rose, 49, 58 Personalization, 46, 77, 79, 333f, 334 Rational Unified Process, 59 Perspectives. See Viewpoints RATS, 169–229 Pfe¤er, J., 34 applications, 221–225, 226–227 Pfleeger, S. L., 165 client, 176–178 Philosophical issues, 3 frame generator, 176, 178, 226–227 Physical information models, 3 graphical user interface, 176–177, 199, 226–227 Physical perspective on data warehouses, 334, 336– constraints 338, 341–343, 348, 349f check, 190–191 Pirotte, A., 295, 296, 310 for ensuring model consistency, 178, 189, 221 Planning, 28 meta-attributes, 191–192, 199 Plato, 3 object orientation–based, 187–189, 198–199 Plexousakis, D., 44 permanent, 189–190, 199 Pohl, K., 59, 60, 229 rigid, 187–190 Positions, modeling, 34, 36 soft, 190–192 Potts, C., 4, 27, 261 state classes, 191–192, 199 Power types, 310 Telos axioms, 189, 198–199 Pragmatics of modeling, 167 temporary, 190–191 Pratt, M., 44, 53, 54 testing, 220 PRIME (Process-Integrated Modeling Environ- user-defined constraints and rules, 189–191, 199 ment), 60 development layer, 178–185, 189, 199–215 Process aspects of metamodeling, 43, 50, 51, 58–60 development models, 178, 193 Process compliance, 260–261 implementation, 202–215 Process descriptions, 25, 153 information retrieval, 211–213 Process design, need for improved, 357 intelligence models, 178, 186–199, 213–215 Process integration, 60 intermodel consistency, 213–215 Process modeling. See also Business process negotiation models, 178, 185, 215 engineering requirements documents, 176, 202, 203–205, for monitoring requirements development, 261, 210f 263–264 requirements objects, 201f, 202, 204, 212t software, 12, 25 service definition template, 205–206, 222, 224 396 Index

RATS (cont.) Requirements states and actions, 181, 182t, 185, 187, 189, 193, acquisition, 11, 172 199–200, 202 analysis, 263, 269 development methodology, 173, 199–202 conflicts, 285–290 domain layer, 172, 178, 185–186, 189, 215–219 elicitation, 182t, 183 domain models, 172, 185–186, 215–219 inconsistency between, 259 guidance interactions, 263, 287 active 174–175, 186, 192–198 restructuring, 286–287 class-specific, 174–175, 192–193 reuse, 182t instance-specific, 174–175, 193–195 traceability, 74, 170, 172 methodology-related, 174–175, 186, 195–198, Requirements, root, 285–290 199 Requirements development. See also DealScribe object-related, 174–175, 186, 193–195, 197, dialog forum, 264, 265, 266f, 273, 281, 282f, 199 292n1 passive, 174–175, 186, 187–192 dialog goals, 258, 262, 265, 266f, 267–269, 273, intelligence integration, 198–199 278–280, 287–288 methodology guidelines, 179, 181–185 dialog metamodel, 258, 261, 263–264, 265–267, model analysis, 219–221 283 nonfuntional requirements in, 173, 182t, 184, tool support, 271–283 189–190, 199, 202, 210 dialog monitoring, 264, 266f, 267, 269–270 performance of implementation, 228–229 dialog protocols, 264, 269, 287–290, 292n1 problems with, 228–229 dialog statements, 264, 266f, 267, 272–274, 277f SDL specification, 171, 172, 173, 181, 182t, 184, dialog support system, 258, 262–271, 281, 282f 185 goal checking, 265, 268–270, 272–274, 275f, 278– server, 178–186 280, 281, 282, 290 Telos, relation to, 171–172, 178, 187, 189 goal failure, 267–270, 278–280, 282, 283, 284, usage, 172–174, 228 288, 291 use cases in, 173, 182t, 184, 185, 211, 212t goal monitoring, 258, 261–262, 270–271, 280– RDD-100, 50 281, 282f, 284–292 RDF (Resource Description Framework), 76, 233– problems, 262 239 goal remedies, 268–269, 270 compared to Telos and O-Telos, 235–236 hypothetical statements, 270–271, 281, 282f, 284, dual role of constructs, 234, 235, 236 292n4 inference engines, 252 inconsistency management, 259–261 mapping to O-Telos, xv–xvi, 240–245, 247: issue-tracking, 260, 263, 284 examples, 241–242, 245, 246f, 249–254 problems, 257, 259 modeled in O-Telos, 234–240 protocols, 264, 269, 285–290, 291 versus RDF Schema, 234–235 , 1, 9, 11, 12 resources, 234 characterization, 257–258 RDF Schema, 233–239 in telecommunications, 170, 171 classes, 234–235 traditional, 171 versus RDF, 234–235 Requirements modeling, 9, 11, 12, 26, 172 resources, 235, 247 Requirements specification, 7, 172 specification, 237–239 RequisitePro, 174 summary, 234 Resource dependency, 34, 35 Reed, K., 60 Resource identification, metamodel-based, 45–46 Reed, R., 170 Resource indexing, 45, 46 Reflection. See Introspection Reusability of models, 228 Reification, 16–17, 18–19 Reusability of Web resources, 254 in Telos, 91, 92, 95, 110, 167n1 Reusable components, 43, 46 Relationships. See also Attributes Reuse metamodels, 68 constraints, 15–16 Rice, J., 50 modeling, 1, 7, 15–17 Riecken, D., 77 part-whole, 16, 54 Rijsenbrij, D., 60 reified, 16–17, 95 RML (Requirements ), 11 Relationships, generic, 295–296. See also RM/T, 9 Abstraction mechanisms Robey, D., 260 Repositories, 48. See also Data warehouses Robinson, W. N., 257, 271, 285, 286 Index 397

Ro¨ck, B., 296 Sintek, M., 252 ROLAP (Relational On-Line Analytical Smalltalk, 5, 9 Processing), 333 Smith, E., 3 Roles, modeling, 34, 36, 296 Smolander, K., 54, 58 Rolland, C., 12, 60 Social settings, modeling, xv, 34–37 Roman, G.-C., 12 Softgoals, 30–34, 35, 37 Rombach, H. D., 61 analysis of, 30–31 Root Requirements Management, 285–290 dependencies, 30, 34, 35 Rose, T., 72 hierarchies, 30–31, 32, 33 Rosemann, M., 53 , xi, 26–27 Ross, D., 8, 9 Solvberg, A., 9 Ross, J., 311 Sommerville, I., 60, 170 Rossi, M., 44, 49, 50, 51, 54, 55, 56, 58, 59, 68 Sorenson, P. G., 54, 55 Rubenstein, B. L., 259 SPADE, 60 Rudolf, L., 259 Spaniol, M., 78 Rumbaugh, J., 12, 47, 54, 57, 310, 359, 379 Specialization, xv. See also Generalization Russell, Bertrand, 43 Spruit, P., 296 Ryan, R., 170 SQL (Structured Query Language), 2, 333 Squirrel, 334 S3 (situation-scenario-success) model, 61 Sravanapudi, A. P., 260 SADT ( and Design Srivastava, D., 334 Technique), 8, 8f,9,11 Staab, S., 50 Saeki, M., 54 Stakeholder communities, 61, 74, 75f Salancik, G., 34 Standish Group, 170 Salembier, P., 76 State transitions, 23–24, 25–26, 27f, 153 Scacchi, W., 261 Static aspects, modeling, 9, 13–19 SCALE, 60 Staudt, M., 176, 189, 228, 235, 331, 333 Scenaria, 21, 23 STEP, 53, 54, 73 Scenario checking, 260 Stereotypes, 45, 58 Schach, S. R., 229 Storey, V. C., 296, 310 Scha¨fer, E., 334 Strategic dependency model, 34–36, 61–62 Scheer, A.-W., 44, 50, 51, 53, 55, 63, 64, 65, 66 Strategic rationale model, 36–37 Schema integration, 43, 45 Suciu, D., 49 Schmidt, J. W., 12, 47 Sullivan, C. H., 61 Schoman, A., 7 Summary Object Interchange Format (SOIF), 45– Schrefl, M., 43, 296 46 SCORE (Service Creation in an Object-Oriented Sutton, S., 261 Reuse Environment), 169 Swick, R., 234 Scott, K., 12 Symbol structures, 1, 2, 6, 10 Scott, W., 34 System Encyclopedia Manager, 54 SDL (Specification and Description Language), 172–173, 181, 184–185 Tabourier, Y., 310 SDM (Semantic ), 9 Takahashi, K., 261 Search engines, metamodel-based, 45 Tanca, L., 105, 271 Self-description, 75. See also Introspection Task dependencies, 34, 35 Semantic annotation tools, 78 TAU, 174 Semantic data models, 9, 11, 12, 44. See also Data Taxis, 9 models Technical system modeling, 361–368 Semantic models in KBS Hyperbook, 245, 247 Teichroew, D., 55, 58 Semantic networks, 4–5, 5f, 10, 11, 92 Telecommunications. See also RATS Semantic Web, xvi, 50, 54, 76, 80, 233, 236 heterogeneity of networks, 170 Sequencing, 22–23, 25 legacy software, 170 Shapiro, S., 26 services, implementation of, 169–170 Sheth, A., 10, 261 , 282 Shlaer, S., 12 TELL-HYPO, 281, 282 Sikora, T., 76 Telos, 51, 54, 72–75. See also ConceptBase Simula, 5, 6f abstraction levels, 96–99 Sindayamaze, J., 311 axiomatization, 89, 111–117 398 Index

Telos (cont.) actors, 20, 21–22, 23 CLiP, use in, 379 association classes, 16 ConceptBase, relation to, 89, 90, 91, 98, 101f, 102, attributes, 15–16 117 class diagram metamodel, 66–67 constraints and rules, 89, 90, 102, 105–107, 110– classes, 14, 15, 17, 18f, 158 117, 189–191 CLiP class level, model of, 369f user-defined, 113, 115–116, 117–118, 119, 120, constraints, 17, 20, 21, 23 121, 129 limitations, xi, 15 data warehouse design, use in, 337, 345, 351 multiple modeling notations, 47, 72 formal semantics, 72 process modeling, 59 frames, 99–100, 117 relationships, 15–17, 21–22 instantiation, 51, 91–92, 95–96, 108, 109, 110, sequencing, 22–23 112–117, 130, 187 stereotypes, 45 instantiation hierarchy, 72 as system modeling standard, 54, 57 logical foundation, 105–107 use cases, 20–21, 22f mapping frames to P-predicates, 107–110 UMLS (Unified Medical Language System), materialization in, 296 55 object reference, 94–99 UPT (Universal Personal Telecommunication), omega level, 51 193–199, 214, 221 predicates, 108, 110–111, 117, 118, 136 URI, 234 RATS, use in, 171–172, 178, 187, 189 Uschold, M., 358 RDF, compared to, 235–236 Use cases, 20–21, 22f. See also RATS; UML reification in, 91, 92, 95, 110, 167n self-descriptiveness, 75 Vaduva, A., 331, 333 statements, 91–92, 96 van der Weide, T. P., 54 stratification, 103, 104, 105, 116, 130 van Lamsweerde, A., 11, 26, 29 structural relations, 91–92, 93, 94, 95–96, 99–100, Vassiliadis, P., 341 108, 109, 110, 112–117, 127–128, 187 Vassiliou, Y., 330 uniform representation of objects, 74 Velthuijsen, H., 169 Temporal logic, 23–24, 281. See also Time, Vernadat, F., 12 modeling Vessey, I., 260 ter Hofstede, A. H. M., 54 Vetterli, T., 331, 333 Terminological consistency checking, 260 Viewpoints, 78, 296 Terminologic logic. See Description logic conflicts, 73 TGL 25000 (Technische Gu¨te und Lieferbedin- heterogeneous, 49, 74 gungen), 368, 372–375, 373f, 374f, 377, 379 models as, 90 Thanos, C., 12 multiple, xvi, 72–75, 79 Thayer, R., 12 Views, 49, 127–130, 330, 336, 338, 344, 345 Theodorakis, M., 72 Violations, 104, 149–150 Tho¨rner, J., 180, 219 Vlasblom, G., 60 Time, modeling, 9, 13. See also Temporal logic VODAK, 45, 296 Tolvanen, J.-P., 54, 55, 56, 57, 61, 62 Volkov, S., 271, 285, 286 Traceability, requirements, 74, 262 Traceability metamodels, 46 Walz, D. B., 259, 260 Transformation between representations, 49, 51, Wand, Y., 53, 56 54, 57, 59, 71. See also Integration Warren, D. S., 105 in ARIS, 65, 66f Weber, R., 53, 56 Tremblay, J.-P., 54, 55 Webster, D., 12 TRIPLE, 252 Weibel, S., 240 Trisolini, S., 348 Welke, K., 44 Tsichritzis, D., 9 Welke, R. J., 61 TSIMMIS, 334 Welty, C., 54 Turski, W., 57 Westerberg, A. W., 49 Type objects, 310–311 WHIPS, 334 Whitston, W., 365 UML (Unified Modeling Language), 1, 11–12 Widom, J., 10 actions, 20, 24–25 Wiederhold, G., 330 activities, 20, 20f,24–25 Wieringa, R. J., 170, 296 Index 399

Wijers, G., 61 Wile, D., 190 Winograd, T., 10, 51 Wolpers, M., 240, 241, 242, 245 Woolf, B., 310 Workflow modeling, 261, 368–372

XML (Extended Markup Language), 49, 71, 75, 76f, 77, 79, 234 self-descriptiveness, 75

Yang, O., 296 Yourdan, E., 139 Yourdan method ConceptBase model of, 139–165 (see also Data flow diagrams; Entity-relationship approach) data dictionary notation, 146f, 147 data flow diagrams, 90 event types, 145, 146f internotational constraints, 139, 151–155 intranotational constraints, 148–151 and IRDS, 89 system modeling, 90 Yu, E. S. K., 34, 60, 61, 229

Zdonik, S., 9 Zelkowitz, M., 57, 58 Zhang, A., 56, 61 Zhou, G., 334 Zicari, R., 12 Zilles, S., 12 Zima´nyi, E., 295, 296, 310