An Overview of UML 2.0 (And MDA)

Total Page:16

File Type:pdf, Size:1020Kb

An Overview of UML 2.0 (And MDA) ® IBM Software Group An Overview of UML 2.0 (and MDA) Bran Selic [email protected] IMPORTANT DISCLAIMER! The technical material described here is still under development and is subject to modification prior to full adoption by the Object Management Group 2 IBM Software Group | 1 Tutorial Objectives 1. To introduce the major new features of UML 2.0 2. To explain the design intent and rationale behind UML 2.0 3. To describe the essence of model-driven development (as realized with UML 2.0) 3 IBM Software Group | Tutorial Overview Introduction: Modeling and Dynamic Semantics Software Interaction Modeling Model-Driven Development Capabilities A Critique of UML 1.x Activities and Actions Requirements for UML 2.0 State Machine Innovations Foundations of UML 2.0 Other New Features Architectural Modeling Summary and Conclusion Capabilities 4 IBM Software Group | 2 A Skeptic’s View of Software Models… PH reached X start Monitor Control ble Current PH PH ena PH ble stop disa Raise PH Input valve control “…bubbles and arrows, as opposed to programs, …never crash” -- B. Meyer “UML: The Positive Spin” American Programmer, 1997 5 IBM Software Group | The Problem with Bubbles… PH reached X start Monitor Control ble Current PH PH ena PH ble stop disa Raise PH Input valve control ? main () { BitVector typeFlags (maxBits); char buf [1024]; cout << msg; while (cin >> buf) { if ... 6 IBM Software Group | 3 Models in Traditional Engineering As old as engineering (e.g., Vitruvius) Traditional means of reducing engineering risk 7 IBM Software Group | What Engineers Do Before they build the real thing... …they first build models…and then learn from them ➼ 8 IBM Software Group | 4 Engineering Models Engineering model: A reduced representation of some system that is easier to understand than the actual system Modeled system Model 9 IBM Software Group | Characteristics of Useful Models Abstract Emphasize important aspects while removing irrelevant ones Understandable Expressed in a form that is readily understood by observers Accurate Faithfully represents the modeled system Predictive Can be used to derive correct conclusions about the modeled system Inexpensive Much cheaper to construct and study than the modeled system To be useful, engineering models must satisfy all of these characteristics! 10 IBM Software Group | 5 How Models are Used To detect errors and omissions and to determine key tradeoffs in complex designs before committing full resources to realization Through (formal) analysis and experimentation Investigate and compare alternative solutions Minimize engineering risk To communicate with stakeholders Clients, users, implementers, testers, documenters, etc. To drive implementation 11 IBM Software Group | A Problem with Models Semantic Gap due to: . • Idiosyncrasies of actual . construction materials • Construction methods • Scaling effects • Skill sets • Misunderstandings Can lead to serious errors and discrepancies in the realization 12 IBM Software Group | 6 Models of Software SC_MODULE(producer) SC_CTOR(consumer) { { sc_outmaster<int> out1; SC_SLAVE(accumulate, in1); sc_in<bool> start; // to kick-start the sum = 0; // initialize the producer accumulator}}; void generate_data () SC_MODULE(top) // structural module { { for(int i =0; i <10; i++).{ producer *A1; out1 =i ; //this will invoke the slave;} consumer *B1; } sc_link_mp<int> link1; SC_CTOR(producer) SC_CTOR(top) { { SC_METHOD(generate_data); A1 = new producer(“A1”); sensitive << start;}}; A1.out1(link1); SC_MODULE(consumer) B1 = new consumer(“B1”); { B1.in1(link1);}}; sc_inslave<int> in1; int sum; // declare as a module state variable void accumulate (){ sum += in1; «sc_method» «sc_link_mp» «sc_slave» cout << “Sum = “ << sum << endl;} producer consumer start out1link1 in1 13 IBM Software Group | Software Model Evolution: Adding Detail void generate_data() «sc_method» producer {for (int i=0; i<10; i++) producer {out1 = I;}} start out1 NotStarted producer start/generate_data( ) NotStarted Started start St1 St2 Started Detail can be added continuously until the specification is complete 14 IBM Software Group | 7 The Remarkable Thing About Software Software has the rare property that it allows us to directly evolve models into full-fledged implementations without changing the engineering medium, tools, or methods! ⇒ This ensures perfect accuracy of software models; since the model and the system that it models are the same thing The model is the implementation 15 IBM Software Group | Introduction: modeling and Dynamic Semantics software Interaction Modeling Model-Driven Development Capabilities A Critique of UML 1.x Activities and Actions Requirements for UML 2.0 State Machine Innovations Foundations of UML 2.0 Other New Features Architectural Modeling Summary and Conclusion Capabilities 16 IBM Software Group | 8 Model-Driven Style of Development (MDD) An approach to software development in which the focus and primary artifacts of development are models (as opposed to programs) Implies automatic generation of programs from models Using modeling languages directly as implementation tools “The model is the implementation” 17 IBM Software Group | Modeling versus Programming Languages Cover different ranges of abstraction high ∆ : HI statecharts, interaction diagrams, architectural Modeling Level of structure, etc. Languages Abstraction (UML,…) Programming Languages (C/C++, Java, …) ∆ : LO data layout, arithmetical and logical operators, low etc. 18 IBM Software Group | 9 Covering the Full Range of Detail “Action” languages (e.g., Java, C++) for fine-grain detail high Modeling Level of Languages Abstraction (UML,…) Programming Fine-grain logic, Languages arithmetic (Any) Action implementation (C/C++, Java, …) formulae, level detail Language etc. (application specific) low 19 IBM Software Group | Example Spec Appropriate languages for each abstraction level Fine-grain S1 logic in a traditional 3G e1[q=5]/ e2/ language {d = msg->data(); High-level {printf(q);} parts described send(oa,5, d);} using high-level abstractions S2 Advantage: exploits S21 e32/ • Existing tools S21 • Code libraries end/ • Developer experience {printf(“bye”);} 20 IBM Software Group | 10 How We Learn From Models By inspection ? mental execution Ξ = cos (η + π/2) Ξ =+ cos ξ∗5(η + π/2) + ξ∗5 unreliable By formal analysis ? Ξ = cos (η + π/2) mathematical methods Ξ =+ cos ξ∗5(η + π/2) + ξ∗5 reliable (theoretically) software is very difficult to ? model mathematically! By experimentation (execution) Ξ = cos (η + π/2) Ξ =+ cos ξ∗5(η + π/2) more reliable than inspection + ξ∗5 direct experience/insight 21 IBM Software Group | MDD Implications Ultimately, it should be possible to: Execute models Translate them automatically into implementations …possibly for different implementation platforms Platform independent models (PIMs) Modeling language requirements The semantic underpinnings of modeling languages must be precise and unambiguous It should be possible to easily specialize a modeling language for a particular domain It should be possible to easily define new specialized languages 22 IBM Software Group | 11 OMG’s Model-Driven Architecture (MDA) An OMG initiative A framework for a set of standards in support of MDD Inspired by: The widespread public acceptance of UML and The availability of mature MDD technologies OMG moving beyond middleware (CORBA) Purpose: Enable inter-working between complementary tools Foster specialization of tools and methods Good overview paper: http://www.omg.org/cgi-bin/doc?ormsc/2001-07-01 23 IBM Software Group | The Languages of MDA Set of modeling languages for specific purposes UML “bootstrap” General Real-Time Standard UML profile For general OO MetaObject modeling Facility (MOF) EAI profile MOF Common “core” Warehouse Metamodel (CWM) Software process profile A modeling language For exchanging for defining modeling information languages about business data etc. etc. 24 IBM Software Group | 12 The “4-Layer” Architecture <sawdust> 01011 <2 tons> 01011 <lard> 01011 Real Objects <Ben&Jerry’s> (M0) <5 tons> (computer memory, run-time environment) «modeledBy» «modeledBy» «modeledBy» Customer CustomerOrder Model (M1) id item (model repository) quantity «specifiedBy» «specifiedBy» . (M2 = UML, Class Association Meta-Model (modeling tool) CWM) «specifiedBy» Class(MOF) . Meta-Meta-Model (M3 = MOF) (modeling tool) 25 IBM Software Group | UML: The Foundation of MDA 3Q2003 UML 2.0 (MDA) UML 1.5 1Q2003 2001 UML 1.4 (action semantics) 1998 UML 1.3 (extensibility) 1997 UML 1.1 (OMG Standard) 1996 Rumbaugh Booch Jacobson Foundations of OO (Nygaard, Goldberg, Meyer, Stroustrup, Harel, Wirfs-Brock, Reenskaug,…) 1967 26 IBM Software Group | 13 Introduction: modeling and Dynamic Semantics software Interaction Modeling Model-Driven Development Capabilities A Critique of UML 1.x Activities and Actions Requirements for UML 2.0 State Machine Innovations Foundations of UML 2.0 Other New Features Architectural Modeling Summary and Conclusion Capabilities 27 IBM Software Group | UML 1.x: What Went Right Timeliness (meeting a real need) Emphasis on semantics as opposed to notation model-based approach (versus view-based) detailed semantic specifications Higher-level abstractions beyond most current OO programming language technology state machines and activity diagrams support for specifying inter-object behavior (interactions) use cases Customizability (extensibility) 28 IBM Software Group | 14 Traditional
Recommended publications
  • Communication Diagram.Pdf
    TU2943: Information Engineering Methodology Lab Notes, 2009-2010, Faculty of Technology and Information Science, Universiti Kebangsaan Malaysia LAB 5: Interaction Diagram - UML Communication Diagram OBJECTIVES To understand the role of dynamic models in requirement analysis by reading and constructing UML Communication Diagram. INTRODUCTION Communication Diagram (a.k.a. Collaboration Diagram) Communication Diagram provides another way to model a scenario. Essentially is a part of Interaction Diagram (just like Sequence Diagram). Each object is represented by an object icon, and links are used to indicate communication paths on which messages are transmitted. Messages presented in the same way as those in sequence diagram. Formerly known as Collaboration Diagram in UML 1.x specification. Communication Diagram represents a combination of information taken from Use Case, Class and Sequence Diagrams describing both the static structure and dynamic behavior of the system. Comparing and Contrasting: Collaboration and Sequence Both diagrams show the same information: Objects/classes Messages Sequence Conditional Repetition Messages to self Sequence Diagram and Communication Diagram are two views of the same scenario. Collaboration diagrams emphasize who-is-talking-to-who. But the time-ordering of the messages who gets obscured. Sequence diagrams emphasize time-ordering. But the who-is-talking-to-who gets obscured. Use the diagram that you are most comfortable with. Structure and Notation of Communication Diagram Objects are named <an object name>:< its class> . Nor Samsiah Binti Sani 1 TU2943: Information Engineering Methodology Lab Notes, 2009-2010, Faculty of Technology and Information Science, Universiti Kebangsaan Malaysia Either <an object name> or <a class name> can be removed. Collaborations / communications are shown by lines between objects.
    [Show full text]
  • Unified Modeling Language 2.0 Part 1 - Introduction
    UML 2.0 – Tutorial (v4) 1 Unified Modeling Language 2.0 Part 1 - Introduction Prof. Dr. Harald Störrle Dr. Alexander Knapp University of Innsbruck University of Munich mgm technology partners (c) 2005-2006, Dr. H. Störrle, Dr. A. Knapp UML 2.0 – Tutorial (v4) 2 1 - Introduction History and Predecessors • The UML is the “lingua franca” of software engineering. • It subsumes, integrates and consolidates most predecessors. • Through the network effect, UML has a much broader spread and much better support (tools, books, trainings etc.) than other notations. • The transition from UML 1.x to UML 2.0 has – resolved a great number of issues; – introduced many new concepts and notations (often feebly defined); – overhauled and improved the internal structure completely. • While UML 2.0 still has many problems, current version (“the standard”) it is much better than what we ever had formal/05-07-04 of August ‘05 before. (c) 2005-2006, Dr. H. Störrle, Dr. A. Knapp UML 2.0 – Tutorial (v4) 3 1 - Introduction Usage Scenarios • UML has not been designed for specific, limited usages. • There is currently no consensus on the role of the UML: – Some see UML only as tool for sketching class diagrams representing Java programs. – Some believe that UML is “the prototype of the next generation of programming languages”. • UML is a really a system of languages (“notations”, “diagram types”) each of which may be used in a number of different situations. • UML is applicable for a multitude of purposes, during all phases of the software lifecycle, and for all sizes of systems - to varying degrees.
    [Show full text]
  • PML, an Object Oriented Process Modelling Language
    PML, an Object Oriented Process Modeling Language Prof. Dr.-Ing. Reiner Anderl 1, and Dipl.-Ing. Jochen Raßler 2 1 Prof. Dr.-Ing. Reiner Anderl, Germany, [email protected] 2 Dipl.-Ing. Jochen Raßler, Germany, [email protected] Abstract: Processes are very important for the success within many business fields. They define the proper application of methods, technologies, tools and company structures in order to reach business goals. Important processes to be defined are manufacturing processes or product development processes for example to guarantee the company’s success. Over the last decades many process modeling languages have been developed to cover the needs of process modeling. Those modeling languages have several limitations, mainly they are still procedural and didn’t follow the paradigm change to object oriented modeling and thus often lead to process models, which are difficult to maintain. In previous papers we have introduced PML, Process Modeling Language, and shown it’s usage in process modeling. PML is derived from UML and hence fully object oriented and uses modern modeling techniques. It is based on process class diagrams that describe methods and resources for process modeling. In this paper the modeling language is described in more detail and new language elements will be introduced to develop the language to a generic usable process modeling language. Keywords: process modeling language, PML, UML 1. Introduction As the tendency of enterprises to collaborate growths steadily, industry faces new challenges managing business processes, product development processes, manufacturing processes and much more. Furthermore, discipline spanning product development processes are increasing, e.
    [Show full text]
  • APECS: Polychrony Based End-To-End Embedded System Design and Code Synthesis
    APECS: Polychrony based End-to-End Embedded System Design and Code Synthesis Matthew E. Anderson Dissertation submitted to the faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Engineering Sandeep K. Shukla, Chair Lamine Mili Alireza Haghighat Chao Wang Yi Deng April 3, 2015 Blacksburg, Virginia Keywords: AADL, CPS, Model-based code synthesis, correct-by-construction code synthesis, Polychrony, code generators, OSATE, Ocarina Copyright 2015, Matthew E. Anderson APECS: Polychrony based End-to-End Embedded System Design and Code Synthesis Matthew E. Anderson (ABSTRACT) The development of high integrity embedded systems remains an arduous and error-prone task, despite the efforts by researchers in inventing tools and techniques for design automa- tion. Much of the problem arises from the fact that the semantics of the modeling languages for the various tools, are often distinct, and the semantics gaps are often filled manually through the engineer's understanding of one model or an abstraction. This provides an op- portunity for bugs to creep in, other than standardising software engineering errors germane to such complex system engineering. Since embedded systems applications such as avionics, automotive, or industrial automation are safety critical, it is very important to invent tools, and methodologies for safe and reliable system design. Much of the tools, and techniques deal with either the design of embedded platforms (hardware, networking, firmware etc), and software stack separately. The problem of the semantic gap between these two, as well as between models of computation used to capture semantics must be solved in order to design safer embedded systems.
    [Show full text]
  • Open Research Online UML in Practice Oro.Open.Ac.Uk
    Open Research Online The Open University’s repository of research publications and other research outputs UML in practice Conference Item How to cite: Petre, Marian (2013). UML in practice. In: 35th International Conference on Software Engineering (ICSE 2013), 18-26 May 2013, San Francisco, CA, USA (forthcoming), pp. 722–731. For guidance on citations see FAQs. c 2013 IEEE Version: Accepted Manuscript Link(s) to article on publisher’s website: http://2013.icse-conferences.org/ Copyright and Moral Rights for the articles on this site are retained by the individual authors and/or other copy- right owners. For more information on Open Research Online’s data policy on reuse of materials please consult the policies page. oro.open.ac.uk UML in Practice Marian Petre Centre for Research in Computing The Open University Milton Keynes, UK [email protected] Abstract—UML has been described by some as “the lingua UML “with rigor” (as he later expressed to the informant). In franca of software engineering”. Evidence from industry does contrast, the informant concluded that probably 45 of the 47 not necessarily support such endorsements. How exactly is UML were like him: “selective borrowers” … “who use some of the being used in industry – if it is? This paper presents a corpus of principles sometimes”. The IBM speaker and the informant interviews with 50 professional software engineers in 50 had very different models of what ‘using UML’ means in companies and identifies 5 patterns of UML use. practice, with different implications. Index Terms—UML, software development, software design, Budgen et al.
    [Show full text]
  • Tool Use in Software Modelling Education
    Tool use in software modelling education Seiko Akayama1, Birgit Demuth3, Timothy C. Lethbridge4, Marion Scholz2, Perdita Stevens5, and Dave R. Stikkolorum6 1 Kyushu University, Japan 2 Vienna University of Technology, Austria 3 Technische Universit¨atDresden, Germany 4 University of Ottawa Canada 5 University of Edinburgh Scotland 6 Leiden University The Netherlands Abstract. An important decision that must be taken by anyone design- ing a course involving (object oriented software) modelling is what tool support, if any, to use. Options include picking an industrial strength modelling tool, using a tool specifically designed for educational use, or eschewing tool use altogether in favour of pencil and paper. The best an- swer will depend on many factors, including the prior experience of the students (and staff), the length and organisation of the course, and the learning objectives. Moreover, decisions on tools have an impact on other aspects of course design. In this informal paper, the result of discussion at the MODELS Educators' Symposium 2013, we survey previous work on this question, discuss our own experience, and draw out some key issues that someone designing a new course involving modelling must consider. 1 Introduction Teaching object oriented design and modelling in a university is important not only because these are important skills that students will need if they pursue careers in software development, but also because this area is a key interface be- tween research and teaching. This double motivation { we might say, vocational and intellectual { for teaching design and modelling is itself a source of challenge for educators. We experience a tension between the desire to train students in the skills they will need after university, and the desire to have them reflect on the nature of design and modelling and the ways in which these activities could be improved with the help of cutting edge research.
    [Show full text]
  • Systems Engineering with Sysml/UML Morgan Kaufmann OMG Press
    Systems Engineering with SysML/UML Morgan Kaufmann OMG Press Morgan Kaufmann Publishers and the Object Management Group™ (OMG) have joined forces to publish a line of books addressing business and technical topics related to OMG’s large suite of software standards. OMG is an international, open membership, not-for-profi t computer industry consortium that was founded in 1989. The OMG creates standards for software used in government and corporate environments to enable interoperability and to forge common development environments that encourage the adoption and evolution of new technology. OMG members and its board of directors consist of representatives from a majority of the organizations that shape enterprise and Internet computing today. OMG’s modeling standards, including the Unifi ed Modeling Language™ (UML®) and Model Driven Architecture® (MDA), enable powerful visual design, execution and maintenance of software, and other processes—for example, IT Systems Modeling and Business Process Management. The middleware standards and profi les of the Object Management Group are based on the Common Object Request Broker Architecture® (CORBA) and support a wide variety of industries. More information about OMG can be found at http://www.omg.org/. Related Morgan Kaufmann OMG Press Titles UML 2 Certifi cation Guide: Fundamental and Intermediate Exams Tim Weilkiens and Bernd Oestereich Real-Life MDA: Solving Business Problems with Model Driven Architecture Michael Guttman and John Parodi Architecture Driven Modernization: A Series of Industry Case Studies Bill Ulrich Systems Engineering with SysML/UML Modeling, Analysis, Design Tim Weilkiens Acquisitions Editor: Tiffany Gasbarrini Publisher: Denise E. M. Penrose Publishing Services Manager: George Morrison Project Manager: Mónica González de Mendoza Assistant Editor: Matt Cater Production Assistant: Lianne Hong Cover Design: Dennis Schaefer Cover Image: © Masterfile (Royalty-Free Division) Morgan Kaufmann Publishers is an imprint of Eslsevier.
    [Show full text]
  • Towards Fixing Sketchy UML Models by Leveraging Textual Notations: Application to Real-Time Embedded Systems
    Towards Fixing Sketchy UML Models by Leveraging Textual Notations: Application to Real-Time Embedded Systems Fr´ed´ericJouault and J´er^ome Delatour PRES Universit´eNantes Angers Le Mans (UNAM) TRAME team, ESEO, Angers, France [email protected] Abstract. During the development of real-time embedded system, the use of UML models as blueprints is a common practice with a focus on un- derstandability rather than comprehensiveness. However, further in the development, these models must be completed in order to achieve the necessary validation and verification activities. They are typically per- formed by using several formal tools. Each tool needs models of the sys- tem at a given abstraction level, which are precise and complete enough wrt. how the tool processes them. If UML is appropriate for capturing multiple concerns, its multiple partial views without a global one in- crease the difficulty of locating inconsistency or incompleteness issues. Therefore, ensuring completeness is time consuming, fastidious, and er- ror prone. We propose an approach based on the use of a UML textual syntax closely aligned to its metamodel: tUML. An initial prototype is described, and examples are given. 1 Introduction Using sketchy models is common during software systems development. Such models (also called contemplative models) are just drawings that cannot be au- tomatically processed (e.g., transformed into code, or verified). In the use of such models as blueprints, the focus is on communication rather than on com- pleteness. The UML language is a good candidate for that kind of practice. It is primarily a graphical notation, and it offers a relatively large set of diagrams for representing various concerns.
    [Show full text]
  • Executing UML Models
    Executing UML Models Miguel Pinto Luz1, Alberto Rodrigues da Silva1 1Instituto Superior Técnico Av. Rovisco Pais 1049-001 Lisboa – Portugal {miguelluz, alberto.silva}@acm.org Abstract. Software development evolution is a history of permanent seeks for raising the abstraction level to new limits overcoming new frontiers. Executable UML (xUML) comes this way as the expectation to achieve the next level in abstraction, offering the capability of deploying a xUML model in a variety of software environments and platforms without any changes. This paper comes as a first expedition inside xUML, exploring the main aspects of its specification including the action languages support and the fundamental MDA compliance. In this paper is presented a future new xUML tool called XIS-xModels that gives Microsoft Visio new capabilities of running and debugging xUML models. This paper is an outline of the capabilities and main features of the future application. Keywords: UML, executable UML, Model Debugging, Action Language. 1. Introduction In a dictionary we find that an engineer is a person who uses scientific knowledge to solve practical problems, planning and directing, but an information technology engineer is someone that spends is time on implementing lines of code, instead of being focus on planning and projecting. Processes, meetings, models, documents, or even code are superfluous artifacts for organizations: all they need is well design and fast implemented working system, that moves them towards a new software development paradigm, based on high level executable models. According this new paradigm it should be possible to reduce development time and costs, and to bring new product quality warranties, only reachable by executing, debugging and testing early design stages (models).
    [Show full text]
  • Extending and Evaluating the Model-Based Product Definition
    NIST GCR 18-015 Extending and Evaluating the Model-based Product Definition Nathan W. Hartman Jesse Zahner Purdue University This publication is available free of charge from: https://doi.org/10.6028/NIST.GCR.18-015 NIST GCR 18-015 Extending and Evaluating the Model-based Product Definition Prepared for Thomas D. Hedberg, Jr. Allison Barnard Feeney U.S. Department of Commerce Engineering Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899-8260 By Nathan W. Hartman Jesse Zahner PLM Center of Excellence Purdue University This publication is available free of charge from: https://doi.org/10.6028/NIST.GCR.18-015 December 2017 U.S. Department of Commerce Wilbur L. Ross, Jr., Secretary National Institute of Standards and Technology Walter Copan, NIST Director and Undersecretary of Commerce for Standards and Technology Disclaimer Any opinions, findings, conclusions, or recommendations expressed in this publication do not necessarily reflect the views of the National Institute of Standards and Technology (NIST). Additionally, neither NIST nor any of its employees make any warranty, expressed or implied, nor assume any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, product, or process included in this publication. The report was prepared under cooperative agreement 70NANB15H311 between the National Institute of Standards and Technology and Purdue University. The statements and conclusions contained in this report are those of the authors and do not imply recommendations or endorsements by the National Institute of Standards and Technology. Certain commercial systems are identified in this report. Such identification does not imply recommendation or endorsement by the National Institute of Standards and Technology.
    [Show full text]
  • Case No COMP/M.4747 Œ IBM / TELELOGIC REGULATION (EC)
    EN This text is made available for information purposes only. A summary of this decision is published in all Community languages in the Official Journal of the European Union. Case No COMP/M.4747 – IBM / TELELOGIC Only the English text is authentic. REGULATION (EC) No 139/2004 MERGER PROCEDURE Article 8(1) Date: 05/03/2008 Brussels, 05/03/2008 C(2008) 823 final PUBLIC VERSION COMMISSION DECISION of 05/03/2008 declaring a concentration to be compatible with the common market and the EEA Agreement (Case No COMP/M.4747 - IBM/ TELELOGIC) COMMISSION DECISION of 05/03/2008 declaring a concentration to be compatible with the common market and the EEA Agreement (Case No COMP/M.4747 - IBM/ TELELOGIC) (Only the English text is authentic) (Text with EEA relevance) THE COMMISSION OF THE EUROPEAN COMMUNITIES, Having regard to the Treaty establishing the European Community, Having regard to the Agreement on the European Economic Area, and in particular Article 57 thereof, Having regard to Council Regulation (EC) No 139/2004 of 20 January 2004 on the control of concentrations between undertakings1, and in particular Article 8(1) thereof, Having regard to the Commission's decision of 3 October 2007 to initiate proceedings in this case, After consulting the Advisory Committee on Concentrations2, Having regard to the final report of the Hearing Officer in this case3, Whereas: 1 OJ L 24, 29.1.2004, p. 1 2 OJ C ...,...200. , p.... 3 OJ C ...,...200. , p.... 2 I. INTRODUCTION 1. On 29 August 2007, the Commission received a notification of a proposed concentration pursuant to Article 4 and following a referral pursuant to Article 4(5) of Council Regulation (EC) No 139/2004 ("the Merger Regulation") by which the undertaking International Business Machines Corporation ("IBM", USA) acquires within the meaning of Article 3(1)(b) of the Council Regulation control of the whole of the undertaking Telelogic AB ("Telelogic", Sweden) by way of a public bid which was announced on 11 June 2007.
    [Show full text]
  • Challenges and Opportunity of UML Diagram for Software Project Development As a Complete Modeling Tool
    IOSR Journal of Mobile Computing & Application (IOSR-JMCA) e- ISSN: 2394-0050, P-ISSN: 2394-0042.Volume 7, Issue 3 (May - June 2020), PP 46-48 www.iosrjournals.org Challenges and Opportunity of UML Diagram for Software Project development as a complete Modeling Tool Ketema Kifle Gebretsadik1 Debre Markos University, School of Computing, Institute of Technology, Debre Markos, Ethiopia Abstract: UML(Unified Modeling Language) is a most useful method of visualization and documenting software systems design.UML uses object oriented design concepts and it is independent of specific programming language. Unified Modeling Language is a popular technique for documenting and modeling system. The UML uses set of symbols to represent graphically the various components and relationships within the system and UML can be used for business processing modeling and requirements modeling, it mainly is used to support object oriented system analysis and to develop the object models. Many articles describe UML features, but only very few of them discuss its downside in software design. This article discusses the downside of UML as a complete modeling tool for software design. Some of the disadvantages of UML areno specification for modeling of user interfaces, business rule specification a group exists for this within theObject Management Group(OMG), so we should see something in UML and Poor for distributed systems are no way to formally specify serialization and object persistence.Even though UML have many advantages it has also their owndownside for software design. Keyword: UML, Challenge of UML, Software design, UML diagrams ----------------------------------------------------------------------------------------------------------------------------- ---------- Date of Submission: 22-05-2020 Date of Acceptance: 09-06-2020 ----------------------------------------------------------------------------------------------------------------------------- ---------- I.
    [Show full text]