TDT4250 Modelling of information Systems Autumn Meta-modeling. John Krogstie IDI, NTNU and SINTEF

Size: px
Start display at page:

Download "TDT4250 Modelling of information Systems Autumn Meta-modeling. John Krogstie IDI, NTNU and SINTEF"

Transcription

1 Meta-modeling John Krogstie IDI, NTNU and SINTEF Meta.ppt 1 Overview of this week Why meta-modeling? Central concepts Domain-specific modeling using MetaEdit A19 Kelly and Pohjonen: "Domain-Specific Modeling for Cross-Platform Product Families" (Proc. ER'02) Meta-modelling in METIS Book chapter

2 System development Developer Analysis Traditional models Specification Design Coding Procurement Test Installation Maintenance Use Adaptation, integration User Needs Requirements Interactive models 3 Discussion task: What reasons are there for creating specialized modeling languages: (structure the discussion according to the language quality categories) Social actor explicit knowledge Modeller appropriateness Participant appropriateness Goals of modelling Organizational appropriateness Social actor interpretation Comprehensibility appropriateness Modeling domain Model externalization Language extension Domain appropriateness Technical actor interpretation Tool appropriateness 4 2 2

3 No language perspective covers all situations/domains in itself (from week 2) Different approaches for combining different perspectives 1 Use many different languages in parallel without explicit integration (early CASE-tools, Visio) 2 Integrate existing languages (UML, EEML) 3 Develop completely new approaches (i*) 4 Develop framework to be able to create and adapt languages on an as-needed basis (MetaEdit, METIS) 5 Central concepts (also discussed in lecture 2) Meta-levels: According to the classification abstraction-mechanisms Meta-levels used in modeling Instance: John Krogstie as lecturer in TDT4250 in 2006 Model: Lecturer in course Meta-model: Entity class, relationship class Meta-meta-model: Node, edge Language-model vs. meta-model Semantic description vs. basis for model-repository Conceptual vs. logical vs. physical language-model 6 3 3

4 Conceptual metamodel of main parts: Goal modelling and process modelling 7 Example of Logical metamodel (of DIAMODL) 8 4 4

5 Languages for language and meta-modeling Typically based on a structural perspective ER or similar UML (class diagrams) GOPRR (Graph Object Property Role Relationship) Rule languages as an addition Limited use of behavioral models for languages with an operational semantics (state transition diagrams/sequence diagrams) 9 Domain-specific modeling using MetaEdit Based on a presentation by Steven Kelly MetaCase Consulting Meta.ppt

6 Contents Introduction What is domain-specific modeling (DSM)? Benefits of DSM DSM case studies How to implement domain-specific methods Demonstration of examples Summary 11 What is domain-specific modeling Captures domain knowledge (as opposed to code) Uses domain abstractions Applies domain concepts and rules as modeling constructs Allows developers to design products with domain terms Apply familiar terminology Solve the RIGHT problems! Solve problems only ONCE!

7 Main benefits of DSM Fundamental productivity improvements (3-10 times) Shorter intervals Lower costs Fewer people needed Faster change responsiveness Manage changes in domain instead of code Leverage expertise inside the team Put your expert s knowledge in a tool Hide domain complexity DSM includes domain rules 13 DSM Case Study: Nokia DSM and related code generators for mobile phone* Order of magnitude productivity gains (10x) "A module that was expected to take 2 weeks... took 1 day from the start of the design to the finished product" Focus on designs rather than code Domain-oriented method allows developers to concentrate on the required functionality Training time was reduced significantly Earlier it took 6 months for a new worker to become productive. Now it takes 2 weeks * MetaCase, Nokia case study,

8 DSM Case Study: Lucent 5ESS Phone Switch* Several DSMs One DSM (called RAD): specifying configuration control units and relationships between them Translation to state machines Translation to C Reported productivity improvements of about 3-10 times From several cases From several DSMs * D. Weiss et al, Software Product-Line Engineering, Addison-Wesley 15 DSM Case Study: USAF Development of message translation and validation system (MTV)* Declarative domain-specific language + code generators and customization of components Compared DSM against component-based development: DSM is 3 times faster than code components DSM leads to fewer errors: about 50% less DSM gives superior flexibility in handling a greater range of specifications than components * Kieburtz et al., A Software Engineering Experiment in Software Component Generation, ICSE

9 How to implement DSM Domain Idea Done a few times before! Finished Product Expert (few) Domain metamodel Code generation Component library Normal (many) Easy! Domain Model Generate calls to components Components 17 How to implement DSM, 2 Investment: Define metamodel for the domain About 1-2 man-weeks Build tool support 1 man-day for building a modeling tool Feedback Build metamodel DSM and tools Use DSM Payback: Apply in software production Applications

10 Steps for implementing DSM Rules Generators Concepts Symbols Design domain concepts Map modeling concepts accurately to domain concepts Concentrate on semantics! Add extensions for software production later Keep in mind the end-user (user-friendliness of the DSM)

11 Metamodelling concepts of GOPRR Concepts Graph Object Property Role Relationship Rules, e.g. Max 1 Min 1 Unique, etc Links between models Reuse rules 21 Model architecture (By ISO & OMG) GOPRR Metametamodel Graph Object Property Relationship Role Domain language Concepts Rules Symbols Reports Metamodel Model Button InstanceOf InstanceOf Alarm InstanceOf Down Wake Sets Product specifications System in operation InstanceOf Down button pressed

12 2. Define domain rules Define semantics and rules as they exist in the domain Examples of rule types: Bindings between concepts Layering abstractions Reusing rules etc Draw symbols (notation) Define symbols illustrating as well as possible the corresponding domain concepts natural visualization e.g end-users notation, customers notation Notations of diagrams, matrixes, tables, forms, text etc

13 4. Implement generators The cost of developing the code generation is defrayed over a few users Write report definitions based on domain concepts: Component use Code generation Configuration data Review etc. 25 Apply in software production Develop applications (domain instances) using the DSM infrastructure Prototype your design; refine and iterate

14 Example: from coding to modeling 27 Defining metamodel

15 Modeling with domain concepts 29 Summary Domain-specific modeling radically improves productivity (5-10x) DSM leverages expert developers abilities to empower other developers in a team MetaCASE tools provide a cost-effective way to create DSM infrastructure Building DSM is great fun for experts (but is also hard) 10x

16 Other approaches/environments applying metamodelling on this level Microsoft Visual Studio Eclipse Different UML tools (often limited to UML profiles) 31 Krogstie, Dalberg and Jensen: "Using a Model uality Framework for Requirements Specification of an Enterprise Modeling Languages" orginally in Advanced Topics in Database Research - Vol. 4, (Idea Group 2005) Meta.ppt

17 Overview of presentation Brief description of the problem area (Enterprise modeling) Brief recap of model quality framework Description of case-study Description of approach Result 1: Specialized modeling language Result 2: Evaluation of modeling tool Conclusion and further work 33 Usage areas of enterprise modelling Human-sense making and communication Computer-assisted analysis and simulation Business process management Model deployment and activation. Models can be activated in three ways: Through people guided by process 'maps', where the system offers no active support or enforcement, Automatically, where the system plays an active role in enforcing the 'script', as in most workflow engines. Interactively, where the computer and the users co-operate in interpreting the model in the situations that arise. The computer makes decisions about prescribed fragments, while the users resolve ambiguities. As basis and context for a traditional system development project Difficult to find languages to support all these usage patterns at the same time

18 Overview of quality framework Social actor explicit knowledge Perceived semantic Social Goals of modelling Organizational Pragmatic (learning) Physical Social actor interpretation Modeling domain Pragmatic (action) Semantic Model externalization Pragmatic (human understanding) Syntactic Language extension Empirical Technical actor interpretation Pragmatic (tool understanding) 35 Description of case-study Case organization: World wide organization Modeling is widely used Case project: Units in the relevant BA that have developed their own work processes. Ongoing project for developing harmonized work processes to improve efficiency. Implementation of a new software application to support the processes. Process models used actively for different purposes. Different stakeholder groups needed different models. Models developed in a mix of IDEF0 (in Visio), Word and Excel, not possible to keep updated Need for new modeling approach (language, tool and methodology)

19 Main past and current modelling tasks 37 Structure of overall approach

20 Goals of modeling (based on first looking at the goals of the projects) The harmonized work processes should be documented through the models. The models should help sharing best practice between different units The models should teach the developers about the domain. The models should define the scope of the software application. The models should help analyze and harmonize the current work processes. The models should be used as a procedural tool in everyday work. The models should support the use of the software application. 39 Identified modeling tasks and roles Modeling task Model developers Model interpreter 1 Visualize processes for communication 1.1 Model harmonized process Process modeler Process owner Worker, Tool user Tool super user Process owner Software designer 1.2 Model local process for comparison Process owner, Process developer Local worker Process owner Local user 2 Analyze processes for improvements Corporate process owner Local operating manager Process owner 3. Manual Activation of model 3.1 Learning the job Doers Worker training 3.2 Assisting job performance Doers a) workers b) managers c) planners d) admin. 3.3 Learning the tool 3.4 Assistance in the use of the tool Tool super user Tool super user Tool User 4. Use model as basis for tool development 40 Process modeler, Software designer 20 20

