U.S. patent application number 14/842981 was filed with the patent office on 2015-12-31 for methods for managing applications using semantic modeling and tagging and devices thereof.
The applicant listed for this patent is PTC Inc.. Invention is credited to Rick Bullotta, Lawrence Fan, Brandon Hahr, Philip J. Huber, Samuel T. Malapas, John Schaefer.
Application Number | 20150378721 14/842981 |
Document ID | / |
Family ID | 51534628 |
Filed Date | 2015-12-31 |
United States Patent
Application |
20150378721 |
Kind Code |
A1 |
Schaefer; John ; et
al. |
December 31, 2015 |
METHODS FOR MANAGING APPLICATIONS USING SEMANTIC MODELING AND
TAGGING AND DEVICES THEREOF
Abstract
The present disclosure provides a system and method for managing
data using semantic tags. The method may include providing a data
model corresponding to a first set of tangible objects where the
data model includes a first template class having both properties
describing the set of tangible object and a set of semantic tags
corresponding to the properties. The method may include receiving a
class definition for a second template class for a second set of
tangible objects where the second template class inherits, by the
class definition, the properties and the sematic tags for the
second set of tangible objects.
Inventors: |
Schaefer; John; (Ambler,
PA) ; Bullotta; Rick; (Phoenixville, PA) ;
Fan; Lawrence; (Irvine, CA) ; Hahr; Brandon;
(Irvine, CA) ; Huber; Philip J.; (Newport Beach,
CA) ; Malapas; Samuel T.; (Irvine, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
PTC Inc. |
Needham |
MA |
US |
|
|
Family ID: |
51534628 |
Appl. No.: |
14/842981 |
Filed: |
September 2, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14212620 |
Mar 14, 2014 |
9158532 |
|
|
14842981 |
|
|
|
|
61793627 |
Mar 15, 2013 |
|
|
|
Current U.S.
Class: |
717/105 ;
717/104 |
Current CPC
Class: |
G06F 40/30 20200101;
G06F 16/374 20190101; G06F 8/35 20130101; G06F 8/36 20130101; G06F
8/70 20130101; G06F 8/10 20130101; G06F 8/73 20130101 |
International
Class: |
G06F 9/44 20060101
G06F009/44 |
Claims
1-18. (canceled)
19. A system for providing application management using semantic
modeling and tagging, the system comprising: at least one memory
operable to store a vocabulary database; and a processor
communicatively coupled to the at least one memory, to one or more
tangible objects, and to a plurality of client computing devices,
the processor being operable to: receive, from one of the plurality
of client computing devices, over a communications network, a
request to develop a model for managing data associated with the
one or more tangible objects; receive, from the one of the
plurality of client computing devices, over the communications
network, information associated with the request to develop the
model; define one or more templates corresponding to the model
identified in the request based on the information associated with
the request, wherein each of the one or more templates comprises
one or more property fields, and wherein each of the one or more
templates is associated with one of the one or more tangible
objects in the model; define one or more semantic tags for each of
the one or more templates, the one or more semantic tags being
defined using the vocabulary database; store the one or more
templates in the at least one memory; create, for each of the one
or more tangible objects, a corresponding template instance using
the one or more templates, wherein each template instance inherits
semantic tags and property fields from the corresponding one or
more templates, and wherein the property fields of each template
instance are assigned property values of the corresponding one or
more tangible objects.
20. The system of claim 19, wherein the vocabulary database
comprises terms defined in the information associated with the
request.
21. The system of claim 20, wherein the information associated with
the request includes at least one of first level information and
second level information, wherein the first level information
includes geographic information associated with the model, and
wherein the second level information includes information
associated with each of the one or more tangible objects in the
model.
22. The system of claim 20, wherein the processor is further
operable to generate a graphical representation of the one or more
templates corresponding to the model, and wherein the graphical
representation comprises one or more of (i) the semantic tags of
each of the one or more templates, and (ii) the relationships
between the one or more templates.
23. The system of claim 19, wherein the property values are
retrieved from the one or more tangible objects.
24. The system of claim 19, wherein the processor is further
operable to: receive, from one of the plurality of client computing
devices, a search request including at least one search tag; search
among the one or more templates stored in the memory for a template
associated with a semantic tag matching the search tag; and
transmit search results to the client computing device, the search
results including results of the search performed using the search
tag.
25. The system of claim 19, wherein the processor is further
operable to transmit the one or more templates between two or more
of (i) a development system, (ii) a testing system, and (iii) a
product system, using the semantic tags.
26. A method for providing application management using semantic
modeling and tagging comprising: receiving, by an application
manager computing device, from one of a plurality of client
computing devices, over a communications network, a request to
develop a model for managing data associated with the one or more
tangible objects, wherein the application manager computing device
is communicatively coupled to one or more tangible objects and to
the plurality of client computing devices receiving, by the
application manager computing device, from the one of the plurality
of client computing devices, over the communications network,
information associated with the request to develop the model;
defining, by the application manager computing device, one or more
templates corresponding to the model identified in the request
based on the information associated with the request, wherein each
of the one or more templates comprises one or more property fields,
and wherein each of the one or more templates is associated with
one of the one or more tangible objects in the model; defining, by
the application manager computing device, one or more semantic tags
for each of the one or more templates, the one or more semantic
tags being defined using a vocabulary database stored in a memory
of the application manager computing device; storing, by the
application manager computing device, the one or more templates in
the at least one memory; creating, by the application manager
computing device, for each of the one or more tangible objects, a
corresponding template instance using the one or more templates,
wherein each template instance inherits semantic tags and property
fields from the corresponding one or more templates, and wherein
the property fields of each template instance are assigned property
values of the corresponding one or more tangible objects.
27. The method of claim 26, wherein the vocabulary database
comprises terms defined in the information associated with the
request.
28. The method of claim 27, wherein the information associated with
the request includes at least one of first level information and
second level information, wherein the first level information
includes geographic information associated with the model, and
wherein the second level information includes information
associated with each of the one or more tangible objects in the
model.
29. The method of claim 27, wherein the processor is further
operable to generate a graphical representation of the one or more
templates corresponding to the model, and wherein the graphical
representation comprises one or more of (i) the semantic tags of
each of the one or more templates, and (ii) the relationships
between the one or more templates.
30. The method of claim 26, wherein the property values are
retrieved from the one or more tangible objects.
31. The method of claim 26, further comprising: receiving, by the
application manager computing device, from one of the plurality of
client computing devices, a search request including at least one
search tag; searching, by the application manager computing device,
among the one or more templates stored in the memory for a template
associated with a semantic tag matching the search tag; and
transmitting, by the application manager computing device, search
results to the client computing device, the search results
including results of the search performed using the search tag.
32. The method of claim 26, further comprising transmitting, by the
application manager computing device, the one or more templates
between two or more of (i) a development system, (ii) a testing
system, and (iii) a product system, using the semantic tags.
Description
RELATED APPLICATIONS
[0001] This application claims priority to and the benefit of U.S.
Provisional Patent Application No. 61/793,627, filed Mar. 15, 2013,
the text of which is incorporated herein by reference in its
entirety.
BACKGROUND
[0002] The process of software development involves research, new
development, prototyping, modification and reuse. Additionally,
developing dynamic applications requires the content developer to
organize, manage and deploy a large quantity of content artifacts.
In order to accurately develop the content artifacts, the content
developer must create a logical model that reflects the physical
world. That model is then broken down into common objects in order
to provide the highest level of re-usability of artifacts and the
lowest cost of maintaining the application(s). As the complexity of
the application increases, the number of the common objects also
increases thereby making the process of tracking and maintaining
these common objects important.
[0003] Currently, existing technologies typically store these
common objects at many different memory locations. As a result, a
content developer has to manually search through a large number of
locations for content artifacts to identify common objects relevant
for the development of the application. This manual search process
is inefficient, time consuming and tedious.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] FIG. 1 illustrates an exemplary environment with an
application manager computing device that manages application using
semantic modeling and tagging.
[0005] FIG. 2 illustrates an application manager computing
device.
[0006] FIG. 3 illustrates exemplary methods for managing
applications using semantic modeling and tagging.
DETAILED DESCRIPTION
[0007] An exemplary environment with an application manager
computing device that manages application using semantic modeling
and tagging is illustrated in FIG. 1. In this particular example,
the environment includes the application manager computing device,
a plurality of client computing devices, a plurality of servers
which are all coupled together by one or more communication
networks, although this environment can include other numbers and
types of systems, devices, components, and elements in other
configurations.
[0008] Referring to FIGS. 1 and 2, the application manager
computing device provides a number of functions including managing
application using semantic modeling and tagging, although other
types of numbers of computing devices with execute other types and
numbers of functions can be used. In this particular example, the
application manager computing device includes a central processing
unit (CPU) or processor, a memory, an input device, a display
device, and a network interface which are coupled together by a bus
or other link, although other numbers and types of systems,
devices, components, and elements in other configurations and
locations can be used.
[0009] The processor in the application manager computing device
executes a program of stored instructions for one or more aspects
of the present technology as described and illustrated by way of
the examples herein, although other types and numbers of processing
devices and logic could be used and the processor could execute
other numbers and types of programmed instructions.
[0010] The memory in the application manager computing device
stores these programmed instructions for one or more aspects of the
present technology is configured to execute these instructions as
described and illustrated herein, although some or all of the
programmed instructions could be stored and executed or configured
for execution elsewhere. A variety of different types of memory
storage devices, such as a random access memory (RAM) or a read
only memory (ROM) in the system or a floppy disk, hard disk, CD
ROM, DVD ROM, or other computer readable medium which is read from
and written to by a magnetic, optical, or other reading and writing
system that is coupled to the processor in the application manager
computing device, can be used for the memory in the application
manager computing device.
[0011] The input device of the application manager computing device
enables a user, such as an administrator, to interact with the
application manager computing device, such as to input data and/or
to configure, program and/or operate it by way of example only. By
way of example only, the input devices may include one or more of a
touch screen, keyboard and/or a computer, although other types and
numbers of input devices could be used.
[0012] The display device of the application manager computing
device enables a user, such as an administrator, to view data
and/or other information by way of example only. By way of example
only, the display device may include one or more of a CRT, LED
monitor, or LCD monitor, although other types and numbers of
display devices could be used.
[0013] The network interface device in the application manager
computing device is used to operatively couple and communicate
between the application manager computing device and the plurality
of client computing devices, the plurality of servers over one or
more the communications networks, although other types and numbers
of communication networks or systems with other types and numbers
of connections and configurations can be used. By way of example
only, the one or more the communications networks can use TCP/IP
over Ethernet and industry-standard protocols, including NFS, CIFS,
SOAP, XML, LDAP, and SNMP, although other types and numbers of
communication networks, such as a direct connection, a local area
network, a wide area network, modems and phone lines, e-mail, and
wireless communication technology, each having their own
communications protocols, can be used.
[0014] In this particular example, each of the client computing
devices and the plurality of servers includes a central processing
unit (CPU) or processor, a memory, input/display device interface
and a network interface or I/O system, which are coupled together
by a bus or other link, although other numbers and types of
systems, devices, components, and elements in other configurations
can be used.
[0015] Each of the client computing devices may utilize the
application manager computing device to identify and obtain
templates and artifacts for application development, by way of
example only, although each of the client computing devices may
execute other types and numbers of operations and functions and
other types a numbers of computing devices might be coupled to
interact with the application manager computing device.
[0016] Each of the servers may process requests received from
requesting client computing devices via communication networks
according to the HTTP-based application RFC protocol or the CIFS or
NFS protocol for example. Various network processing applications,
such as CIFS applications, NFS applications, HTTP Web Server
applications, and/or FTP applications, may be operating on the
servers and transmitting data (e.g., files, Web pages) to the
application manager computing device in response to requests from
the client computing devices. Each of the servers may provide data
or receive data in response to requests directed toward the
respective applications on the servers from the client computing
devices or the application manager computing device. Each of the
servers may be hardware or software or may represent a system with
multiple servers in a server pool, which may include internal or
external networks. In this example the servers may be any version
of Microsoft.RTM. IIS servers or Apache.RTM. servers, although
other types of servers may be used.
[0017] Although examples of the application manager computing
device, the client computing devices and plurality of servers are
illustrated and described herein, each of these devices and systems
can be implemented on any suitable computer system or computing
device. It is to be understood that the devices and systems of the
examples described herein are for exemplary purposes, as many
variations of the specific hardware and software used to implement
the examples are possible, as will be appreciated by those skilled
in the relevant art(s).
[0018] Furthermore, each of the systems of the examples may be
conveniently implemented using one or more general purpose computer
systems, microprocessors, digital signal processors, and
micro-controllers, programmed according to the teachings of the
examples, as described and illustrated herein, and as will be
appreciated by those ordinary skill in the art.
[0019] In addition, two or more computing devices or systems can be
substituted for any one of the systems in any embodiment of the
examples. Accordingly, principles and advantages of distributed
processing, such as redundancy and replication also can be
implemented, as desired, to increase the robustness and performance
of the devices and systems of the examples. The examples may also
be implemented on computer system or systems that extend across any
suitable network using any suitable interface mechanisms and
communications technologies, including by way of example only
telecommunications in any suitable form (e.g., voice and modem),
wireless communications media, wireless communications networks,
cellular communications networks, 3G communications networks,
Public Switched Telephone Network (PSTNs), Packet Data Networks
(PDNs), the Internet, intranets, and combinations thereof.
[0020] The examples may also be embodied as a non-transitory
computer readable medium having instructions stored thereon for one
or more aspects of the present technology as described and
illustrated by way of the examples herein, as described herein,
which when executed by a processor, cause the processor to carry
out the steps necessary to implement the methods of the examples,
as described and illustrated herein. Exemplary methods for managing
applications using semantic modeling and tagging will now be
described below with reference to FIGS. 1-3.
[0021] An exemplary process beings with the application manager
computing device receiving a request to develop templates and
artifacts for a model from a client computing device, although the
application manager computing device may receive any other types or
requests from any other devices. By way of example only, the
application manager computing device receives a request to develop
a model to track and manage delivery of food products to retail
outlets in a geographic area to determine the return on investment
and the selected geographic area is Philadelphia.
[0022] Next, the application manager computing device receives
information associated with the request to develop a model from the
requesting client computing device. In this example, the
application manager computing device receives first level
information associated with the geographic region, such as the
total number of delivery trucks in this region, number of
manufacturing plants and number of warehouses from which the food
products are delivered to the retail locations in this particular
example. Additionally, the application manager computing device
also receives second level information, such as driver information
of each truck, capacity of load for each truck and temperature
sensor and humidity sensor values for refrigerated trucks in this
particular example.
[0023] Using the received first level and the second level
information, the application manager computing device defines a
plurality of templates for the requested model, although the
application manager computing device can develop, define, and/or
obtain any amounts of other types of artifacts associated with
developing the requested model. In this example, the application
manager computing device defines a Base_Truck template with
properties such as capacity of the truck, driver of the truck,
inventory and location. Additionally, the application manager
computing device defines another template for Refrigerated_Truck
with properties including capacity of the truck, driver of the
truck, inventory, location and temperature and humidity sensor
values.
[0024] Upon defining a plurality of templates, the application
manager computing device organizes the templates and any other
developed artifacts by defining semantic tags for each of the
created template and artifacts. By way of example only, the
application manager computing device defines the semantic tags
using an application vocabulary database. The application
vocabulary in this example relates to using terms defined in the
information to define semantic tags. For purpose of further
illustration in this example, the application manager computing
device defines tags such as Truck_Tracking and Region to each of
the defined templates and artifacts.
[0025] Additionally, if the application manager computing device
further defines another template Delivery_Truck from previously
created template Base_Truck, the application manager computing
device will automatically applies all the properties defined in
template Base_Truck including the semantic tags associated to the
Base_Truck to the recently created template Delivery_Truck.
Additionally, if the application manager computing device further
defines another template Refrigerated_Delivery_Truck using both
Base_Truck and Refrigerated_Truck, the application manager
computing device automatically applies all the properties defined
in Base_Truck and Refrigerated_Truck and assigns the tags
associated with both Base_Truck and Refrigerated_Truck to the
recently created template Refrigerated_Delivery_Truck.
[0026] Further, the application manager computing device stores
each of the tagged templates and artifacts within the memory of the
application manager computing device, although the application
manager computing device can store the templates and artifacts at
other locations.
[0027] Once the template artifacts have been defined to meet the
requirements of the solution, specific instances of templates are
created. In this example, each specific delivery truck in the
Philadelphia region is instantiated from one of the previously
defined templates, and the application manager computing device
will automatically apply all the properties and characteristics
defined in the template that is defined for that instance. Semantic
tags describing the specific instances in the model are also
applied.
[0028] Next, the application manager computing device sends out a
notification to the requesting client computing device indicating
completion of defining and organizing the templates and artifacts
to the requesting client computing device.
[0029] When the application manager computing device receives
another request from the requesting client computing device to
provide all the defined templates and artifacts associated with the
requested model, the application manager computing device provides
a graphical representation of the organized templates and the
artifacts to the requesting client computing device, although the
application manager computing device can provide the templates and
the artifacts in any other format. The graphical representation
provided by the application manager computing device would include
each of the templates and artifacts with their associated tags. In
this example, the templates Base_Truck and Refrigerated_Truck would
be graphically represented with tags Truck_Tracking and
Region-Philly. Additionally, the graphical representation would
include the interconnection between each of the template and
artifact and accordingly in this example, the graphical
representation would indicate that the Delivery_Truck template was
inherited from Base_Truck template and Refrigerated_Delivery_Truck
template was inherited from Base_Truck and Refrigerated_Truck
templates.
[0030] The application manager computing device also may provide an
option for searching for additional information to the requesting
client computing device using the tags. In this particular example,
the application manager computing device could provide an option of
searching for all artifacts and templates with tag Truck_Tracking
Upon receiving the confirmation to search from the client computing
device, the application manager computing device searches for all
templates and artifacts tagged as Truck_Tracking present within the
memory and also the servers and provides the searched results to
the requesting client computing device. Additionally, the
application manager computing device assists the requesting client
computing device to select any of the search results, modify the
select search result and finally store the modified content.
[0031] The application manager computing device also may provide an
option for searching for additional information to the requesting
client computing device using the tags, and transporting the
relevant content artifacts from one system to another. A typical
example is to move the content artifacts for a new application from
a development system to a testing system, and finally to a
production system using the previously defined semantic tags.
[0032] By providing the graphical representation of the templates
and artifacts, the technology disclosed provides advantages of
assisting the user of the client computing device to understand the
created model quickly and effectively. Additionally, by organizing
the templates and artifacts using tags, the user of the client
computing device can quickly search for any additional information
using the tags. Further, by organizing the created artifacts and
templates, any new user or developer of the requesting client
computing device will be able to quickly understand the model
without manually searching for each of the template and artifacts
and then trying to understand the connection between them.
[0033] Having thus described the basic concept of the invention, it
will be rather apparent to those skilled in the art that the
foregoing detailed disclosure is intended to be presented by way of
example only, and is not limiting. Various alterations,
improvements, and modifications will occur and are intended to
those skilled in the art, though not expressly stated herein. These
alterations, improvements, and modifications are intended to be
suggested hereby, and are within the spirit and scope of the
invention. Additionally, the recited order of processing elements
or sequences, or the use of numbers, letters, or other designations
therefore, is not intended to limit the claimed processes to any
order except as may be specified in the claims. Accordingly, the
invention is limited only by the following claims and equivalents
thereto.
* * * * *