<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>CoreEAF { a Model Driven Approach to Information Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tomas Jonsson</string-name>
          <email>tomas@genicore.se</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hakan Enquist</string-name>
          <email>enquist@chalmers.se</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Genicore AB</institution>
          ,
          <addr-line>Goteborg</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IT University</institution>
          ,
          <addr-line>Goteborg, Sweden WWW home page:</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>IT based Information Systems (ITbIS) Development</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Model driven IT systems development with code generation is today used in several, mostly technical, application areas. However, for large IT based Information Systems (ITbIS) it is still quite uncommon. An innovative case of low cost and high quality ITbIS is presented along with the model driven framework applied. This innovation is made possible by a coherent model driven approach with integrated method and tool support for the complete development and maintenance cycles of an ITbIS. For over 20 years and still, the FMV ERP system has been designed, extended and modi ed in pace with changes in the organization as well as disruptive changes in information technology.</p>
      </abstract>
      <kwd-group>
        <kwd>Business Information System</kwd>
        <kwd>Business Knowledge Model</kwd>
        <kwd>Domain Model</kwd>
        <kwd>Model Driven Design</kwd>
        <kwd>Innovation</kwd>
        <kwd>Information Engine</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Actors</p>
      <p>Organization</p>
      <p>Authorization
Value creation</p>
      <p>Value chains
100 €</p>
      <p>XML
Business phenomena</p>
      <p>Reality</p>
      <p>Phenomena map Views
Business Knowledge Model ITbIS Usage
Technology</p>
      <p>ITbIS</p>
      <p>Engine</p>
      <p>User
Authentication
&amp; Authorization</p>
      <p>User Views</p>
      <p>Data
Interchange</p>
      <p>Model
Statements</p>
      <p>Software
Platform
Hardware
Platform
Model (BKM) is from a business perspective, formalized business knowledge.
From a technical perspective, the BKM is an object oriented declarative model
describing information structure, information processing and information rules,
including information access rules. Views are de ned declaratively and connected
to model elements, which in runtime operates as windows for accessing
information in the ITbIS. There are di erent types of views: graphical user interface;
word processor interface; document generation; report generation and data
interchange views. Each type of view is described either with a tool or a language.</p>
      <p>Building an ITbIS with CoreEAF is done solely by declaring a BKM and it's
views, excluding programming in the traditional sense.
2</p>
      <p>ITbIS Case { ERP System for Defence Material
Acquisition
The Swedish Defence Material Administration's (FMV's) Enterprise Resource
Planning (ERP) system called FMV-Core, Fig. 2, is the most extensive system
out of ve, built and executed with the current version of CoreEAF. Applying
the CoreEAF for FMV-Core is by now a proven innovation for providing ITbIS to
an organization at low cost, low error rate, short lead time and high requirement
ful llment. This innovation is made possible by coherent design support for
consistent model driven development and change actions throughout the ITbIS
life cycle, along with a coherent runtime environment for ITBIS execution with
full consistency between models and target system behavior.</p>
      <p>R&amp;D
Suppliers</p>
      <p>EDI</p>
      <p>FMV - Defence Material Administration
Planning Projects Purchase Back Office</p>
      <p>FMV-Core</p>
      <p>Operations Administration</p>
      <p>FMV has ongoing material acquisition projects worth about 6 Billion Euros
and a turnover of 2 Billion Euros per year. FMV-Core is an ITbIS with 1.200
users and handles information in FMV's core business. This includes project
planning, project execution and accounting as well as complex purchasing
processes from RFQ, tenders, complex contract drafting to delivery and payments.
FMV-Core is integrated with several other IT systems, one of which is the
Swedish Armed Forces SAP based ERP system (PRIO), using the integration
facility CoreCom of the CoreEAF information engine.</p>
      <p>Regarding design metrics, the FMV-Core system is de ned with 33.000
declarative statements, whereof 13.000 statements de ne the BKM and 20.000
dene views. FMV-Core BKM includes 230 business phenomena with 7 levels of
generalization and 400 relations. The phenomena altogether carry 3000 value
attributes all managed by 5600 rules and calculations.</p>
      <p>
        This level of content complexity implemented in e.g. standard systems would
typically include millions (&gt;1.000.000) of lines of program code. For instance
SAP is built with more than 300.000.000 lines of code [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
3
      </p>
      <p>Modeling the Enterprise { Method, Language and
Tools
The key concepts applied to implement coherent support for consistent model
driven design of ITbIS are described below.
3.1</p>
      <p>Business Phenomena { Understanding the Reality of an
Organization
The rst and most profound aspect is the business phenomena aspect. The model
of business phenomena shall directly and only directly correspond to actual
business phenomena and be labelled with the business terminology.</p>
      <p>Concrete as well as abstract business phenomena such as agreements,
projects, services, etc. need to be understood and documented in the model. It is
often challenging to understand and document abstract phenomena as they only
exist in the minds of people and are constantly undergoing changes and rede
nitions. Thus, business phenomena modelling requires fundamental understanding
of human perception and of how to capture human knowledge into formal models
using a modelling language.
3.2</p>
      <p>Value Creation { What is Being Achieved
The second aspect is the value creation aspect, documented with value chains,
as in Fig. 3.</p>
      <p>Start state Process Activities Transition</p>
      <p>Desired final state
Less desired
final states</p>
      <p>Some of the business phenomena can be considered more or less static, i.e.,
they exist in the business and do not undergo any transformation of value. Other
phenomena undergo value transformations, such as products being assembled in
a factory. Also intangible phenomena undergo value transformations and are
most likely the only kind of value transforming phenomena in organizations that
produce something other than tangible products.</p>
      <p>Examples of value transforming intangible phenomena are business
agreements such as sales agreements or purchase agreements. In the public sector we
can nd value transforming phenomena such as claims and license applications.</p>
      <p>For each value transforming phenomenon, a state diagram is de ned
representing the value chain of the phenomenon. The value chain has a start state
and typically one or more nal states, where one of the nal states represents the
desired nal state of the value transformation. The intermediate states represent
steps towards and sometimes away from the desired nal state.</p>
      <p>E.g. the value chain of a sales agreement can be composed of the states
suggested, quoted, rejected, ordered, delivered, returned, paid and refunded,
where suggested is the start state and paid is the desired nal state. Note that a
state transition such as quoted to ordered represents a positive value progression
and quoted to rejected represent a negative value progression.</p>
      <p>Connected to each state is a set of activities to be performed in order to reach
one of the next states of the value chain. E.g. the transition ordered to delivered
could be connected to several activities such as picking items in warehouse,
package items, attach address label, give to post o ce, etc.
3.3</p>
      <p>Organizational Structure { Roles, Responsibilities and Actors
The third aspect is the organizational structure. Business roles with
responsibilities are added and connected to value chains of value transforming phenomena
in the model.</p>
      <p>Business roles can have two di erent kinds of responsibilities in relation to
the value chains. Firstly, a role can have the overall responsibility for a certain
phenomenon to progress to certain states. Secondly, for performing activities
moving the phenomenon closer to a following state in the value chain. Roles
can further be grouped into organizational structures representing e.g.
management structure, team structure etc., depending on phenomenon, activity and
organizational policies.</p>
      <p>Finally, actors can be connected to the roles. Actors are either individuals
e.g. sta members of the organization, customers, suppliers, etc. or machines
performing some activity. Machines could be mechanical machines or IT systems.
3.4</p>
      <p>Core Model Language (CML) { How to Describe BKM
Core BKMs are created and maintained in modelling tools allowing graphical
editing and navigation of the model. The tools are based on a declarative
language, Core Model Language (CML)</p>
      <p>CML formalism follows the basic principles of a strongly typed class based
object oriented (OO) language. However, CML is declarative and all data
processing is described with parameterless functions without side e ects (expressions).
I.e. the value of an attribute can only be set by the attribute's value function, not
by instructions in several di erent methods in the class. This means that each
calculated value of the system is clearly de ned in one place and one place only,
usually as a single line of declarative statement. This gives a great advantage
in terms of changeability, predictability and fault localisation. A change in one
expression will only a ect the values of one attribute or if a value of an attribute
is incorrect, the problem will be located in its value expression.</p>
      <p>In CML the OO class concept is called phenomenon.</p>
      <p>Data container: A phenomenon has attributes which when instantiated can
hold values.</p>
      <p>Generalization: A phenomenon can be part of a generalization { specialization
hierarchy.</p>
      <p>Encapsulation: Stronger than in classic OO since attribute values can only
be set by the attribute's value function, not by other components of the
phenomenon (class).</p>
      <p>Polymorphism: An attribute can have di erent de nitions in a generalization
{ specialization hierarchy.</p>
      <p>Additional structural components have been added to the traditional OO
concept, such as relation, view and change permissions, value chain, activity,
role and organizational entity.</p>
      <p>Examples of attribute and value declarations (identi ers in ' ')
phenomenon 'person'
attribute 'full name' value 'given name' + " " + 'family name'
phenomenon 'order'
attribute 'order total' value sum 'items' [not 'complimentary'].'price'
The language, as shown, de nes data ow graphs not execution order. It is
up to the underlying information engine to resolve execution order depending
on events in the data ow graphs.
3.5</p>
      <p>Tools for Enterprise Modeling
There are two tools which can be used for modeling as described in sections
3.1-3.4. They t in to the CoreEAF as shown in Fig. 4.</p>
      <p>Browser: WEB based environment for creating and viewing models.
Builder: Windows based environment for creating and viewing models.
4</p>
      <p>Modeling the ITbIS { Tools and Languages
Once the business model is created it is time to design an ITbIS that meet the
information management needs of the organization and its people.</p>
      <p>Designing the ITbIS essentially means modeling various views of the BKM.
For this purpose various tools and languages are used, which assumes and is
connected to the BKM. The design tools and languages architecture is shown in
Fig. 4.</p>
      <p>AppBuilder: Tool for building a component based graphical user interface,
connected to a model, i.e. an application.</p>
      <p>Reporter: User tool for creating reports with exible search and result criteria.
IDoc-L: XML based language to de ne document oriented interactive user
interface using MS-Word as platform.</p>
    </sec>
    <sec id="sec-2">
      <title>Language</title>
    </sec>
    <sec id="sec-3">
      <title>Tools</title>
    </sec>
    <sec id="sec-4">
      <title>Target Code</title>
      <p>Business Knowledge
Documentation and Governance</p>
      <sec id="sec-4-1">
        <title>Core Model Language</title>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Model Tools</title>
      <p>View Tools and Languages</p>
      <sec id="sec-5-1">
        <title>Browser</title>
      </sec>
      <sec id="sec-5-2">
        <title>Builder</title>
        <p>GNU C++</p>
      </sec>
      <sec id="sec-5-3">
        <title>Model</title>
      </sec>
      <sec id="sec-5-4">
        <title>Mgmt</title>
        <sec id="sec-5-4-1">
          <title>AppBuilder</title>
        </sec>
        <sec id="sec-5-4-2">
          <title>Reporter</title>
        </sec>
        <sec id="sec-5-4-3">
          <title>IDoc-L</title>
          <p>Doc-L</p>
        </sec>
        <sec id="sec-5-4-4">
          <title>CoreCom-L</title>
        </sec>
        <sec id="sec-5-4-5">
          <title>Process-L</title>
          <p>Scripts</p>
        </sec>
      </sec>
      <sec id="sec-5-5">
        <title>Views</title>
      </sec>
      <sec id="sec-5-6">
        <title>View Engines</title>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Runtime</title>
      <sec id="sec-6-1">
        <title>Information Engine</title>
        <sec id="sec-6-1-1">
          <title>Database Server</title>
          <p>Doc-L: XML based language to de ne paper documents from model data.
CoreCom-L: XML based language to de ne import/export of model data in
XML or other text formats.</p>
          <p>Process-L: XML based scripting language to monitor and modify data in the
model based system.</p>
          <p>Target Code The tool chain is based on C++ and executable on Linux and
MS-Window. The script languages are CoreEAF speci c.
5</p>
          <p>ITbIS Runtime Components
Information Engine: The Information Engine handles persistence, information
consistency, serving multiple users with real-time information while maintaining
transactional integrity over a distributed network of resources, information
security and a timeline for each phenomenon and its context. The information engine
is programmed in C++ and uses an SQL database engine for data storage.
Applications: Model, information engine, view engines and views created by
AppBuilder are compiled together into user applications. In an ITbIS there can
be several di erent applications, where all applications have the same model but
di erent views.</p>
          <p>Dynamic data input and output: There are four dynamic view engines active
in runtime. One view engine which interprets report de nitions and three view
engines which run XML de ned scripts one for each type of view tool: IDoc-L,
Doc-L, CoreCom-L.</p>
          <p>Management (Mgmt): Component for administrating users roles in the
organization and for authorization in the ITbIS.
6</p>
          <p>Current Status and Future Developments of CoreEAF
Ongoing research and publication on Model Driven ITbIS Design (MDID)
include a case study and subsequent thematic studies on FMV Core.</p>
          <p>A community for collaboration on knowledge development on MDID is
being formed with academia, industry and public sector. The community will also
provide knowledge resources and a web based platform for tools and
experimentation.</p>
          <p>Genicore is currently developing a new web based modeling tool with a
lightweight information engine and auto generated UI for MDID to enable
education and training.</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>L.</given-names>
            <surname>Laird</surname>
          </string-name>
          and
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Brennan : Software Measurement and Estimation A Practical Approach</article-title>
          . IEEE Computer Society / John Wiley &amp; Sons (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. The Standish Group:
          <article-title>The CHAOS Manifesto</article-title>
          . The Standish Group (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>McManus</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Wood-Harper</surname>
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Understanding the sources of information systems project failure</article-title>
          .
          <source>Management Services</source>
          ,
          <volume>51</volume>
          (Autumn),
          <volume>3843</volume>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Enquist</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Jonsson</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Sammanstallning av information om Model Based System Development (MBSD) for informationssystem typ a arssystem</article-title>
          .
          <source>Research report</source>
          ,
          <string-name>
            <surname>Genicore</surname>
            <given-names>AB</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gothenburg</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Pawson</surname>
          </string-name>
          , R. :
          <source>Naked Objects. Thesis</source>
          , University of Dublin, Trinity College (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Whittle</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hutchinson</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <string-name>
            <surname>Rounce eld</surname>
            <given-names>M. :</given-names>
          </string-name>
          <article-title>The State of Practice in Model-Driven Engineering</article-title>
          . Software, IEEE Volume:
          <volume>31</volume>
          , Issue: 3,
          <string-name>
            <surname>Page</surname>
          </string-name>
          79 -
          <fpage>85</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mintzberg</surname>
            <given-names>H.</given-names>
          </string-name>
          :
          <article-title>Structure in ves, designing e ective organizations. Englewood Cli s, N</article-title>
          .J.
          <string-name>
            <surname>Prentice-Hall</surname>
          </string-name>
          (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Langefors</surname>
            <given-names>B.</given-names>
          </string-name>
          : Essays on Infology.
          <source>Studentlitteratur: Lund</source>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Enquist</surname>
            <given-names>H. Makrygiannis N. : Understanding</given-names>
          </string-name>
          <string-name>
            <surname>Misunderstandings</surname>
          </string-name>
          .
          <source>HICSS</source>
          <volume>82480083</volume>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Hauser M.D.</surname>
          </string-name>
          ,
          <string-name>
            <surname>Chomsky</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fitch</surname>
            <given-names>W.T.</given-names>
          </string-name>
          :
          <article-title>The faculty of language: what is it, who has it, and how did it evolve</article-title>
          ?
          <source>Science</source>
          vol
          <volume>298</volume>
          p.
          <fpage>1569</fpage>
          -
          <lpage>79</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kohonen</surname>
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Associative and self organizing memory</article-title>
          . Springer-Verlag (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Lindskov Knudsen</surname>
          </string-name>
          J.,
          <string-name>
            <surname>Lofgren</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Lehrmann Madsen O.</given-names>
            ,
            <surname>Magnusson</surname>
          </string-name>
          <string-name>
            <given-names>B.</given-names>
            <surname>Et</surname>
          </string-name>
          . al. :
          <string-name>
            <surname>Object-Oriented Environments - The Mj</surname>
          </string-name>
          lner Approach. Prentice Hall (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Reenskaug</surname>
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>THING-MODEL-VIEW-EDITOR an Example from a planningsystem</article-title>
          .
          <source>Xerox PARC technical note.</source>
          (
          <year>1979</year>
          ) http://heim.i .uio.no/~trygver/1979/mvc-1/
          <fpage>1979</fpage>
          -05-MVC.pdf
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Vishal</surname>
            <given-names>Sikka</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Keynote</surname>
          </string-name>
          (
          <year>2008</year>
          ) http://scn.sap.com/docs/DOC-14735
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>