21 Identified modeling tasks and roles Modeling task Model developers Model interpreter 1 Visualize processes for communication 1.1 Model harmonized process Process modeler Process owner Worker, Tool user Tool super user Process owner Software designer 1.2 Model local process for comparison Process owner, Process developer Local worker Process owner Local user 2 Analyze processes for improvements Corporate process owner Local operating manager Process owner 3. Manual Activation of model 3.1 Learning the job Doers Worker training 3.2 Assisting job performance Doers a) workers b) managers c) planners d) admin. 3.3 Learning the tool 3.4 Assistance in the use of the tool Tool super user Tool super user Tool User 4. Use model as basis for tool development 41 Process modeler, Software designer Development of modeling language Main candidate: METIS and METIS ITM (IT-management, predecessor to MEAF) company standard (other options; Continue with Visio, UML, METIS ABM, EEML) Remodelled the IDEF0 models from Visio, including information from worddocuments and Excel spreadsheets Clarified requirements to new language based on the prioritized areas Included representatives of main types of model developers and model interpreters Implemented new modelling language Reduced the number of sub-languages (from 27 to 4 domains) Reduced the number of concepts within each of the 4 sub-languages Added some new relationships and properties (some of which where derived) Updated visual appearance on some symbols Tried to minimize difference from METIS ITM to ensure model interoperability within the organization Iterations of new versions of the language and practical use of it Analytical evaluation based on quality framework (language quality) Empirical framework through modelling addittional areas of the business CR list maintained as new needs and wishes arose among the users Recast the overall process model in this language Developed model views to suit the needs of the different stakeholders Language grammar management

