Evaluation of MDE Tools from a Metamodeling Perspective

Total Page:16

File Type:pdf, Size:1020Kb

Evaluation of MDE Tools from a Metamodeling Perspective 50 Journal of Database Management, 19(4), 50-75, October-December 2008 Evaluation of MDE Tools from a Metamodeling Perspective Joãão de Sousa Saraiva, INESC-ID/Instituto Superior T´ecnico, Portugal Alberto Rodrigues da Silva, INESC-ID/Instituto Superior T´ecnico, Portugal ABSTRACT 150 words or less Keywords: evaluation framework; metamodel; MDE; tool INTRODUCTION (Schmidt, 2006), abstracting over the solution Ever since the appearance of computers, re- domain (computing technologies) instead of searchers have been trying to raise the abstrac- the problem domain. tion level at which software developers write Currently, the abstraction level is being computer programs. Looking at the history of raised into the model-driven engineering (MDE) programming languages, we have witnessed paradigm (Schmidt, 2006). In this abstrac- this fact, with languages evolving from raw tion level, models are considered first-class machine code to machine-level languages, af- entities and become the backbone of the entire terward to procedural programming languages, MDE-oriented software development process; and finally to object-oriented languages, which other important artifacts, such as code and allow developers to write software by mapping documentation, can be produced automatically real-world concepts into modular segments from these models, relieving developers from of code (called objects). Still, object-ori- issues such as underlying platform complexity ented languages are too “computing-oriented” Copyright © 2008, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. Journal of Database Management, 19(4), 50-75, October-December 2008 51 or the inability of third-generation languages is independent of language or technology, and to express domain concepts. is addressed by these initiatives. MDE is not a new idea. Already in the 1980s All these approaches share the same ba- and 1990s, computer-aided software engineer- sic concepts. A model is an interpretation of ing (CASE) tools were focused on supplying a certain problem domain, a fragment of the developers with methods and tools to express real world over which modeling and system software systems using graphical general-pur- development tasks are focused, according to pose language representations. The developer a determined structure of concepts (Silva & would then be able to perform different tasks Videira, 2005). This structure of concepts is over those representations, such as correction provided by a metamodel, which is an attempt analysis or transformations to and from code. at describing the world around us for a par- However, these CASE tools failed due to issues ticular purpose through the precise definition such as (a) poor mapping of general-purpose of the constructs and rules needed for creating languages onto the underlying platforms, which models (Metamodel.com, n.d.). These basic made generated code much harder to understand concepts are the core of metamodeling, the and maintain, (b) the inability to scale because activity of specifying a metamodel that will the tools did not support concurrent engineer- be used to create models, which is the foun- ing, and (c) code was still the first-class entity dation of MDE. in the development process while models were From the developer’s point of view, a key seen as only being suited for documentation issue for acceptance of any approach is good (Schmidt, 2006). Currently, there are better tool support so that software programs can be conditions for such modeling tools to appear. created in an easy and efficient manner. There Software systems today are reaching such a is a wide variety of modeling tools available high degree of complexity that third-generation today, covering most modeling standards and languages simply are not sufficient anymore; approaches in existence. For example, Rational another abstraction level over those languages Rose and Enterprise Architect (EA; SparxSys- is needed. This need, combined with the choices tems, n.d.) are only two examples of a very of IT development platforms currently avail- long list of tools that support UML model- able (Java, .NET, etc.), to which models can ing. DSM has recently become popular with be somewhat easily mapped, is the motivation the developer community, with tools such as for the adoption of MDE. There are already a Microsoft’s DSL Tools (MSDSLTools, n.d.) few MDE-related case studies available, such or MetaCase’s (n.d.) MetaEdit+. as Zhu et al. (2004) and Fong (2007), but since The aim of this article is to present our most MDE work is still in the research phase, evaluation framework for tool support of the there is still a lack of validation through a metamodeling activity, and to evaluate a small variety of real business case studies. set of tools according to this framework; There are already multiple MDE initiatives, although these tools do not reflect everything languages, and approaches, such as the unified that is currently available in MDE tools, they modeling language (UML), the MetaObject address the MDE-based approaches presented Facility (MOF), the model-driven architecture in this article by providing the features typi- (MDA), and domain-specific modeling (DSM; cally found in tools of their corresponding ap- Kelly & Tolvanen, 2008). There are also proach. The evaluation framework used in this other derivative approaches, such as software article focuses on the following issues: (a) factories (http://msdn2.microsoft.com/en-us/ supported exchange formats, (b) support for teamsystem/aa718951.aspx) that follow the model transformation and code generation, (c) MDE paradigm. Nevertheless, it is important tool extensibility techniques, (d) the logical to note that these initiatives are not a part of levels that can be manipulated, (e) support for MDE; rather, MDE itself is a paradigm that specifying metamodel syntax and semantics, Copyright © 2008, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. 52 Journal of Database Management, 19(4), 50-75, October-December 2008 and (f) complexity of the meta-metamodel The OMG’s Approach to MDE hard-coded into the tool. The final purpose The Object Management Group (OMG) has of this evaluation is to determine the strengths created its own MDE initiative based on a set of and weaknesses of the support that each of these OMG standards that make use of techniques for MDE tools offer to the developer’s tasks. metamodeling and model transformation. This article is divided as follows. The second section presents a brief overview of Unified Modeling Language MDE and some related concepts, standards, UML (http://www.omg.org/cgi-bin/apps/ and approaches. Then the article describes the doc?formal/05-07-04.pdf), currently in Version evaluation framework, the selected modeling 2.1.1, is a general-purpose modeling language tools, and the results of their evaluation. Next originally designed to specify, visualize, con- it discusses the current status of MDE-based struct, and document information systems. software tools and some open research issues UML is traditionally used as a metamodel (i.e., for metamodeling. The final section presents developers create models using the language the conclusions of this work. established by UML). However, the UML speci- fication also defines the profile mechanism, MODEL-DRIVEN ENGINEERING which allows for new notations or terminolo- Software systems are reaching such a high gies, providing a way to extend metaclasses degree of complexity that the current third- to adapt them for different purposes. Profiles generation programming languages (like Java are collections of stereotypes, tagged values, or C#) are not sufficiently adequate to create and constraints (Silva & Videira, 2005). A ste- such systems in an easy and efficient manner. reotype defines additional element properties, One of the problems with current program- but these properties must not contradict the ming languages is that they are still too oriented properties that are already associated with the toward specifying how the solution should work model element; thus, a profile does not allow instead of what the solution should be. This leads the user to edit the metamodel. to a need for mechanisms and techniques that Although UML was definitely a step for- allow the developer to abstract over current ward in setting a standard understood by the programming languages and focus on creating whole software engineering community and a good solution to a certain problem. aligning it toward MDE, it is still criticized for Model-driven engineering (sometimes reasons such as (a) being easy to use in soft- called model-driven development, or MDD) is ware-specific domains (such as IT or telecom- an emerging paradigm based on the systematic style systems) but not for other substantially use of models as first-class entities of the solu- different domains, such as biology or finance tion specification (Schmidt, 2006). Unlike pre- (Thomas, 2004), (b) not being oriented to how vious software development paradigms based it would be used in practice (Henderson-Sell- on source code as a first-class entity, models ers, 2005), and (c) being too complex (Siau become first-class entities, and artifacts such & Cao, 2001). Nevertheless, UML is often the as source code or documentation can then be target of overzealous promotion, which raises obtained from those models. user expectations to an unattainable level; the It is very important to note that, although criticisms that follow afterward are usually MDE is often mentioned alongside MDA (which influenced by this (France, Ghosh, Dinh-Trong, is explained further later), MDE does not depend & Solberg, 2006). An example of such a criti- on MDA, nor is MDA a subset of MDE. In fact, cism is the one regarding the difficulty in using MDA is one of several initiatives that intend to UML to model non-software-related domains: address the MDE paradigm. Although UML is a general-purpose modeling language, it is oriented toward the modeling of Copyright © 2008, IGI Global.
Recommended publications
  • Introduction Development Lifecycle Model
    DeveIopment of a Comprehensive Software Engineering Environment Thomas C. Hartrum Gary B. Lamont Department of Electrical and Computer Engineering Department of Electrical and Computer Engineering School of Engineering School of Engineering Air Force Institute of Technology Air Force Institute of Technology Wright-Patterson AFB, Dayton, Ohio, 45433 Wright-Patterson AFB, Dayton, Ohio, 45433 Abstract The concept of an integrated software development environment The generation of a set of tools for the software lifecycle is a recur- can be realized in two distinct levels. The first level deals with the ring theme in the software engineering literature. The development of access and usage mechanisms for the interactive tools, while the sec- such tools and their integration into a software development environ- ond level concerns the preservation of software development data and ment is a difficult task at best because of the magnitude (number of the relationships between the products of the different software life variables) and the complexity (combinatorics) of the software lifecycle cycle stages. The first level requires that all of the component tools process. An initial development of a global approach was initiated at be resident under one operating system and be accessible through a AFIT in 1982 as the Software Development Workbench (SDW). Also common user interface. The second level dictates the need to store de- other restricted environments have evolved emphasizing Ada and di5 velopment data (requirements specifications, designs, code, test plans tributed processing. Continuing efforts focus on tool development, and procedures, manuals, etc.) in an integrated data base that pre- tool integration, human interfacing (graphics; SADT, DFD, structure serves the relationships between the products of the different life cy- charts, ...), data dictionaries, and testing algorithms.
    [Show full text]
  • Job Description - Software Engineer I
    Job Description - Software Engineer I Department: Engineering - 2013-03 Exemption Status: Non-Exempt Summary: This position is responsible for software development in multi-application, multi-server, and hosted environments. The candidate will primarily provide system/configuration support with a focus in helping the needs of both internal and external customers. He or she will participate in all facets of software and system development life-cycle. The most qualified candidate for this role will have experience working with business intelligence in the public safety and/or public health software fields and have formal software education and/or a ton of practical experience. We develop primarily in C#, .NET, SQL, SSRS and mobile. Anyone that might fit well at FirstWatch must be hard-working, people-oriented, friendly, patient, a fast learner, think quickly on their feet, take initiative and responsibility, and LOVE providing our customers great and honest customer service. This person will need to maintain a high quality productivity level within a fast paced environment. This position shares responsibility (rotates) with other engineering staff for 24×7 on call duties and so must be able to thrive in this environment. Responsibilities: - Maintain and modify the software and system configurations of production, staged, and test applications. - Interface with different stakeholders to determine and propose appropriate and effective technology solutions to meet business and technical objectives. - Develop interfaces, applications and other technical solutions to support the business needs through the planning, analysis, design, development, implementation and maintenance phases of the software and systems development lifecycle. - Create system requirements, technical specifications, and test plans.
    [Show full text]
  • Structured Programming - Retrospect and Prospect Harlan D
    University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange The aH rlan D. Mills Collection Science Alliance 11-1986 Structured Programming - Retrospect and Prospect Harlan D. Mills Follow this and additional works at: http://trace.tennessee.edu/utk_harlan Part of the Software Engineering Commons Recommended Citation Mills, Harlan D., "Structured Programming - Retrospect and Prospect" (1986). The Harlan D. Mills Collection. http://trace.tennessee.edu/utk_harlan/20 This Article is brought to you for free and open access by the Science Alliance at Trace: Tennessee Research and Creative Exchange. It has been accepted for inclusion in The aH rlan D. Mills Collection by an authorized administrator of Trace: Tennessee Research and Creative Exchange. For more information, please contact [email protected]. mJNDAMNTL9JNNEPTS IN SOFTWARE ENGINEERING Structured Programming. Retrospect and Prospect Harlan D. Mills, IBM Corp. Stnuctured program- 2 ' dsger W. Dijkstra's 1969 "Struc- mon wisdom that no sizable program Ste red .tured Programming" articlel could be error-free. After, many sizable ming haxs changed ho w precipitated a decade of intense programs have run a year or more with no programs are written focus on programming techniques that has errors detected. since its introduction fundamentally alteredhumanexpectations and achievements in software devel- Impact of structured programming. two decades ago. opment. These expectations and achievements are However, it still has a Before this decade of intense focus, pro- not universal because of the inertia of lot of potentialfor gramming was regarded as a private, industrial practices. But they are well- lot of fo puzzle-solving activity ofwriting computer enough established to herald fundamental more change.
    [Show full text]
  • It Software Engineer 1
    Pierce County Classification Description IT SOFTWARE ENGINEER 1 Department: Finance FLSA: Non-Exempt Job Class #: 632700 Represented: No Pay Range: Professional 15 Classification descriptions are intended to present a descriptive list of the range of duties performed by employees in this class and are not intended to reflect all duties performed within the job. GENERAL FUNCTION: This is professional, technical, analytical, and customer-oriented work in the Software Development Division of the Information Technology Division of Finance. An employee in this classification provides technical expertise to Pierce County departments and agencies in multiple areas. The Software Engineer 1 may include any or all of the essential functions listed below and functions as an IT professional in the capacity of a software designer, coder, and project manager. SERIES CONCEPT: This is the first level in the series. This classification is distinguished from other IT Software Engineers by performing a narrower range of technically complex duties and the level of direction required to perform job functions. ESSENTIAL FUNCTIONS: Perform professional functions in software programming and analysis. Assist in designing, coding, testing, deploying, maintaining, enhancing, and supporting County software systems. Assist in working with business customers in translating requirements into plans and specifications. Assist in developing new software and customize, developing interfaces to, or integrating with third- party business systems. Work in a team-based environment, communicating effectively with all levels of staff and management. Collaborate on the identification of business and system requirements. Address customer’s information needs by developing technology solutions and supporting information and technology systems on multiple computing platforms.
    [Show full text]
  • Metamodeling and Method Engineering with Conceptbase”
    This is a pre-print of the book chapter M. Jeusfeld: “Metamodeling and method engineering with ConceptBase” . In Jeusfeld, M.A., Jarke, M., Mylopoulos, J. (eds): Metamodeling for Method Engineering, pp. 89-168. The MIT Press., 2009; the original book is available from MIT Press http://mitpress.mit.edu/node/192290 This pre-print may only be used for scholar, non-commercial purposes. Most of the sources for the examples in this chapter are available via http://merkur.informatik.rwth-aachen.de/pub/bscw.cgi/3782591 for download. They require ConceptBase 7.0 or later available from http://conceptbase.cc. Metamodeling and Method Engineering with ConceptBase Manfred Jeusfeld Abstract. This chapter provides a practical guide on how to use the meta data repository ConceptBase to design information modeling methods by using meta- modeling. After motivating the abstraction principles behind meta-modeling, the language Telos as realized in ConceptBase is presented. First, a standard factual representation of statements at any IRDS abstraction level is defined. Then, the foundation of Telos as a logical theory is elaborated yielding simple fixpoint semantics. The principles for object naming, instantiation, attribution, and specialization are reflected by roughly 30 logical axioms. After the language axiomatization, user-defined rules, constraints and queries are introduced. The first part is concluded by a description of active rules that allows the specification of reactions of ConceptBase to external events. The second part applies the language features of the first part to a full-fledged information modeling method: The Yourdan method for Modern Structured Analysis. The notations of the Yourdan method are designed along the IRDS framework.
    [Show full text]
  • Tackling Traceability Challenges Through Modeling Principles in Methodologies Underpinned by Metamodels
    Tackling Traceability Challenges through Modeling Principles in Methodologies Underpinned by Metamodels Angelina Espinoza and Juan Garbajosa Universidad Politecnica de Madrid - Technical University of Madrid, System and Software Technology Group (SYST), E.U. Informatica. Ctra. de Valencia Km. 7, E-28031, Spain, http://syst.eui.upm.es; aespinoza -at- syst.eui.upm.es, jgs -at- eui.upm.es Abstract. Traceability is recognized to be essential for supporting soft- ware development. However, a number of traceability issues are still open, such as link semantics formalization or traceability process models. Traceability methodologies underpinned by metamodels are a promis- ing approach. However current metamodels still have serious limitations. Concerning methodologies in general, three hierarchical layered levels have been identified: metamodel, methodology and project. Metamod- els do not often properly support this architecture, and that results in semantic problems at the time of specifying the methodology. Another reason is that they provide extensive predefined sets of types for describ- ing project attributes, while these project attributes are domain specific and, sometimes, even project specific. This paper introduces two com- plementary modeling principles to overcome these limitations, i.e. the metamodeling three layer hierarchy, and power-type patterns modeling principles. Mechanisms to extend and refine traceability models are in- herent to them. The paper shows that, when methodologies are developed from metamodels based on these two principles, the result is a method- ology well fitted to project features. Links semantics is also improved. Keywords: Traceability methodology, traceability metamodel, clabject, power-type pattern, metamodeling hierarchy, mechanisms for extension of traceability metamodels, metamodel extensibility. 1 Introduction Traceability is considered fundamental to perform processes and tasks such as V&V, change management, and impact analysis.
    [Show full text]
  • IT- Software Engineer Career Ladder Matrix
    IT- Software Engineer Career Ladder Matrix Software Engineer Family Job Title Software Engineer, Assoc Software Engineer Sr, Software Engineer Principal Software Engineer Mgr, Software Engineering Job Code MC0080 MC0079 MC0078 MC0074 MC0068 Pay Grade 74 75 76 76 76 Position Summary This role is responsible for all the This role is responsible for all This role is responsible for all This role is responsible for all This role is responsible for functions in all phases of applications phases of the applications phases of the applications phases of the applications providing technical leadership development. This role assists with development. This role is development. development. and mentoring a team of 10+ analysis of user needs, software and responsible for the analysis of engineers. database design, programming and life- user needs, software and cycle development of all business and database design, clinical applications. programming and life cycle development of all business and clinical applications. Essential Functions /Scope *Participate in code reviews, support *Work independently within *Provide mentoring and *Drive technology plan for the IT *Manage and lead assigned business processes, and assist in guidelines, provide technical knowledge transfer to Software organization, and ensure that plans staff. Hire, train, rate problem analysis and consultation consulting on complex projects Engineers including input to code for their assigned applications performance, and take considering equipment capacity, reviews, training and developing
    [Show full text]
  • OMG Meta Object Facility (MOF) Core Specification
    Date : October 2019 OMG Meta Object Facility (MOF) Core Specification Version 2.5.1 OMG Document Number: formal/2019-10-01 Standard document URL: https://www.omg.org/spec/MOF/2.5.1 Normative Machine-Readable Files: https://www.omg.org/spec/MOF/20131001/MOF.xmi Informative Machine-Readable Files: https://www.omg.org/spec/MOF/20131001/CMOFConstraints.ocl https://www.omg.org/spec/MOF/20131001/EMOFConstraints.ocl Copyright © 2003, Adaptive Copyright © 2003, Ceira Technologies, Inc. Copyright © 2003, Compuware Corporation Copyright © 2003, Data Access Technologies, Inc. Copyright © 2003, DSTC Copyright © 2003, Gentleware Copyright © 2003, Hewlett-Packard Copyright © 2003, International Business Machines Copyright © 2003, IONA Copyright © 2003, MetaMatrix Copyright © 2015, Object Management Group Copyright © 2003, Softeam Copyright © 2003, SUN Copyright © 2003, Telelogic AB Copyright © 2003, Unisys USE OF SPECIFICATION - TERMS, CONDITIONS & NOTICES The material in this document details an Object Management Group specification in accordance with the terms, conditions and notices set forth below. This document does not represent a commitment to implement any portion of this specification in any company's products. The information contained in this document is subject to change without notice. LICENSES The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and distribute this document and to modify this document and distribute copies of the modified version. Each of the copyright holders listed above has agreed that no person shall be deemed to have infringed the copyright in the included material of any such copyright holder by reason of having used the specification set forth herein or having conformed any computer software to the specification.
    [Show full text]
  • Metamodeling the Enhanced Entity-Relationship Model
    Metamodeling the Enhanced Entity-Relationship Model Robson N. Fidalgo1, Edson Alves1, Sergio España2, Jaelson Castro1, Oscar Pastor2 1 Center for Informatics, Federal University of Pernambuco, Recife(PE), Brazil {rdnf, eas4, jbc}@cin.ufpe.br 2 Centro de Investigación ProS, Universitat Politècnica de València, València, España {sergio.espana,opastor}@pros.upv.es Abstract. A metamodel provides an abstract syntax to distinguish between valid and invalid models. That is, a metamodel is as useful for a modeling language as a grammar is for a programming language. In this context, although the Enhanced Entity-Relationship (EER) Model is the ”de facto” standard modeling language for database conceptual design, to the best of our knowledge, there are only two proposals of EER metamodels, which do not provide a full support to Chen’s notation. Furthermore, neither a discussion about the engineering used for specifying these metamodels is presented nor a comparative analysis among them is made. With the aim at overcoming these drawbacks, we show a detailed and practical view of how to formalize the EER Model by means of a metamodel that (i) covers all elements of the Chen’s notation, (ii) defines well-formedness rules needed for creating syntactically correct EER schemas, and (iii) can be used as a starting point to create Computer Aided Software Engineering (CASE) tools for EER modeling, interchange metadata among these tools, perform automatic SQL/DDL code generation, and/or extend (or reuse part of) the EER Model. In order to show the feasibility, expressiveness, and usefulness of our metamodel (named EERMM), we have developed a CASE tool (named EERCASE), which has been tested with a practical example that covers all EER constructors, confirming that our metamodel is feasible, useful, more expressive than related ones and correctly defined.
    [Show full text]
  • The Conferences Start Time Table
    ETAPS DAILY 4 April 2016 ETAPS DAILY Monday | The first main conferences day | Reception | Edsger W. Dijkstra Main Conferences The conferences start Time Table 830 - 900 : opening The first day of the main ETAPS conferences will be opened 900 -1000 : invited talk by Joost-Pieter Katoen followed by the first plenary speaker, Andrew D. Gordon. 1000 -1030 : coffee break 1030 -1230: parallel sessions Title: Structure and Interpretation of Probabilistic Programs Abstract: Probabilistic programming is a technique for 1230-1400: lunch solving statistical inference and machine learning problems by writing short pieces of code to model data. We survey the area 1400-1600 : parallel sessions and describe recent advances in semantic interpretation. Probabilistic programs exhibit structures that include 1600-1630: coffee break hierarchies of random variables corresponding to the data 1630-1800: parallel sessions schema, recurring modelling patterns, and also the classical Bayesian distinction between prior and likelihood. We exploit 1900-2230: reception this structure in language designs that yield data insights with only a modicum of user input. 1 ETAPS DAILY 4 April 2016 Reception at Kazerne Kazerne is a cultural organization oriented towards creative innovation in all its activities and at an international level. But Kazerne has ambitions to be more than just an international design hotspot where everything is shiny and new. It has its roots in the belief that creativity has an essential role to play in shaping the future of society. Edsger Wybe Dijkstra Edsger Wybe Dijkstra (11 May 1930 - 6 August 2002) was one of the most influential persons in the history of the Dutch computer science.
    [Show full text]
  • 11. Metadata, Metamodelling, and Metaprogramming
    11. Metadata, Metamodelling, and Metaprogramming 1. Searching and finding components 2. Metalevels and the metapyramid 3. Metalevel architectures 4. Metaobject protocols (MOP) Prof. Dr. Uwe Aßmann 5. Metaobject facilities (MOF) Technische Universität Dresden 6. Metadata as component markup Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de 14-1.0, 23-Apr-14 CBSE, © Prof. Uwe Aßmann 1 Mandatory Literature ► ISC, 2.2.5 Metamodelling ► OMG MOF 2.0 Specification http://www.omg.org/spec/MOF/2.0/ ► Rony G. Flatscher. Metamodeling in EIA/CDIF — Meta-Metamodel and Metamodels. ACM Transactions on Modeling and Computer Simulation, Vol. 12, No. 4, October 2002, Pages 322–342. http://doi.acm.org/10.1145/643120.643124 Prof. U. Aßmann, CBSE 2 Other Literature ► Ira R. Forman and Scott H. Danforth. Metaclasses in SOM-C++ (Addision- Wesley) ► Squeak – a reflective modern Smalltalk dialect http://www.squeak.org ► Scheme dialect Racket ► Hauptseminar on Metamodelling held in SS 2005 ► MDA Guide http://www.omg.org/cgi-bin/doc?omg/03-06-01 ► J. Frankel. Model-driven Architecture. Wiley, 2002. Important book on MDA. ► G. Kizcales, Jim des Rivieres, and Daniel G. Bobrow. The Art of the Metaobject Protocol. MIT Press, Cambridge, MA, 1991 ► Gregor Kiczales and Andreas Paepcke. Open implementations and metaobject protocols. Technical report, Xerox PARC, 1997 Prof. U. Aßmann, CBSE 3 Literature on Open Languages ► Shigeru Chiba and Takashi Masuda. Designing an extensible distributed language with a meta-level architecture. In O. Nierstrasz, editor, European Conference on Object-oriented Programming (ECOOP '93), number 707 in Lecture Notes in Computer Science, pages 483-502.
    [Show full text]
  • Control Software Engineer
    Control Software Engineer Alternate Titles: Automation Engineer, Manufacturing Automation Engineer, Process Automation Engineer, Integration Engineer, SCADA Engineer, Application Engineer, Software Engineer, Batch Control Engineer, Systems Analyst Description: Control Software Engineers analyze user requirements, procedures, and problems to develop automation systems control configuration. They develop the functional specifications, coding strategy, logic, and control configuration structure. They develop and direct software system testing and validation procedures, and oversee all configuration and documentation. Sources of Material: Certified Automation Professional Body of Knowledge, Automation Competency Model, Control Systems Engineer (CSE) Examination Specification. Performance Domains: Domain I: Software System Design Domain II: Development Domain III: Installation and Testing Domain I: Software System Design - the conceptual design of the software to be used in control and information systems. Task 1: Establish standards, templates, and guidelines as applied to the automation system using the information gathered in the definition stage and considering human- factor effects in order to satisfy customer design criteria and preferences. Knowledge of: Process Industry Practices (PIP) (Construction Industry Institute) Programming Languages C/C++ G-Code (CNC) Visual Basic IEC - 61131 Instruction List Ladder Diagram Function block Structured Text Sequential Function Chart Electronic Device Description Language (EDDL) Vendor
    [Show full text]