22 Language quality evaluation Domain appropriateness. The language has been developed exactly to cater for the domain of use, and to exclude concepts not in the domain. The domain appropriateness has been validated through remodeling the existing models, and further developing these based on current needs in the organization. Extensions to the language are easy to do if new needs arise in the future. Participant appropriateness. The language was based on the concepts already in use in the organization, and should thus be easy to learn. In practice it turned out that although some people in the organization was used to think in this way, for others there was a learning curve Modeler appropriateness. As indicated above the language was made using familiar concepts. In addition some of the graphical notation was made specifically to fit the current organization. 43 Language quality evaluation - cont Comprehensibility appropriateness. The language has been made with quite few modeling concepts. More expressiveness has been put into relationship classes and object properties. Using traditional complexity metrics, this is not necessarily a less complex language. On the other hand, due to the specific functionalities of METIS, the complexity of many relationship classes is easier to handle, Tool appropriateness. The language had a formal defined syntax, and syntax checks could thus be provided by the modeling tool. Since the need for model analysis and model activation was not focused on in the first version of the language, no formal semantics is provided for the language. Organizational appropriateness. Although the language is a further development of a language used in other parts of the organization, these additions is done in such a way as to make it possible to use the models written in this language by others in the organization using the other language

23 Physical quality Model repository with versioning: METIS team server includes this. Possible to see differences between versions of models: Only indirectly supported in METIS team server. Models available for annotation by many: Possible using the METIS annotator Models available for browsing on web by all users: Possible using the METIS model browser (or alternatively by creating web-reports). On the other hand, the versions of this was not certified to be included within the intranet of the organization As the requirements on modeling language above illustrates, it is necessary that the tool provide meta-modeling facilities, both to be able to choose only limited parts of a language (to not be able to model things that are not included in the domain), and to add additional object types (concepts), relationship types, and properties to be able to model what actual is in the domain English (single language) interface to models was regarded as sufficient There were no requirements for import/export of models to other tools. 45 Empirical quality Possible to differentiate different types of relationships (with text, color etc): METIS can provide different colors, text etc on the relationships Role (swimlane-view) available on process model: Included in newest version of METIS, although not in the same way as currently provided (excel spreadsheets)

24 Syntactic quality Support syntax check of the model: METIS enable both the possibility of syntax error prevention and syntax error detection. 47 Semantic quality Support consistency checking when doing changes to models: METIS have some possibilities to support validation, although limited possibilities to include new rules of consistency Support constructivity (e.g. to be able to model a detailed process, and then get the outer properties of a collection of detailed processes automatically derived). Minimally to be able to check for constructivity in the decomposition structures: Partly supported in the IDEF-0 implementation of METIS (part of ITM)

25 Pragmatic quality Views according to user group Model views: Only the relevant parts of the overall model is shown, based on model-based or language based criteria: METIS support this very well, and model views can be made persistent. On the other hand, it was very difficult to use this functionality Language view: Only relevant parts of the modeling language used are available for a given task: METIS can support this using the concept of viewstyles. Scenario-views: Since the models are on a type level, it is difficult to support scenario-views with the current modeling language. uite large changes need to be done to also support models on an instance level, but it is possible to implement. It should be possible to look at the model at different levels of abstraction: METIS support this well through different types of hierarchical modeling constructs 49 Social quality Support differentiating between harmonized and local process: METIS can support this, e.g. by having specific properties indicating if a process is global or local. Support the modeling of exceptions: METIS can support this, but the chosen modeling language then need to be further extended. Support argumentation-process relating to getting agreement on new versions of the harmonized process. Not specifically supported

26 Organizational quality Tool should be aligned with company standard: METIS was already chosen by another part of the company. Cost/benefit of tool should be favorable: METIS is a fairly expensive tools, thus this was an issue all along, since it is often difficult to quantify the value of introducing a new technique. Need available training of users to be able to get up to speed locally: METIS is delivered including both canned and human provided courses on different levels. Tool should be available for the next five years: METIS has a substantial user base, and has been around in different version for the last 10 years. 51 Discussion What are the disadvantages of using a metamodelling environment (said differently, what is the advantages of using a tool supporting a traditional modeling language such as UML)?

27 Physical meta-modeling in METIS 53 METIS meta-meta model

28 Summary In enterprise modeling one often needs to adhere to a number of different modeling tasks and user groups with very different needs and familiarity with modeling A need to define specialized modeling languages And also specialized views to the model Contemporary tools (for instance METIS) makes this quite easy to do (as long as you stick to the meta-metamodel of the tool) but should be supported by a method Interoperability issues Start of a method based on the parts of a generic framework for quality of models presented and exemplified through a case study Plan to gather additional experiences through supporting other modeling tasks and towards other environments (e.g. in the development of UML-profiles) 55 Next weeks 2 next weeks: User interface modelling Last week open as for contents Overview of main parts of the course Going through some previous exams Specific topics? Course evaluation

29 Meta-modeling John Krogstie IDI, NTNU and SINTEF Meta.ppt